You need to enable JavaScript to run this app. Azure Data Factory管道复制ADLS数据如何实现无数据时任务失败
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory管道复制ADLS数据如何实现无数据时任务失败

源ADLS无匹配数据时触发复制任务失败的实现方案

ADF的复制活动默认对“源端零匹配数据”的场景会判定为运行成功,这是产品的原生设计,可通过以下两种可直接落地的配置实现目标判定逻辑:

方案1:前置增加数据源校验链路(适配文件级复制场景)

  • 在现有复制活动的上游依次添加Get Metadata活动、If Condition活动,在判断分支的空流程中连接一个Fail活动
  • 将Get Metadata活动的源数据集配置为和复制活动的源ADLS数据集完全一致,绑定相同的开始、结束时间筛选参数:如果是判断匹配路径下的批量文件/文件夹数量,就勾选输出属性为itemCount;如果是校验单个指定文件是否存在,就勾选输出属性为exists
  • 配置If Condition的判断逻辑:批量文件场景下写入表达式 @greater(activity('Get Metadata').output.itemCount, 0),单文件场景下写入表达式 @activity('Get Metadata').output.exists,逻辑为仅当匹配到的目标存在时,才进入后续复制流程
  • 将原有复制活动连接到If Condition的True分支;将Fail活动连接到If Condition的False分支,可自定义报错提示内容,比如“本次调度时间窗口内源ADLS未查询到符合条件的数据,管道运行终止”
  • 注意:如果你的ADLS路径是按日期做动态拼接的(比如按年/月/日层级存储的分区路径),要确保Get Metadata的数据集路径和复制源的动态路径拼接规则完全一致,避免出现路径不匹配导致的校验失效。

方案2:直接在复制活动中配置最低成功行数阈值(适配结构化数据复制场景)

  • 打开复制活动的设置面板,找到“容错”配置板块,定位到最低成功行数 选项
  • 将该参数的值设置为1,配置完成后,只要本次复制活动从源端拉取的有效数据行数小于1(即零行),活动就会直接抛出错误、判定为运行失败
  • 注意不要混淆“最低成功行数”和“允许的错误行数”配置:后者是设置多少条错误数据仍可判定活动成功,和“零行即失败”的逻辑完全无关,不要配置错参数
  • 这个方案不需要额外添加其他活动,配置成本更低;但该配置仅对结构化数据的行数统计生效,如果你的作业是复制整个文件到目标存储(不涉及逐行读取统计),该配置不会识别“零文件”的场景,还是需要使用方案1完成校验。

配置完成后建议做一次有效性验证:手动将管道的筛选时间参数调整到历史无数据的时间窗口,触发一次手动运行,确认管道会按预期判定为失败,避免因动态路径绑定错误、参数映射偏差导致校验逻辑失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 07:36:07