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

如何将3个Web Activity获取的API数据写入数据湖Raw Zone?

将API响应写入数据湖Raw Zone的实现方案(Azure Data Factory)

核心思路

利用Copy Activity将Web Activity返回的原始响应直接写入数据湖,全程保留数据原始格式,适配Raw Zone的存储需求。


具体步骤

1. 捕获Web Activity的响应数据

每个Get请求Web Activity的响应会自动存入活动输出,可通过以下表达式引用:

@activity('<你的Web Activity名称>').output

例:若第一个API请求的Web Activity名为Get_User_API,则引用表达式为@activity('Get_User_API').output。

2. 为每个Web Activity配置对应的Copy Activity

在每个Get请求的Web Activity后添加一个Copy Activity,用于将响应写入数据湖:

  • 源(Source)配置:
    1. 源类型选择Inline,格式匹配API响应类型(通常为JSON)
    2. 在「Content」字段中填入上述引用Web Activity输出的表达式
    3. 若API返回单个对象而非数组,可包装为数组方便后续处理:
      @array(activity('Get_User_API').output)
      
  • 目标(Sink)配置:
    1. 目标类型选择Azure Data Lake Storage Gen2,关联已配置好的Raw Zone存储Linked Service
    2. 数据集格式选择JSON(或API返回的原始格式)
    3. 设置文件路径,建议按API分类+时间戳命名,避免文件冲突:
      raw/user_api/@{formatDateTime(utcNow(), 'yyyyMMddHHmmss')}.json
      
    4. 「Sink Behavior」选择Create new file(Raw Zone优先保留原始版本,不覆盖)

3. 配置活动依赖与并行执行

  • 确保认证Web Activity完成后,才触发三个Get请求的Web Activity(通过「Success」依赖关系)
  • 三个Get请求+Copy Activity的组合可并行执行,提升Pipeline效率:
    1. 选中三个Web Activity,右键选择「Set Parallel」
    2. 对应每个Web Activity的Copy Activity,设置依赖为其前置Web Activity的「Success」状态

4. 权限与验证

  • 确保数据湖Linked Service的身份(如MSI、Service Principal)拥有Storage Blob Data Contributor权限,可读写Raw Zone目录
  • 测试Pipeline时,查看Copy Activity的输出日志,确认文件已成功写入数据湖,且内容与API响应一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:42:55