You need to enable JavaScript to run this app. 如何在Azure Data Factory的Web Activity中使用PATCH请求
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Data Factory的Web Activity中使用PATCH请求

操作配置方案

方案1:基于双Web活动的调整实现(沿用你现有思路)

你当前仅获取Blob存储URL的配置无法直接传递文件内容,需要先调整第一个Web活动的作用为读取Blob文件内容,再给第二个PATCH活动传值,具体配置如下:

第一步:调整第一个Web活动(读取Blob内容)

  • 请求方法选择 GET
  • URL填写Blob的完整访问地址:如果用SAS鉴权就填带SAS令牌的完整URL,如果用托管身份鉴权就填普通Blob URL,同时给对应托管身份分配「存储Blob数据读者」角色
  • 请求头添加参数:Accept: <文件对应的MIME类型>,纯文本编号文件填text/plain,JSON格式填application/json,通用二进制格式填application/octet-stream
  • 运行调试确认第一个活动的输出字段中,Response(部分环境为全小写response)为文件的完整内容

第二步:配置第二个Web活动(PATCH请求传值)

  • 请求方法选择 PATCH
  • URL填写你要调用的目标接口地址
  • 请求头按照目标接口要求填写,必填的Content-Type要和你传的文件内容格式匹配
  • 请求体(Body)填写动态表达式:@activity('<第一个Web活动的名称>').output.Response,注意根据第一步调试的输出字段大小写调整Response的拼写
  • 鉴权方式按照目标接口的要求选择(API密钥、Basic Auth、托管身份等)

方案2:用Lookup活动替代第一个Web活动(更稳定,推荐小文件场景)

如果你的编号文件大小不超过4MB,用Lookup活动读Blob内容不需要额外处理鉴权、MIME类型配置,操作更简单:

  • 先创建Blob存储的链接服务,再创建数据集指向你存唯一编号的目标文件
  • 添加Lookup活动,关联上述数据集,勾选「将整个文件视为单个值」选项
  • 后续PATCH Web活动的Body直接引用表达式:@activity('<Lookup活动的名称>').output.value

特殊场景处理

  • 如果文件大小超过4MB:Web活动和Lookup活动的单条负载都不支持传输,你需要先加一个复制活动将文件转存到目标服务可直接读取的位置,或新增Azure Function活动读取大文件内容后再调用PATCH接口
  • 如果目标接口要求以form-data格式传文件:需要在Web活动请求头添加Content-Type: multipart/form-data; boundary=<自定义分隔符>,Body按照form-data格式拼接,将文件内容写入对应字段即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:09:03