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

能否通过Event Grid触发Logic App监控Azure资源的创建与删除?

解决Azure订阅资源变更通知的精准触发问题

问题出在哪

  • 触发器选错了对象:你用的是Microsoft.Resources.ResourceGroups相关触发器,这会把资源组层面的所有操作(包括部署审核阶段的元数据变更)都捕获到,所以部署还没完成就收到了通知。
  • 事件类型太宽泛:Microsoft.Resources.ResourceActionSuccess会涵盖大量非资源创建/删除的操作,比如资源组改标签、调权限这类小动作,导致没操作也会收到随机通知。

正确配置步骤

1. 换用订阅级Event Grid触发器

在Logic App里选**「When an event is raised (Event Grid)」**这个触发器,配置时:

  • 资源类型选Microsoft.Resources.Subscriptions
  • 只保留这两个核心事件类型(把多余的删掉):
    • Microsoft.Resources.ResourceWriteSuccess:资源创建/更新完成时触发
    • Microsoft.Resources.ResourceDeleteSuccess:资源删除完成时触发

2. 加过滤规则掐掉无效事件

在触发器的「高级选项」里加过滤条件,只留你关心的资源操作:

  • 过滤属性设为data.operationName,匹配你需要监控的操作,比如:
    • 针对存储账户:Microsoft.Storage/storageAccounts/write(创建/更新)、Microsoft.Storage/storageAccounts/delete(删除)
    • 针对ARM部署:Microsoft.Resources/deployments/write
      (按需添加对应资源类型的操作名)

3. 优化Teams通知内容

把事件里的关键信息塞进Teams消息,比如:

  • 资源名称:@{triggerBody()?['data']?['resourceName']}
  • 资源类型:@{triggerBody()?['data']?['resourceType']}
  • 操作类型:@{triggerBody()?['data']?['operationName']}
  • 操作人:@{triggerBody()?['data']?['claims']?['name']}
  • 时间:@{triggerBody()?['eventTime']}

这样收到的通知都是有用信息,不会乱糟糟的。

验证方式

部署个存储账户试试:

  • 只有当存储账户完全创建好才会收到通知,不会在审核阶段就触发
  • 没动任何资源时,不会再收到莫名其妙的通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:55:27