如何用Azure Data Factory数据流在传输前移除日志指定字段
Azure Data Factory 日志字段移除解决方案
是否需要ADF数据流?
是的,必须使用ADF数据流。Copy Data活动仅能完成数据传输,不支持对JSON结构进行字段过滤、移除这类转换操作,而ADF数据流是专门处理结构化/半结构化数据ETL的组件,刚好适配你的需求。
具体实现步骤
- 创建数据流并配置源:新建数据流,添加源数据集指向你的日志文件存储位置,将数据集格式设为JSON,若日志是多行JSON需勾选「Multi-line」选项,确保正确解析每条记录。
- 添加派生列转换:在源节点后添加「派生列」转换,用于修改
attributes对象。 - 编写字段移除表达式:在派生列中,对
attributes列使用dropColumns函数移除指定字段,表达式如下:
直接用这个表达式覆盖原dropColumns(attributes, ['orgToken', 'partnerToken', 'phi_msg'])attributes列即可。 - 配置接收器:添加接收器数据集指向目标存储位置,保持JSON格式配置与源匹配,确保处理后的结构正确写入。
- 管道中调用数据流:在管道里添加「数据流活动」,关联你创建的这个数据流,用它替代原来的Copy Data活动,完成转换+传输的全流程。
验证建议
测试阶段可以先选取少量日志样本运行数据流,检查输出文件中attributes对象下的orgToken、partnerToken、phi_msg字段是否已被移除,确认无误后再执行全量任务。
内容的提问来源于stack exchange,提问作者Fasan K
相关产品推荐
相关产品推荐

