@ nicklaws Я только что столкнулся с этим, когда искал что-то еще.
На первый взгляд, во-первых, мне интересно, может ли это быть проблемой:
variables('serverNameEast')
Как я могу 'Я не могу сказать, что вы видите настройки ваших переменных, но мои обычно выглядят так:
variables('serverNameEast').name
например.
Во-вторых, вот целый шаблон ARM, который у меня естьиспользуется много раз, и это работает:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"businessOwner": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Responsible for billing of the resource"
}
},
"technicalOwner": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Responsible for the technology decisions of the resource"
}
},
"environment": {
"type": "string",
"metadata": {
"description": "Provides information on the environment that the resource belongs to"
},
"allowedValues": [
"prod",
"nprd",
"sand"
]
},
"costCode": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Provides a charge code or cost center to attribute the bill for the resources too. This could be a project code or cost Centre"
}
},
"projectName": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Provides information on the project that the resource group and resources belong to."
}
},
"primaryAdministratorLogin": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Administrator username for the server. Once created it cannot be changed."
}
},
"primaryAdministratorLoginPassword": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "The administrator login password (required for server creation)."
}
},
"sqlServerSecondaryRegion": {
"type": "string",
"metadata": {
"description": "The location of the secondary SQL Server."
}
},
"sqlServerSecondaryAdminUsername": {
"type": "string",
"metadata": {
"description": "The administrator username of the secondary SQL Server."
}
},
"sqlServerSecondaryAdminPassword": {
"type": "string",
"metadata": {
"description": "The administrator password of the secondary SQL Server."
}
},
"requestedServiceObjectiveName": {
"type": "string",
"metadata": {
"description": "The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property."
}
},
"sampleName": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "Indicates the name of the sample schema to apply when creating this database. If createMode is not Default, this value is ignored. Not supported for DataWarehouse edition. - AdventureWorksLT"
}
},
"maxSizeBytes": {
"type": "string",
"defaultValue": "107374182400",
"metadata": {
"description": "The max size of the database expressed in bytes. If createMode is not Default, this value is ignored."
}
},
"collation": {
"type": "string",
"defaultValue": "SQL_Latin1_General_CP1_CI_AS",
"metadata": {
"description": "The collation of the database. If createMode is not Default, this value is ignored."
}
},
"createMode": {
"type": "string",
"defaultValue": "Default",
"metadata": {
"description": "Specifies the mode of database creation."
}
},
"readScale": {
"type": "string",
"defaultValue": "Disabled",
"metadata": {
"description": "Specifies the mode of database creation."
}
},
"edition": {
"type": "string",
"defaultValue": "Standard",
"metadata": {
"description": "The edition of the database."
}
},
"zoneRedundant": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones."
}
},
"firewallDigitalNetworkFrom": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"firewallDigitalNetworkTo": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"firewallMelbourneOfficeFrom": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"firewallMelbourneOfficeTo": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"firewallSydneyOfficeFrom": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"firewallSydneyOfficeTo": {
"type": "string",
"defaultValue": "NOT_SET",
"metadata": {
"description": "firewall rule"
}
},
"failoverEnabled": {
"type": "string",
"defaultValue": "true",
"metadata": {
"description": "Whether we allow a secondary SQL server with failover. This could be used to save money"
}
}
},
"variables": {
"sqlServerPrimary": {
"name": "[toLower(concat(parameters('projectName'), '-',parameters('environment'), '-', 'sqlsvr-primary'))]",
"requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]"
},
"sqlServerSecondary": {
"name": "[toLower(concat(parameters('projectName'), '-',parameters('environment'), '-', 'sqlsvr-secondary'))]"
},
"sqlFailoverGroupName": {
"name": "[toLower(concat(parameters('projectName'), '-',parameters('environment'), '-', 'failover-group'))]"
}
},
"resources": [
{
"name": "[variables('sqlServerPrimary').name]",
"type": "Microsoft.Sql/servers",
"apiVersion": "2015-05-01-preview",
"location": "[resourceGroup().location]",
"tags": {
"BusinessOwner": "[parameters('businessOwner')]",
"TechnicalOwner": "[parameters('technicalOwner')]",
"Environment": "[parameters('environment')]",
"CostCode": "[parameters('costCode')]",
"Project": "[parameters('projectName')]"
},
"properties": {
"administratorLogin": "[parameters('primaryAdministratorLogin')]",
"administratorLoginPassword": "[parameters('primaryAdministratorLoginPassword')]",
"version": "12.0"
},
"resources": [
{
"apiVersion": "2015-05-01-preview",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"type": "failoverGroups",
"name": "[variables('sqlFailoverGroupName').name]",
"tags": {
"BusinessOwner": "[parameters('businessOwner')]",
"TechnicalOwner": "[parameters('technicalOwner')]",
"Environment": "[parameters('environment')]",
"CostCode": "[parameters('costCode')]",
"Project": "[parameters('projectName')]"
},
"properties": {
"serverName": "[variables('sqlServerPrimary').name]",
"partnerServers": [
{
"id": "[resourceId('Microsoft.Sql/servers/', variables('sqlServerSecondary').name)]"
}
],
"readWriteEndpoint": {
"failoverPolicy": "Automatic",
"failoverWithDataLossGracePeriodMinutes": 60
},
"readOnlyEndpoint": {
"failoverPolicy": "Disabled"
},
"databases": [
]
},
"dependsOn": [
"[variables('sqlServerPrimary').name]",
"[resourceId('Microsoft.Sql/servers', variables('sqlServerSecondary').name)]"
]
},
{
"name": "AllowAllWindowsAzureIps",
"type": "firewallRules",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "0.0.0.0"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerPrimary').name)]"
]
},
{
"name": "digitalNetwork",
"type": "firewallRules",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallDigitalNetworkFrom')]",
"endIpAddress": "[parameters('firewallDigitalNetworkTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerPrimary').name)]"
]
},
{
"name": "MelbourneOffice",
"type": "firewallRules",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallMelbourneOfficeFrom')]",
"endIpAddress": "[parameters('firewallMelbourneOfficeTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerPrimary').name)]"
]
},
{
"name": "SydneyOffice",
"type": "firewallRules",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallSydneyOfficeFrom')]",
"endIpAddress": "[parameters('firewallSydneyOfficeTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerPrimary').name)]"
]
}
]
},
{
"type": "Microsoft.Sql/servers",
"kind": "v12.0",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"name": "[variables('sqlServerSecondary').name]",
"apiVersion": "2015-05-01-preview",
"location": "[parameters('sqlServerSecondaryRegion')]",
"tags": {
"BusinessOwner": "[parameters('businessOwner')]",
"TechnicalOwner": "[parameters('technicalOwner')]",
"Environment": "[parameters('environment')]",
"CostCode": "[parameters('costCode')]",
"Project": "[parameters('projectName')]"
},
"properties": {
"administratorLogin": "[parameters('sqlServerSecondaryAdminUsername')]",
"administratorLoginPassword": "[parameters('sqlServerSecondaryAdminPassword')]",
"version": "12.0"
},
"resources": [
{
"name": "AllowAllWindowsAzureIps",
"type": "firewallRules",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "0.0.0.0"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerSecondary').name)]"
]
},
{
"name": "digitalNetwork",
"type": "firewallRules",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallDigitalNetworkFrom')]",
"endIpAddress": "[parameters('firewallDigitalNetworkTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerSecondary').name)]"
]
},
{
"name": "MelbourneOffice",
"type": "firewallRules",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallMelbourneOfficeFrom')]",
"endIpAddress": "[parameters('firewallMelbourneOfficeTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerSecondary').name)]"
]
},
{
"name": "SydneyOffice",
"type": "firewallRules",
"condition": "[equals(parameters('failoverEnabled'),'true')]",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[parameters('firewallSydneyOfficeFrom')]",
"endIpAddress": "[parameters('firewallSydneyOfficeTo')]"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('sqlServerSecondary').name)]"
]
}
]
}
]
}
Надеюсь, что это поможет.