azure - 无法运行 Arm 模板来重新部署资源
问题描述
我有下面的 ARM 模板,它是从我的灾难恢复源组中的现有资源生成的
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"sites_DisasterRecoveryWeb_name": {
"defaultValue": "DisasterRecoveryWeb",
"type": "String"
},
"serverfarms_applan_devuk_rockit_externalid": {
"defaultValue": "/subscriptions ......",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "[parameters('sites_DisasterRecoveryWeb_name')]",
"location": "UK West",
"tags": {
"hidden-related:/subscriptions.....": "empty"
},
"kind": "app",
"identity": {
"principalId": null,
"tenantId": null,
"type": "SystemAssigned"
},
"properties": {
"enabled": true,
"hostNameSslStates": [
{
"name": "[concat(parameters('sites_DisasterRecoveryWeb_name'),'.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Standard"
},
{
"name": "[concat(parameters('sites_DisasterRecoveryWeb_name'),'.scm.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Repository"
}
],
"serverFarmId": "[parameters('serverfarms_applan_devuk_rockit_externalid')]",
"reserved": false,
"isXenon": false,
"hyperV": false,
"siteConfig": {},
"scmSiteAlsoStopped": false,
"clientAffinityEnabled": true,
"clientCertEnabled": false,
"hostNamesDisabled": false,
"containerSize": 0,
"dailyMemoryTimeQuota": 0,
"httpsOnly": true,
"redundancyMode": "None"
}
},
{
"type": "Microsoft.Web/sites/config",
"apiVersion": "2018-11-01",
"name": "[concat(parameters('sites_DisasterRecoveryWeb_name'), '/web')]",
"location": "UK West",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_DisasterRecoveryWeb_name'))]"
],
"tags": {
"hidden-related:......": "empty"
},
"properties": {
"numberOfWorkers": 1,
"defaultDocuments": [
"Default.htm",
"Default.html",
"Default.asp",
"index.htm",
"index.html",
"iisstart.htm",
"default.aspx",
"index.php",
"hostingstart.html"
],
"netFrameworkVersion": "v4.0",
"phpVersion": "5.6",
"requestTracingEnabled": false,
"remoteDebuggingEnabled": false,
"remoteDebuggingVersion": "VS2019",
"httpLoggingEnabled": false,
"logsDirectorySizeLimit": 35,
"detailedErrorLoggingEnabled": false,
"publishingUsername": "$DisasterRecoveryWeb",
"azureStorageAccounts": {},
"scmType": "None",
"use32BitWorkerProcess": true,
"webSocketsEnabled": false,
"alwaysOn": false,
"managedPipelineMode": "Integrated",
"virtualApplications": [
{
"virtualPath": "/",
"physicalPath": "site\\wwwroot",
"preloadEnabled": false
}
],
"loadBalancing": "LeastRequests",
"experiments": {
"rampUpRules": []
},
"autoHealEnabled": false,
"localMySqlEnabled": false,
"managedServiceIdentityId": 146207,
"ipSecurityRestrictions": [
{
"ipAddress": "Any",
"action": "Allow",
"priority": 1,
"name": "Allow all",
"description": "Allow all access"
}
],
"scmIpSecurityRestrictions": [
{
"ipAddress": "Any",
"action": "Allow",
"priority": 1,
"name": "Allow all",
"description": "Allow all access"
}
],
"scmIpSecurityRestrictionsUseMain": false,
"http20Enabled": false,
"minTlsVersion": "1.2",
"ftpsState": "FtpsOnly",
"reservedInstanceCount": 0
}
},
{
"type": "Microsoft.Web/sites/hostNameBindings",
"apiVersion": "2018-11-01",
"name": "[concat(parameters('sites_DisasterRecoveryWeb_name'), '/', parameters('sites_DisasterRecoveryWeb_name'), '.azurewebsites.net')]",
"location": "UK West",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_DisasterRecoveryWeb_name'))]"
],
"properties": {
"siteName": "DisasterRecoveryWeb",
"hostNameType": "Verified"
}
}
]
}
我的要求是设置 DR 解决方案,因此我有一个带有简单 Web 服务的 DR 源组
我想使用生成的模板,并重新部署到不同的资源组
即使我在通过 bash 运行该文件时一直使用该参数,但仍会收到错误消息
主机名灾难恢复web_dr.azurewebsites.net 无效。
理想情况下,我希望能够使用相同的资源名称,但我想即使资源位于不同的资源组中,这也是不可能的
我究竟做错了什么?
我的参数是:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"sites_DisasterRecoveryWeb_name": {
"value": "DisasterRecoveryWeb_dr"
},
"serverfarms_applan_devuk_rockit_externalid": {
"value": "/subscriptions/.......",
}
}
}
我通过 bash 运行它
templateFile="..\templates\app-services\sample\template.json" parameterFile="..\templates\app-services\sample\parameters.json"
az deployment group create \
--name testAppServiceDeployment \
--resource-group disaster-recovery-source-ps.rg \
--template-file $templateFile \
--parameters $parameterFile
保罗
解决方案
推荐阅读
- angular - 基本身份验证不适用于 XSRF 令牌拦截
- python - 更改滚动条(鼠标滚轮)tkinter Python的滚动速度
- python - 如何在没有小时/分钟/秒的情况下以日期时间格式创建周列?
- javascript - 检查 JSON 文件中是否不存在数据
- java - Firebase Firestore 数据检索引发空指针异常?
- google-analytics - 在 GA4 数据流中找不到测量协议来创建用于发送事件的 api-secret
- javascript - 如何在javascript中将随机价格变成随机的最小应付现金金额
- javascript - 在 HTML 中将 datetime-local 更改为 DD-MM-YYYY hh:mm
- javascript - 将嵌套字典解析为每个级别元素的数组的功能方法
- python - 将电子邮件添加到谷歌驱动器返回内部错误