Azure - не найден HTTP-ресурс, соответствующий URI запроса

Я создаю группу ресурсов из Azure Devops с помощью конвейера YAML. Ниже приведен фрагмент задачи Azure, которую я использую в своем конвейере.

- task: AzureResourceGroupDeployment@2
  displayName: 'Deploy RG'
  inputs:
    azureSubscription: 'my-servicePrinciple (SPN)'
    resourceGroupName: 'test-rg-001'
    location: 'westeurope'
    templateLocation: 'Linked artifact'
    csmFile: $(Pipeline.Workspace)/arm_templates/ResourceGroup/template.json
    csmParametersFile: $(Pipeline.Workspace)/arm_templates/ResourceGroup/parameter.json
    deploymentMode: Incremental

А вот содержимое моего файла template.json

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "rgName": {
            "type": "string"
        },
        "rgLocation": {
            "type": "string"
        },
        "tags": {
            "type": "object",
            "defaultValue": {}
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2020-06-01",
            "location": "[parameters('rgLocation')]",
            "name": "[parameters('rgName')]",
            "properties": {},
            "tags": "[parameters('tags')]"
        }
    ],
    "outputs": {}
}

Конвейер не работает из-за ошибки ниже.

No HTTP resource was found that matches the request URI 'https://management.azure.com/subscriptions/xx4873gx-4yy1-4092-9a70-34812353vv77/resourcegroups/test-rg-001/providers/Microsoft.Resources/resourceGroups/test-rg-001?api-version=2020-06-01'

Я искал в Интернете, что вызывает это, но безнадежно. Я также пробовал использовать приведенную ниже схему в моем template.json, и это тоже не работает.

"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#"

Как ни странно, конвейер создает группу ресурсов, которую я хотел, но я не могу понять, почему развертывание не удается. Чтобы получить более подробную информацию, я заглянул в меню Развертывания на портале, и вот что расширенная ошибка

{
  "code": "DeploymentFailed",
  "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
  "details": [
    {
      "message": "No HTTP resource was found that matches the request URI 'https://management.azure.com/subscriptions/xx4873gx-4yy1-4092-9a70-34812353vv77/resourcegroups/test-rg-001/providers/Microsoft.Resources/resourceGroups/test-rg-001?api-version=2020-06-01'."
    }
  ]
}

В шаблоне ARM я хотел бы создать только группу ресурсов и не хочу включать развертывание каких-либо других ресурсов. Кто-то уже чует, что здесь не так готовится? : D


person Alex Raj Kaliamoorthy    schedule 22.03.2021    source источник


Ответы (1)


Вы видели выше ошибку, потому что вы пытались создать группу ресурсов в группе ресурсов в вашем конвейере.

С приведенной выше конфигурацией Task AzureResourceGroupDeployment в вашем конвейере. Вы создавали группу ресурсов (т.е. test-rg-001) внутри группы ресурсов test-rg-001. И он автоматически создаст группу ресурсов, если не найдет ту, которую вы указали в параметре resourceGroupName (например, test-rg-001). Вот почему вы увидели, что группа ресурсов test-rg-001 была создана странным образом. См. Эту аналогичную проблему.

Вы можете использовать задачу AzureResourceManagerTemplateDeployment для развертывания. установите Deployment scope на Subscription вместо Resource Group. См. ниже:

steps:
- task: AzureResourceManagerTemplateDeployment@3
  displayName: 'ARM Template deployment: Subscription scope'
  inputs:
    deploymentScope: Subscription
    azureResourceManagerConnection: 'my-servicePrinciple (SPN)'
    location: 'West Europe'
    csmFile: $(Pipeline.Workspace)/arm_templates/ResourceGroup/template.json
    csmParametersFile: $(Pipeline.Workspace)/arm_templates/ResourceGroup/parameter.json
    deploymentMode: Incremental
person Levi Lu-MSFT    schedule 23.03.2021