2

我正在使用 Azure 数据工厂并尝试将作为 JSON 对象数组的 JSON 文件转换为单独的 JSON 文件,每个文件都包含一个元素,例如输入:

[
{"Animal":"Cat","Colour":"Red","Age":12,"Visits":[{"Reason":"Injections","Date":"2020-03-15"},{"Reason":"Check-up","Date":"2020-01-02"}]},
{"Animal":"Dog","Colour":"Blue","Age":1,"Visits":[{"Reason":"Check-up","Date":"2020-02-08"}]},
{"Animal":"Guinea Pig","Colour":"Green","Age":5,"Visits":[{"Reason":"Injections","Date":"2019-12-01"},{"Reason":"Check-up","Date":"2020-02-26"}]}
]

但是,我尝试使用 Data Flow 将此数组拆分为包含 JSON 数组的每个元素的单个文件,但无法解决。理想情况下,我还想动态命名每个文件,例如 Cat.json、Dog.json 和“Guinea Pig.json”。

数据流是 Azure 数据工厂(版本 2)的正确工具吗?

4

1 回答 1

4

数据流应该为你做这件事。您上面的 JSON 片段将生成 3 行。这些行中的每一行都可以发送到单个接收器。将接收器设置为数据集中没有文件名的 JSON 接收器。在接收器转换中,使用“作为列中的数据”的“文件名选项”。在此之前添加一个派生列,使用此表达式设置一个名为“文件名”的新列:

动物 + '.json'

使用列名“文件名”作为接收器中列中的数据。

您将为每一行获得一个单独的文件。

在此处输入图像描述

于 2020-03-16T10:26:33.987 回答