ARM 模板部署失败 BadRequest

cto*_*tor 5 azure-resource-manager azure-devops azure-rm-template azure-resource-group azure-webapps

我正在通过资源组中的 Azure DevOps(ARM 模板部署)任务部署 ARM 模板(Web 应用程序)。执行部署时出现以下错误:

 ##[section]Starting: ARM Template deployment: Resource Group scope
 ==============================================================================
 Task         : ARM template deployment
 Description  : Deploy an Azure Resource Manager (ARM) template to all the deployment scopes
 Version      : 3.1.18
 Author       : Microsoft Corporation
 Help         : https://learn.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment
 ==============================================================================
 ARM Service Conection deployment scope - Subscription
 Checking if the following resource group exists: xyz.
 Resource group exists: true.
 Creating deployment parameters.
 Starting template validation.
 Deployment name is azuredeploy-xyz
 Template deployment validation was completed successfully.
 Starting Deployment.
 Deployment name is azuredeploy-xyz
 There were errors in your deployment. Error code: DeploymentFailed.
 ##[error]At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.
 ##[error]Details:
 ##[error]NotFound: {
  "error": {
    "code": "BadRequest",
    "message": ""
  }
}
##[error]Task failed while creating or updating the template deployment.
##[section]Finishing: ARM Template deployment: Resource Group scope.
Run Code Online (Sandbox Code Playgroud)

我去活动日志检查错误根源。它来自“资源”下的“connectionstrings”和“slotconfignames”部分,如下所示:

"resources": [
           {
  "apiVersion": "2015-08-01",
  "name": "connectionstrings",
  "type": "config",
  "location": "[parameters('location')]",
  "dependsOn": [
      "[resourceId('Microsoft.Web/Sites/Slots', parameters('webSiteName'), 'stage')]"
  ],
  "properties": {
      "ConnectionString1": {
          "value": "parameters('ConnectionString1Data')",
          "type": "Custom"
      },
      "ConnectionString2": {
          "value": "parameters('ConnectionString2Data')",
          "type": "SQLAzure"
      }
  }
                },
 {
     "apiVersion": "2015-08-01",
     "name": "slotconfignames",
     "type": "config",
     "location": "[parameters('location')]",
     "dependsOn": [
         "[resourceId('Microsoft.Web/Sites/Slots', parameters('webSiteName'), 'stage')]"
     ],
     "properties": {
         "connectionStringNames": [ "ConnectionString1" ,"ConnectionString2"]
     }
 }
      ]
Run Code Online (Sandbox Code Playgroud)

活动日志

Hug*_*ona 0

我建议您安装 AzureRM for Powershell,并使用Test-AzureRmResourceGroupDeployment函数在本地测试您的 ARM 模板,然后再提交并在 Azure Devops 管道上运行。因此,您可以对模板进行故障排除并找出问题所在。测试时您应该了解详细信息。