在 Azure 数据工厂中使用“获取元数据”活动时,“执行输出的长度超出限制(当前约为 4MB)”

问题描述 投票:0回答:1

我想使用 Azure 数据工厂中的“获取元数据”活动获取容器、Azure Blob 存储中的文件列表。

容器中有很多文件,大约有 10,000,000 个文件(zip 文件)。

活动失败并出现以下错误:

The length of execution output is over limit (around 4MB currently)

有什么方法可以在此活动中应用过滤器来限制输出大小?

或者如果有其他解决方案,请告诉我。

filter azure-data-factory azure-blob-storage metadata
1个回答
1
投票

“执行输出的长度超出限制(目前约为 4MB)”

错误原因是您获取子项目的文件夹或容器包含超过 5000 个子项目,并且输出大小超过 4MB。

要解决此问题,您可以创建一个包含 5000 个文件名的文件来迭代过度使用数据流(如果您有非二进制文件类型)。

  1. 创建数据流并使用容器添加源数据集。 enter image description here 和源设置为通配符并添加文件路径。 enter image description here 它将添加 filespath 列以及相应的文件路径。然后使用聚合转换按 filepath 列进行分组并创建 filepaths 所有列,如下所示: enter image description here enter image description here 然后在接收器转换中添加文件夹名称为bunchall的接收器数据集 enter image description here 分区文件的接收器设置如下 enter image description here 对数据进行分区,得到每个文件有4500个文件名的文件。 enter image description here

输出: enter image description here

  1. 然后使用相同的接收器数据集,您将在获取元数据活动中获取该文件夹中的所有文件。 enter image description here
  2. 然后将此输出传递给 Foreach 循环,然后在 foreach 下进行查找活动以获取分区文件中的文件名。
© www.soinside.com 2019 - 2024. All rights reserved.