为何Azure Data Factory的Azure Function活动无法提交JSON数组?
问题原因
核心差异在于Azure Data Factory中Azure Function活动与Web活动对请求体的处理逻辑不同:
- Web活动会直接将你输入的原始JSON数组作为请求体发送给Azure Function。
- Azure Function活动则会自动把你输入的请求体内容包裹在一个名为
Input的顶层JSON对象中。
举个实际的例子:
你输入的请求体是:
[{"key1": "value1"}, {"key2": "value2"}]
通过Azure Function活动发送时,实际到达Python函数的请求体变成了:
{ "Input": [{"key1": "value1"}, {"key2": "value2"}] }
如果你的代码后续逻辑是把req.get_json()的返回值当作数组处理(比如直接遍历、按索引访问),就会因为实际拿到的是一个包含Input字段的对象而非数组,触发ValueError;而Web活动传递的是原始数组,代码能正常解析处理。
内容的提问来源于stack exchange,提问作者ecormaksin
相关产品推荐
相关产品推荐

