ARM Template - конфликтующее обновление
Существует шаблон ARM для предоставления двух служб поиска Azure.
"resources": [
{
"type": "Microsoft.Search/searchServices",
"name": "[parameters('serviceName')]",
"apiVersion": "[parameters('serviceApiVersion')]",
"location": "[parameters('location')]",
"properties": {
"sku": {
"name": "[parameters('sku')]"
},
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "[parameters('hostingMode')]"
}
},
{
"type": "Microsoft.Search/searchServices",
"name": "[concat(parameters('serviceName'), 'secondary')]",
"apiVersion": "[parameters('serviceApiVersion')]",
"location": "[parameters('location')]",
"properties": {
"sku": {
"name": "[parameters('sku')]"
},
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "[parameters('hostingMode')]"
}
}]
Развертывание шаблона ARM обеспечивает одну службу поиска и отказывает другую с ответом:
{
"error": {
"code": "Unknown",
"message": "There was a conflicting update. No change was made to the resource from this request. RequestId: b65a51b5-cd87-4dc5-82d9-9041ddd1c2dc",
"target": null,
"details": null
}
}
Кто-нибудь сталкивается с такой проблемой?
1 ответ
Возможно, поисковые службы не могут быть одновременно предоставлены в одной и той же группе ресурсов. Попробуйте добавить свойство "зависящий от" во вторую службу поиска.
Проблема
Поисковые службы не полагаются ни на что другое, поэтому
dependsOn
собственность не потребуется.
Я думаю, проблема в том, что у вас неверный синтаксис руки.
Я не знаю, какой apiVersion вы используете, но я не могу найти ни одного с таким же синтаксисом...
(он больше всего похож на 2015-02-28, но
hostingMode
поле не допускается).
Решение
Либо используйте apiVersion 28.02.2015 без
hostingmode
или (если вам нужно это поле) используйте более новую версию apiVersion, где "sku" выводится за пределы "свойств". Следующее работает для меня!
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Search/searchServices",
"name": "parameters('serviceName')",
"apiVersion": "2015-08-19",
"location": "parameters('location')",
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "default"
},
"sku": {
"name": "basic"
}
},
{
"type": "Microsoft.Search/searchServices",
"name": "[concat(parameters('serviceName'), 'secondary')]"
"apiVersion": "2015-08-19",
"location": "parameters('location')",
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "default"
},
"sku": {
"name": "basic"
}
}]
}