ADF中如何配置Web Activity发送数据集文件数据至Service Bus
配置方法
你当前请求体里携带的datasets、linkedServices字段只是ADF里数据集、链接服务的元数据定义,根本没有读取存储文件内的真实业务数据,要实现发送存储文件真实内容到Service Bus,按以下步骤调整:
- 新增查找(Lookup)活动作为Web活动的上游
将你当前关联存储账户的数据集绑定到该查找活动,配置时取消勾选「仅第一行」选项,同时确认数据集配置的文件格式(CSV/JSON/Parquet等)和存储内实际文件格式完全匹配。活动运行后,存储文件的真实内容会存在活动输出的@activity('你自定义的查找活动名称').output.value路径下。
注意:查找活动单次读取上限为4MB,单文件大小超过阈值时不要用该方案,建议通过Azure函数中转读取后再转发到Service Bus。 - 调整Web活动请求体配置
删除原有请求体里的datasets、linkedServices元数据字段,直接引用查找活动输出的真实数据作为报文内容,参考配置:
{ "myMessage": "StorageFileContent", "data": @activity('你自定义的查找活动名称').output.value }
如果你的Service Bus有固定的报文结构要求,直接把引用的真实数据填充到对应字段即可,不需要保留ADF资源定义相关的节点。
- 校验Web活动基础配置
确认请求头Content-Type和发送的数据格式匹配,发送JSON内容时设置为application/json;鉴权部分如果用Service Bus SAS令牌,要确认令牌拥有发送权限、且在有效期内。
如果要发送的存储文件是二进制类型(图片、压缩包等非文本文件),需要先将文件内容转为base64字符串再填入请求体,否则会触发序列化报错。
内容的提问来源于stack exchange,提问作者Andrés Castaño
相关产品推荐
相关产品推荐

