You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在resource group被删除时自动运行自定义清理脚本

实现资源组删除时自动触发自定义清理脚本的配置方案

Azure原生未提供直接在资源组删除操作上绑定自定义脚本的入口,你可以通过事件监听+自动化执行组件的组合方案实现需求,不管是通过门户、CLI、API触发的资源组删除操作都能自动调用你的清理脚本。

可行实现方案

方案1:Event Grid + Azure 自动化账户 Runbook(适合无复杂依赖的PowerShell/Az CLI脚本)

  • 先将你编写好的清理脚本导入到Azure自动化账户的PowerShell类型Runbook中,配置Runbook使用系统分配托管身份,给该托管身份分配对应订阅/资源范围的贡献者权限(或仅分配目标清理资源的删除权限),测试运行无问题。
  • 在Azure Event Grid中创建事件订阅:
    • 作用范围选择你需要监听的订阅,也可以指定仅监听某几个资源组的事件
    • 事件类型筛选只保留Microsoft.Resources.ResourceDeleteInitiate(资源组删除启动事件,可在资源组删除流程执行前触发脚本),额外添加筛选规则:资源类型等于Microsoft.Resources/subscriptions/resourceGroups,只过滤资源组的删除事件,避免其他资源删除触发脚本
    • 端点类型选择「Azure自动化」,关联你提前创建好的清理脚本Runbook即可。

方案2:Event Grid + Azure Function(适合有依赖包、逻辑复杂的清理脚本)

  • 将你的清理脚本封装为对应语言的Azure Function(支持PowerShell、Python等多种运行时),在Function配置中开启系统分配托管身份,开通对应资源的操作权限,测试Function执行清理逻辑正常。
  • 同样创建Event Grid事件订阅,端点类型选择「Azure Function」,关联你编写的清理Function即可。

注意事项

  1. 配置事件订阅时可以开启重试策略和死信队列,避免网络波动等异常导致事件丢失、脚本未执行。
  2. 测试阶段建议先把脚本调整为模拟执行模式,仅输出待清理的资源清单,确认事件触发条件、脚本逻辑符合预期后再开启真实删除逻辑,避免误删资源。
  3. 如果你的清理逻辑涉及跨订阅资源,需要给对应托管身份开通跨订阅的资源操作权限。

内容的提问来源于stack exchange,提问作者iteal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:02