ADF校验Blob源文件夹不存在时如何实现无报错空执行?
ADF实现Blob文件夹不存在时正常空跑的可行方案
核心逻辑
替换原有Validation活动,改用Get Metadata活动+If Condition活动组合实现存在性判断,该方案不会因路径不存在触发管道失败。
具体配置步骤
- 第一步:创建指向目标Blob容器的数据集,可将待校验的文件夹路径配置为数据集参数,方便复用。
- 第二步:添加
Get Metadata活动,关联上述数据集,在活动配置的「字段」区域新增Exists属性。 - 第三步:在
Get Metadata活动后连接If Condition活动,判断条件填写如下表达式:@activity('Get Metadata').output.exists - 第四步:分别配置If条件的两个分支:
- 条件为
True分支:放入原有的CSV数据读取、加载到SQL表的全量业务流程 - 条件为
False分支:无需添加任何活动,留空即可,管道执行到该分支会自动正常结束,无报错
- 条件为
注意:配置的Blob存储链接服务需要有目标容器的读取权限,否则Get Metadata活动会因权限不足报错。
进阶优化(可选)
如果需要同时校验目标文件夹下存在可读取的CSV文件,可在Get Metadata活动的字段中额外添加Child Items属性,将If判断的表达式调整为:@and(activity('Get Metadata').output.exists, greater(length(activity('Get Metadata').output.childItems), 0))
该配置可避免目标文件夹为空时,后续加载活动触发无数据报错。
内容的提问来源于stack exchange,提问作者Rakesh Mishra
相关产品推荐
相关产品推荐

