Я получаю ошибки при попытке передать более 1 базы данных в шаблон ARM:
Ошибка ожидания развертывания: Code = "DeploymentFailed" Message = "At
по крайней мере одна операция развертывания ресурса завершилась неудачно. Пожалуйста, перечислите развертывание
операции для деталей. Пожалуйста, смотрите https://aka.ms/arm-debug для использования
детали. "Details = [{" code ":" BadRequest "," message ":" {\ r \ n \ "error \":
{\ r \ n \ "подробности \": [\ r \ n {\ r \ n \ "код \":
\ "InvalidResourceIdSegment \", \ r \ n \ "message \": \ "\", \ r \ n
\ "target \": \ "parameters.properties.databases [0] \" \ r \ n} \ r \ n
], \ r \ n \ "code \": \ "InvalidResourceIdSegment \", \ r \ n \ "message \":
\ "Сегмент 'parameters.properties.databases [0]' в URL
неверно. \ "\ r \ n} \ r \ n}"}]
Я попытался передать строку идентификаторов через запятую, а затем попытался преобразовать строку в массив. Я попытался добавить кавычки вокруг каждой отдельной строки.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"sqlServerPrimaryName": {
"type": "string",
"metadata": {
"description": "The name of the primary SQL Server."
}
},
"partnerServers": {
"type": "string",
"metadata": {
"description": "The list of names of the secondary SQL Server."
}
},
"partnerResourceGroups": {
"type": "string",
"metadata": {
"description": "The list of names of the secondary SQL Server Resource Groups."
}
},
"sqlFailoverGroupName": {
"type": "string",
"metadata": {
"description": "The name of the failover group."
}
},
"sqlDatabaseName": {
"type": "string",
"metadata": {
"description": "The name of the SQL Database."
}
}
},
"variables": {
"partnerArray": "[split(parameters('partnerServers'),',')]",
"partnerRgArray": "[split(parameters('partnerResourceGroups'),',')]",
"sqlDBNameArray": "[split(parameters('sqlDatabaseName'), ',')]"
},
"resources": [
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Sql/servers/failoverGroups",
"name": "[concat(parameters('sqlServerPrimaryName'), '/', parameters('sqlFailoverGroupName'))]",
"properties": {
"serverName": "[parameters('sqlServerPrimaryName')]",
"copy": [{
"name": "partnerServers",
"count": "[length(variables('partnerArray'))]",
"input": {
"id": "[resourceId(variables('partnerRgArray')[copyIndex('partnerServers')], 'Microsoft.Sql/servers/', variables('partnerArray')[copyIndex('partnerServers')])]"
}
}],
"readWriteEndpoint": {
"failoverPolicy": "Automatic",
"failoverWithDataLossGracePeriodMinutes": 60
},
"readOnlyEndpoint": {
"failoverPolicy": "Disabled"
},
"databases": [
"[variables('sqlDBNameArray')]"
]
}
}
]
}
Я ожидаю, что в группу отработки отказа попадет более одной базы данных, но я получаю разные ошибки в зависимости от того, отправляю ли я массив или строку.