Remove-AzureRmResource Запрошенный ресурс не поддерживает HTTP-метод DELETE.

Ладно, у меня есть странный ...

Я развернул задания компиляции с помощью шаблонов ARM, используя следующий код:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "compile-settings": {
        "type": "object",
        "metadata": {
            "description": "These are settings for a DSC Compile"
        }
    },
    "tag-values": {
        "type": "object",
        "metadata": {
            "description": "These are the Tag values"
        }
    }
},
"resources": [
    {
        "name": "[parameters('compile-settings').name]",
        "type": "Microsoft.Automation/automationAccounts/compilationjobs",
        "apiVersion": "2015-10-31",
        "location": "Australia Southeast",
        "tags": "[parameters('tag-values')]",
        "dependsOn": [],
        "properties": {
            "configuration": "[parameters('compile-settings').configuration]",
            "parameters": "[parameters('compile-settings').parameters]"
        },
        "resources": []
    }
],
"outputs": {}

}

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

{"code": "Conflict", "message": "Задание с указанным идентификатором уже существует. ID задания: cde3eb0e-e8e4-de3e-0eae-e4cde3eb0eae"}

Используя resources.azure.com, я не могу найти этот ресурс, но я могу найти его при использовании PowerShell, например.

Get-AzureRmResource -ResourceId "/subscriptions/{subscriptionId}/resourceGroups/rg-au-901/providers/Microsoft.Automation/automationAccounts/aa-au-901/compilationjobs/cde3eb0e-e8e4-de3e-0eae-e4cde3eb0eae" -ApiVersion "2015-10-31"

Результат:

ResourceId: /subscriptions/{subscriptionId}/resourceGroups/rg-au-901/providers/Microsoft.Automation/automationAccounts/aa-au-901/compilationjobs/cde3eb0e-e8e4-de3e-0eae-e4cde3ebame-90ea / Resource cde3eb0e-e8e4-de3e-0eae-e4cde3eb0eae ResourceType: Microsoft.Automation / automationAccounts / compilationjobs ResourceGroupName: rg-au-901 SubscriptionId: xxxxxxxx-xxxx-xxxx-xxxx0e-xxe-xxxId-xxxe-xxxe-xxxe-xxxe-xxxe e4cde3eb0eae; createTime = 2017-07-16T08: 27: 13.457 + 00: 00; ProvisioningState = Приостановлено; status = Приостановлено; statusDetails = Нет; startTime = 2017-07-16T08: 28: 01.74 + 00: 00; endTime =; lastModifiedTime = 2017-07-16T08: 28: 13.85 + 00: 00; lastStatusModifiedTime = 2017-07-16T08: 28: 13.85 + 00:00; исключение = Выполняющаяся команда остановлена, поскольку для переменной предпочтения «ErrorActionPreference» или общего параметра задано значение «Стоп»: термин «xStorage \ xWaitforDisk» не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если путь был включен, убедитесь, что путь правильный, и повторите попытку .; параметры =; конфигурация =; runOn =; newNodeConfigurationBuildVersionRequired = False}

Однако когда я пытаюсь удалить его с помощью Remove-AzureRmResource с параметром Force, он терпит неудачу:

Remove-AzureRmResource: конвейер остановлен. В строке: 1 символ: 1 + Remove-AzureRmResource -ResourceId "/ subscriptions / xxxxxxxx-xxxx-xxxx ... + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: CloseError: (:) [Remove-AzureRmResource], PipelineStoppedException + FullyQualifiedErrorId: Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.RemoveAzureResourceCmdlet Remove-AzureRmResource: {"code": "MethodNotAllowed" {\ "message": "Сообщение", "сообщение" : \ "Запрошенный ресурс не поддерживает HTTP-метод 'DELETE'. \"} "} В строке: 1 символ: 1 + Remove-AzureRmResource -ResourceId" / subscriptions / xxxxxxxx-xxxx-xxxx ... + ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~~~~~~~

Помощь?


person mrptsai    schedule 16.07.2017    source источник
comment
какой вопрос? вы, очевидно, не можете удалить их, если они не поддерживают удаление   -  person 4c74356b41    schedule 16.07.2017
comment
Нет возможности их удалить?   -  person mrptsai    schedule 16.07.2017
comment
Я ожидал, что это будет так, например, нет командлета PowerShell для их удаления, только командлет get   -  person 4c74356b41    schedule 16.07.2017
comment
@mrptsai Вы не можете удалить эти задания. Эти задания записывают информацию журнала, и у них разные идентификаторы задания. В вашем шаблоне вы должны использовать другой идентификатор вакансии. См. Этот ссылка.   -  person Shui shengbao    schedule 17.07.2017


Ответы (3)


Вы можете обойти это с помощью шага PowerShell для создания GUID или, возможно, опустить GUID, чтобы он сгенерировал его сам.

Кроме того, есть командлет PowerShell для запуска задания компиляции, которому не нужен гид.

Start-AzureRmAutomationDscCompilationJob
person 4c74356b41    schedule 16.07.2017

Насколько мне известно, вы не можете удалить CompilationJob. При повторном выполнении задания будет восстановлен другой идентификатор задания. Вы можете использовать следующую команду для повторного запуска задания компиляции

Start-AzureRmAutomationDscCompilationJob -ResourceGroupName "shui" -AutomationAccountName "shuitest" -ConfigurationName "dscDomainJoin"

Дополнительную информацию см. По этой ссылке.

Если вы хотите удалить все задания, вам нужно удалить свои конфигурации DSC.

person Shui shengbao    schedule 17.07.2017

Я на самом деле выпустил ответ в ошибке. Если такой же GUID уже существует, у меня возникла логическая проблема.

Я обнаружил, что не передаю родительское имя развертывания (которое всегда отличалось) дочернему развертыванию, а уникальная строковая функция в шаблоне ARM не генерирует «уникальный» GUID.

Ресурс в родительском шаблоне теперь имеет следующий код:

"name": "[concat('dscCompile-', toLower(uniqueString(deployment().name)))]"

Дочерний шаблон использует переменную, а затем объединяется для создания уникальной строки для генерации GUID.

"deployment": "[concat('-', toLower(uniqueString(deployment().name)))]"

"name": "[concat('newGuid', copyIndex(), variables('deployment'))]",

Спасибо всем, кто откликнулся с вашей помощью и предложениями!

person mrptsai    schedule 19.07.2017