【问题标题】:Arm template deployment fail with 409 error for one specific storage account一个特定存储帐户的 Arm 模板部署失败并出现 409 错误
【发布时间】:2020-09-29 11:38:08
【问题描述】:

我使用 arm 模板来部署存储帐户。但是,我收到一条错误消息:StorageAccountAlreadyExists:名为 xxx 的存储帐户已存在。

我的发布管道设置为增量,因此不应真正显示此错误。

我将存储帐户名称更改为一个新名称,不仅第一次成功,而且我可以继续部署相同的管道,并且没有抛出任何错误。

看起来这是此帐户的特定内容,但是,我看不出有什么特别之处。我们使用的arm模板也很正常(之前从官方例子中得到的)。

{
  "$schema": "http://schema.management.azure.com/schemas/2019-06-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "StorageDescriptor": {
      "type": "string",
      "defaultValue": "StorageAccount",
      "metadata": {}
    },
    "StorageAccountName": {
      "type": "string",
      "defaultValue": "[toLower(concat(parameters('StorageDescriptor'), resourceGroup().name))]",
      "metadata": { "Description": "Override name for the storage account" }
    },
    "StorageType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_ZRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Premium_LRS"
      ]
    },
    "Environment": {
      "type": "string",
      "defaultValue": "PreProd",
      "metadata": { "description": "PreProd or Prod" }
    }
  },
  "variables": {
  },
  "resources": [
    {
      "name": "[parameters('StorageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "[resourceGroup().location]",
      "apiVersion": "2019-06-01",
      "dependsOn": [],
      "tags": {
        "displayName": "Web Job Storage Account"
        
      },
      "properties": {
        "accountType": "[parameters('StorageType')]"
      }
    }
  ],
  "outputs": {
  }
}

【问题讨论】:

    标签: azure-devops azure-storage


    【解决方案1】:

    即使您的发布管道设置为增量,每次部署时存储帐户名称都必须是唯一的。参考:here

    【讨论】:

      【解决方案2】:

      一个特定存储帐户的 Arm 模板部署失败并出现 409 错误

      您需要检查存储帐户属性是否已被其他人通过 Azure/PowerShell 门户更改,并且与 ARM 模板中指定的不同。

      要解决此问题,请尝试导出模板并在 Azure devops 存储库中更新它:

      然后,我们可以根据需要更新这个新导出的模板文件并使用它进行部署。

      作为测试,我可以继续部署相同的管道并且不会抛出任何错误。

      【讨论】:

      • 嗨,我导出了手臂模板,但看不到任何不同
      • @daxu,您在其他资源组中是否有相同的存储帐户?您可以在不同的资源组中对其进行验证。我仅限于创建另一个资源组,无法帮助您验证。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 2012-01-10
      • 2018-08-07
      • 2022-09-29
      相关资源
      最近更新 更多