在我的 MS Azure 数据工厂中,我有一个到嵌套 JSON 数据集的 REST API 连接。
源“预览数据”显示所有数据。 (网上商店7个订单)
在“活动复制数据”中,是菜单选项卡“映射”,我在其中将 JSON 字段与接收器 SQL 表列进行映射。如果我在“Collection Reference”下选择“无”,则所有 7 个订单都会被复制。
但是,如果我想要嵌套元数据,我会在“集合引用”中选择元字段,然后在多个订单行中获取嵌套数据,每个订单行都有一个元数据点,但我只从 1 个订单获取数据,而不是 7 个订单
我想我的问题是有原因的。嵌套元数据中的字段之一既是字符串又是数组。但我还是没有解决办法
元数据的屏幕截图 https://imgur.com/wHKvFqS
您的感觉是对的,它是由您的嵌套结构元数据引起的。基于声明 https://learn.microsoft.com/en-us/azure/data-factory/copy-activity-schema-and-type-mapping#alternative-schema-mapping集合参考属性:
如果您想迭代并从对象内的对象中提取数据
具有相同模式的数组字段并转换为每个对象的每行,
指定该数组的 JSON 路径以进行交叉应用。这个性质
仅当分层数据为源时才支持。
我认为相同的模式是这里的关键点。但是,元数据数组中的数据与屏幕截图不同。
我的解决方法是使用 Azure Blob 存储进行转换,REST API ---> Azure Blob Storage--->Your sink dataset
。在 Blob 存储数据集中,您可以使用以下命令展平传入的 JSON 数据Cross-apply nested JSON array
环境:
你可以参考这个blog https://medium.com/@gary.strange/flattening-json-in-azure-data-factory-2f2130794258了解此功能。然后您可以将拼合数据复制到您的目的地。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)