gpt4 book ai didi

azure - 销毁ARM模板部署创建的资源

转载 作者:行者123 更新时间:2023-12-02 23:05:41 26 4
gpt4 key购买 nike

What specific syntax needs to be used in order to successfully destroy all resources that were created by the devenvironment deployment group in the code below?

上下文:

运行以下命令时,会在 Azure 中创建资源集合:

az deployment group create --name devenvironment --resource-group myResourceGroupDev --template-file C:\path\to\my.template.json --parameters C:\path\to\my.parameters.json --verbose  

问题:

我们遇到的问题是以下命令使所有创建的资源完好无损地保留在 Azure 中:

az deployment group delete --name devenvironment --resource-group myResourceGroupDev --verbose  

az 部署组删除 命令所做的只是删除与使用 az 部署组创建 创建的资源关联的包装器 devenvironment > 上面的命令。此 az 部署组删除 命令无法对创建的实际资源产生任何影响。

期望的结果:

我们想要的是一个命令,该命令将导致销毁由 az Deployment group create 命令创建的所有资源。

我们需要像 terraform destroy 这样的命令来销毁在 ARM 部署中创建的所有资源,但使用 az cli。

什么具体语法会带来我们想要的结果?

最佳答案

我们没有任何直接的 cmdlet 来删除使用arm模板在特定部署中部署的所有资源。

您可以使用以下 Azure CLI Cmdlet 或 PowerShell cmdlet,这将删除使用 Arm 模板部署的资源。

为了在本地环境中测试这一点,我们使用arm模板创建了一个Web应用程序和应用程序服务计划。使用以下 cmdlet,我们可以成功删除这些资源。

以下是 Azure CLI cmdlet:

resourcelist=$(az deployment group  show --resource-group '<rgName>' --name '<deploymentName>' --query "properties.outputResources[].id" -o tsv)
for resource in $resourcelist; do az resource delete --ids $resource; done

这是供引用的示例输出:

enter image description here

以下是 PowerShell cmdlet:

$resourcelist=Get-AzResourceGroupDeploymentOperation -ResourceGroupName '<resourceGroupName>' -Name '<deploymentName>'
foreach ($resource in $resourcelist){
if( $resource.TargetResource -ne $null){
Remove-AzResource -ResourceId $resource.TargetResource -Force
Write-Output "Resource got delete successfully"$resource.TargetResource
}
}

这是供引用的示例输出:

enter image description here

关于azure - 销毁ARM模板部署创建的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71229433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com