能否通过单个Logic App触发Blob存储所有容器的Blob新增或修改事件?
如何用单个Logic App触发Blob存储所有容器的文件增改事件
可以通过两种方案实现单个Logic App监听所有Blob容器的文件添加或修改事件:
方法一:使用Azure Event Grid触发器(实时触发,推荐)
原生的「When a blob is added or modified」触发器仅支持指定单个容器,但通过Event Grid可以实现全局监听:
- 进入Azure Blob存储账户的事件页面,创建新的事件订阅
- 事件类型勾选
BlobCreated(文件添加)和BlobUpdated(文件修改) - 目标类型选择「Logic App」,并关联你要触发的目标Logic App
- 配置完成后,所有容器内的Blob增改事件都会实时触发这个Logic App
方法二:定时遍历容器(适合无法使用Event Grid的场景)
如果受限于权限或环境不能用Event Grid,可采用定时扫描的方式:
- 给Logic App添加Recurrence触发器,设置执行间隔(比如每分钟一次)
- 添加List containers操作,获取存储账户下的所有容器列表
- 用For each循环遍历每个容器,在循环内执行**Get blobs (properties only)**操作,通过
Last modified time筛选出上次执行后新增或修改的Blob - 后续对筛选出的Blob进行业务处理
注意:方法二存在一定延迟(取决于定时间隔),优先推荐使用实时触发的Event Grid方案。
内容的提问来源于stack exchange,提问作者JJ36
相关产品推荐
相关产品推荐

