1

我正在使用数据工厂 v2。我有一个复制活动,它以 Azure SQL 数据集作为输入,以 Azure 存储 Blob 作为输出。我想将我的 SQL 数据集中的每一行写为一个单独的 blob,但我不知道如何做到这一点。

我在复制活动中看到了 copyBehavior,但这仅适用于基于文件的源。

另一个可能的设置是我的数据集中的 filePattern:

指示存储在每个 JSON 文件中的数据模式。允许的值为:setOfObjects 和 arrayOfObjects。

setOfObjects - 每个文件包含单个对象,或行分隔/连接的多个对象。在输出数据集中选择此选项时,复制活动会生成一个 JSON 文件,其中每个对象每行(行分隔)。

arrayOfObjects - 每个文件都包含一个对象数组。

该描述谈到“每个文件”,所以最初我认为这是可能的,但现在我已经测试了它们,似乎 setOfObjects 创建了一个行分隔文件,其中每一行都写入一个新行。setOfObjects 设置创建一个带有 json 数组的文件,并将每一行添加为数组的一个新元素。

我想知道我是否在某处缺少配置,还是不可能?

4

1 回答 1

4

我现在所做的是将行加载到 SQL 表中,并为表中的每条记录运行一个 foreach。我使用 Lookup 活动让数组在 Foreach 活动中循环。foreach 活动将每一行写入 blob 存储。

对于 Olga 的 documentDb 问题,它看起来像这样: 管道

在查找中,您将获得要复制的文档 ID 的列表: 在此处输入图像描述

您在 foreach 活动中使用该集合 在此处输入图像描述

然后使用 foreach 活动中的复制活动复制文件。您在源中查询单个文档: 在此处输入图像描述

您可以使用 id 在接收器中动态命名您的文件。(您也必须在数据集中定义参数): 在此处输入图像描述 在此处输入图像描述

于 2018-04-10T11:52:19.540 回答