Azure Data Factory Copy Activity REST源/接收器及Azure Search适配问题咨询
Azure Data Factory Copy Activity相关问题解答
一、REST数据集预览返回数组是否为预期行为
这是ADF Copy Activity处理REST源的预期行为。ADF会自动将REST API返回的单对象数据包装成数组,统一数据格式以便后续处理;而直接访问第三方REST API时,返回的是API原生的对象结构,两者处理逻辑不同。
二、Copy Activity是否支持Azure Search作为源
目前Copy Activity原生不支持Azure Search作为数据源,需通过REST数据集对接Azure Search的搜索文档API来实现数据读取。
三、解决Azure Search接收器请求体格式错误的问题
报错An unexpected 'StartArray' node was found when reading from the JSON reader. A 'StartObject' node was expected,原因是Copy Activity默认直接将源数据的数组作为请求体发送,不符合Azure Search接收器要求的外层对象格式,可通过以下方式解决:
- 数据流动中转处理:添加数据流动环节,将源数组包装为包含
value属性的对象。例如在派生列中构造根对象,把原数组赋值给value字段。 - 自定义活动实现:使用自定义活动调用Azure Search API,自行构造符合要求的请求体,完全控制请求结构。
- 映射与表达式调整:在Copy Activity接收器设置中,利用映射功能结合ADF表达式语言,将数组包装为外层对象。例如在请求体模板中使用
{"value": @item()}(需配合批量/分页逻辑调整)。
内容的提问来源于stack exchange,提问作者Matthew Campbell
相关产品推荐
相关产品推荐

