我目前正在自动化 Azure 中的一些清理操作,我的代码结构基本上是:
- 一个巨大的 for 循环,它遍历应删除的资源组列表。
- 如果其中任何组缺少我定义的所需标签列表,请删除该资源组。
目前删除操作很简单:
// Inside the for loop that iterates over a list of resource group names
elif rg.tags.get('delete_at', False):
if datetime.now() > datetime.strptime(rg.tags['delete_at'], '%Y-%m-%d %H:%M:%S'):
print('Resource Group: ' + rg.name + ' is going to be deleted')
try:
delete_async_op = delete_rg(rg_client, rg.name)
delete_async_op.wait()
except CloudError:
# If any of the delete operation fails, don't block the policy execution over the rest of resource groups
print("The delete operation for the resource group: '" + rg.name + "' didn't suceed. Details: " + traceback.format_exc())
continue
只是为了记录,该delete_rg
函数只是一个执行以下操作的包装器:
rg_client.resource_groups.delete(rg_name)
所以我想知道是否有更有效的方法来做到这一点。也许拥有应该删除的资源组名称列表并为这些操作创建线程?只是猜测,寻求一些建议。
提前谢谢了!如果我的问题不够清楚,请告诉我。