TL; DR:
有没有办法删除资源组中的所有资源,除了 使用空模板和手动逐步完成模式部署 从网络界面删除?
删除资源组不是一个选项(访问权限:贡献者,而不是所有者)
详细信息:
我正在尝试彻底清理AZURE中的资源组。
删除资源组不是一个选项(访问权限:贡献者,而不是所有者)
最优雅和明显的方法(在一些文章中也有描述)是使用"空"执行完全部署。部署模板:
New-AzureRmResourceGroupDeployment -Mode Complete -ResourceGroupName RG_NAME -TemplateFile .\empty.json
使用以下empty.json:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "2018-02-15",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
}
但是... 这有时 。即使不是最的时间。
一旦有无限循环尝试删除SQL Server,失败并尝试再次删除。等了20分钟后,我参加了活动,发现了大约100个事件,比如
"删除SQL Server已启动" ......"接受" ......"失败" ......"开始" ......"接受" ......"失败" ......
你明白了。
其他时候它运作良好。
所以,问题是:有没有办法删除所有资源 除了使用空模板和完整模式部署之外的资源组 从Web界面手动逐步删除?
似乎可重复的示例
尝试使用以下模板部署SQL Server(它将通过密码复杂性验证失败)
{ " $ schema":" http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", " contentVersion":" 2018-02-19", "参数":{ " location":{ "输入":" string", " defaultValue":"西欧" }, " dbAdministratorLogin":{ "输入":" string", " defaultValue":" sysadm" }, " dbAdministratorPassword":{ "输入":" string" , " defaultValue":" 123123" }, }, "变量":{ " dbServerName":" dka-tst-sto-sql-srv", " databaseName":" dka-tst-sto-sql" }, "资源":[ {"评论":"服务器和数据库。数据库 - 服务器的子资源", "输入":" Microsoft.Sql / servers", " name":" [变量(' dbServerName')]", " apiVersion":" 2015-05-01-preview", " location":" [参数(' location')]", "属性":{ " administratorLogin":" [参数(' dbAdministratorLogin')]", " administratorLoginPassword":" [参数(' dbAdministratorPassword')]", "版本":" 12.0" }, "资源":[{ "输入":"数据库", " name":" [变量(' databaseName')]", " apiVersion":" 2014-04-01-preview", " location":" [参数(' location')]", "属性":{ "整理":" SQL_Latin1_General_CP1_CI_AS", " edition":" Standard", " maxSizeBytes":" 268435456000", " requestedServiceObjectiveId":" f1173c43-91bd-4aaa-973c-54e79e15235b", " sampleName":"", " zoneRedundant":false }, "依赖":[ " [concat(' Microsoft.Sql / servers /',变量(' dbServerName'))]" ] }, { "输入":" firewallrules", " name":" AllowAllWindowsAzureIps", " apiVersion":" 2014-04-01-preview", " location":" [参数(' location')]", "属性":{ " endIpAddress":" 0.0.0.0", " startIpAddress":" 0.0.0.0" }, "依赖":[ " [concat(' Microsoft.Sql / servers /',变量(' dbServerName'))]" ] } ] } ] "输出":{ } }
然后尝试删除"清空"模板。
你将获得无限循环的数据库删除"已启动..接受..失败..已启动..已接受..已失败..已启动...已启动..."
答案 0 :(得分:1)
执行此操作的第一个也是最明显的方法:删除资源组。重新创建它需要5秒,一个空资源组不值得,你可以脚本标签\权限重新应用它们。
另一种方式可能是这样的:
Get-AzureRmResource | ? ResourceGroupName -eq your_resource_group_name | Remove-AzureRmResource -WhatIf
如果您确信这只会定位您想要的资源,则可以删除-WhatIf
。您还可以使用-AsJob
加快删除速度