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

如何在Azure Data Factory中用Filter Activity筛选Rest API Web活动输出

回答

完全可以实现,无需改动现有Web活动拉取REST API、Copy活动写入Blob存储的核心流程,只需要在两个活动之间插入数据处理环节完成筛选即可,根据筛选规则的复杂度可以选两种实现路径:

原生内置活动实现(无额外成本,适配简单筛选场景)

适合按固定字段条件过滤条目、裁剪冗余字段的场景,全程用ADF自带活动完成,不需要额外开发:

  • 先定位Web活动输出中有效业务数据的JSON路径,比如多数分页API返回的业务数组在@activity('你的Web活动名').output.value路径下,鉴权令牌、响应头这类元数据不要纳入后续处理范围。
  • 新增Filter活动连接在Web活动之后:
    • Items参数填入你定位到的业务数组,例如@activity('Call_REST_API').output.data
    • Condition参数写入筛选规则,比如仅保留状态为有效的条目可写@equals(item().is_valid, true),多条件组合可以用and()、or()函数拼接判断逻辑。
  • 如果需要剔除条目里的冗余字段(比如不需要的属性列、敏感字段),在Filter活动后追加Select活动,只映射你需要保留的字段即可,未配置映射的字段会被自动丢弃。
  • 最后修改Copy活动的源配置,不再直接引用Web活动的原始输出,改为引用Filter/Select活动处理完成的输出数组,后续写入JSON文件到Blob的逻辑保持不变。

小提示:如果需要做简单的结构转换、字段值处理,可以用Set Variable活动存储处理后的数组结果,通过ADF内置表达式完成值转换后再传给Copy活动,不需要额外加其他组件。

代码脚本实现(适配复杂筛选场景)

如果筛选规则涉及复杂逻辑(比如正则匹配、跨字段计算、数据去重、关联校验),内置表达式难以实现,可以在Web活动后插入Azure Function活动或者内联脚本活动:

  • 将Web活动返回的原始JSON内容作为入参传入脚本/函数
  • 在代码中实现任意自定义筛选、清洗、裁剪逻辑,返回处理完成的结构化JSON结果
  • 将脚本/函数的输出直接传给Copy活动作为数据源,后续落盘逻辑不需要调整

注意:筛选环节记得把随接口返回的授权令牌、请求追踪ID这类非业务数据全部剔除,既减少不必要的存储占用,也避免敏感凭据随文件存储泄露。

内容的提问来源于stack exchange,提问作者Azure Cloud Enthusiast

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:42:09