ARM 部署报错 Document Db cannot find instance

ARM Deployment error Document Db cannot find instance

自澳大利亚东部标准时间上周四以来,我们在工作部署中遇到部署错误。

当我们 运行 ARM 部署 DocumentDb 失败并显示消息时:

资源 Microsoft.DocumentDB/databaseAccounts 'xxx' 失败,消息为“文档服务名称 'xxx' 已存在。

 {
     "apiVersion": "2015-04-08",
     "type": "Microsoft.DocumentDB/databaseAccounts",
     "name": "[parameters('databaseAccountName')]",
     "location": "[resourceGroup().location]",
     "properties": {
       "name": "[parameters('databaseAccountName')]",
       "databaseAccountOfferType": "Standard"
     }

在代码段中 [parameters('databaseAccountName')] = 'xxx'

我们猜测可能是某些潜在的原因导致了这种情况。您能否让我们知道 ARM 模板中需要包含哪些新属性才能再次找到 DocumentDb 实例?

更新:我们更新了我们的文档以涵盖支持多区域帐户的 ARM 部署。 https://azure.microsoft.com/documentation/articles/documentdb-automation-resource-manager-cli/#create-multi-documentdb-account

我们正在为所有帐户启用多区域帐户。作为这项工作的一部分,ARM 模板发生了变化。一些帐户在某些情况下使用当前发布的模板时出现错误。

我们将很快更新我们的文档。同时,下面的模板应该可以帮助您。您的旧模板也将在几天后开始工作。

{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "databaseAccountName": {
        "type": "string"
    },
    "locationName1": {
        "type": "string"
    }
},
"variables": { },
"resources": [
    {
        "apiVersion": "2015-04-08",
        “kind”: “GlobalDocumentDB”,
        "type": "Microsoft.DocumentDb/databaseAccounts",
        "name": "[parameters('databaseAccountName')]",
        "location": "[resourceGroup().location]",
        "properties": {
            "databaseAccountOfferType": "Standard",
            "locations": [
            {
                "id": "[concat(parameters('databaseAccountName'), '-', resourceGroup().location)]",
                "failoverPriority": 0,
                "locationName": "[parameters('locationName1')]"
            }]
        }
    }]
}

编辑:

locationName1 应采用此页面上 "Azure Regions" 列的格式:https://azure.microsoft.com/en-us/regions/