Azure Data Factory Blob事件触发器单次上传小文件多次触发问题
解决ADF Blob事件触发器重复触发的问题
以下是导致触发器多次触发的常见原因及对应配置修正方案:
分块上传触发多事件
即使是931KB的文件,部分上传工具/SDK默认会启用分块上传机制,Blob存储会在分块上传过程中多次触发BlobCreated事件,最终合并完成时再触发一次。需在触发器中配置过滤规则:
选择BlobCreated事件类型后,添加过滤条件:BlobType = BlockBlob同时在触发器高级设置中启用
仅当 blob 完全写入时触发选项,该设置会忽略分块上传的中间事件,只在文件完整上传完成后触发一次。重复的事件订阅
检查Azure存储账户的事件订阅页面,确认是否存在多个订阅指向同一个ADF管道,若有多余订阅则直接删除。同时排查ADF中是否配置了多个相同规则的Blob触发器。事件推送重试导致重复触发
网络波动可能导致存储账户的事件推送重试,使ADF多次接收同一事件。可在管道中添加重复执行检测逻辑:
利用触发器元数据@triggerBody().data.url作为Blob唯一标识,结合Lookup活动查询管道历史运行记录,或用Azure SQL/存储表记录已处理的Blob路径,避免重复执行。上传操作本身重复
查看存储账户的Blob操作日志,确认是否存在多次PutBlob或PutBlockList请求,排查是否是测试时误操作重复上传,或上传工具自带重试机制导致重复创建Blob。
内容的提问来源于stack exchange,提问作者Abhra Ray
相关产品推荐
相关产品推荐

