使用 Azure 数据工厂从包含数百万个文件的 Azure Blob 存储中过滤和复制文件的有效方法是什么?

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

我想复制 Azure Blob 存储中容器中的文件,其中包含大约 10,000,000 个 CSV 或 Zip 文件。

文件名格式类似于“Energy_ReportName_Timestamp_VersionNumber.zip”。示例文件名可以是“Energy_Payment_20231209110007_0000000404988124.zip”。 文件名末尾的版本号没有规则的模式。

我想过滤特定 ReportNameDatezip 文件,并将这些文件复制到另一个容器。

例如,“ReportName”= Payment 的文件;和日期 = 20231209(在此日期的任何时间和任何版本号)。

由于源容器中有数百万个文件,我正在寻找一种快速找到所需文件并使用 Azur eData Factory 中的复制活动将它们复制到接收器容器的方法。

请注意,这是客户端使用 Azure 数据工厂的要求。它是管道的一部分。所有文件都位于容器中,没有子文件夹或嵌套文件夹。

如果有任何想法请告诉我。

performance filter copy azure-data-factory azure-blob-storage
1个回答
0
投票

您可以按照@Simon Goater在评论中的建议,在复制活动源中使用通配符文件名

查看以下演示:

这些是我的输入容器中名为

inputdata
的文件。

Energy_Payment_20231209110007_0000000404988124.zip
Source_Payment_20231209010215_0000000404982426.zip
Employee_Payment_20231209122424_00000004049171224.zip
Business_Cash_20231209101602_0000000404988124.zip
Fund_Payment_20231208161001_0000000404988124.zip

在 ADF 管道的复制活动中,获取二进制源和二进制目标数据集。在源数据集中,给出路径直到容器名称。

enter image description here

同样,给出目标二进制数据集中直到目标容器的路径。

enter image description here

现在,提供源数据集以复制活动源并提供通配符文件名

*Payment_20231209*.zip
,如下所示。

enter image description here

将目标数据集提供给复制活动接收器并调试管道。您可以看到所需的文件将被复制到目标位置,如下所示。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.