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

ADF管道分隔文件首行格式校验与错误处理方案咨询

实现ADF中竖线分隔TXT文件的首行格式校验与错误处理

整体思路

在ForEach循环内前置校验逻辑,先判断文件首行是否包含竖线分隔符,校验通过才执行Data Flow流程;不通过则触发错误标记,并将文件移至拒绝文件夹。

具体实现步骤

1. 读取文件首行内容

在ForEach循环内添加Lookup活动:

  • 数据源选择目标TXT数据集,在数据集的「连接」选项卡中设置「行数」为1,确保仅读取文件第一行
  • 临时调整数据集的分隔符设置(比如设为任意字符),避免因格式问题直接触发Lookup活动报错

2. 校验首行格式

添加If Condition活动,基于Lookup返回的结果判断:

  • 条件表达式:contains(activity('LookupFirstRow').output.firstRow['Prop_0'], '|')
    (注:Prop_0是Lookup读取无表头行时的默认列名;若数据集临时禁用了「首行为表头」,直接用这个列名即可)
  • 条件为True时:执行后续的Data Flow活动
  • 条件为False时:进入错误处理分支

3. 错误处理:移动坏文件

在If Condition的False分支中添加两个活动:

  • Fail活动:自定义错误消息,例如concat('坏文件:', items('ForEach'), ' 首行无竖线分隔符'),标记该文件处理失败
  • Copy活动:
    • 源:通过items('ForEach')指定当前遍历的文件路径
    • 目标:指向拒绝文件夹的数据集
    • 可选:复制完成后添加Delete活动删除原文件,或保留原文件(按需选择)

4. 恢复Data Flow数据源配置

确保Data Flow的源数据集恢复正确的竖线分隔符设置,同时保持「漂移架构」开启,正常处理校验通过的文件。

5. 可选:记录错误日志

若需要留存坏文件信息,可在Fail活动前添加SQL活动或Web活动,将坏文件路径、错误原因写入日志表,方便后续排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:50:10