【问题标题】:ARM Deployment error Document Db cannot find instanceARM 部署错误 Document Db 找不到实例
【发布时间】:2016-10-20 02:19:48
【问题描述】:

自上周四 AEST 以来,我们在工作部署中遇到了部署错误。

当我们运行 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"
     }

在sn -p [parameters('databaseAccountName')] = 'xxx'

我们猜测是某种潜在的原因导致了这种情况。您能否告诉我们我们需要包含在 ARM 模板中的新属性,以便再次找到 DocumentDb 实例?

【问题讨论】:

    标签: azure azure-cosmosdb


    【解决方案1】:

    更新:我们更新了文档以涵盖启用多区域帐户的 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 区域”列的格式:https://azure.microsoft.com/en-us/regions/

    【讨论】:

    • 我确实将其标记为正确,但不幸的是我们现在收到此错误:'为区域 australiaeast 提供的故障转移优先级值 0 无效
    • 它对我有用。确保不使用 resourceGroup().location 而不是参数 locationName1。在我的例子中,我们部署到位于北欧的资源组,因此 resourceGroup().location = 'northeurope' 和 locationName1 = 'North Europe'。
    • 非常感谢您的建议。这个解决方案确实有效。周末愉快:)
    • 当我进行建议的更改时,我收到错误“没有为位置 'northeurope' 和 API 版本 '2016-03-31' 找到类型 'databaseAccounts' 的注册资源提供程序。”,这令人费解因为我有“apiVersion”:“2015-04-08”,并且在我的模板中没有字符串“2016-03-31”。
    猜你喜欢
    • 2022-10-31
    • 2021-01-18
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多