我想复制 Azure Blob 存储中容器中的文件,其中包含大约 10,000,000 个 CSV 或 Zip 文件。
文件名格式类似于“Energy_ReportName_Timestamp_VersionNumber.zip”。示例文件名可以是“Energy_Payment_20231209110007_0000000404988124.zip”。 文件名末尾的版本号没有规则的模式。
我想过滤特定 ReportName 和 Date 的 zip 文件,并将这些文件复制到另一个容器。
例如,“ReportName”= Payment 的文件;和日期 = 20231209(在此日期的任何时间和任何版本号)。
由于源容器中有数百万个文件,我正在寻找一种快速找到所需文件并使用 Azur eData Factory 中的复制活动将它们复制到接收器容器的方法。
请注意,这是客户端使用 Azure 数据工厂的要求。它是管道的一部分。所有文件都位于容器中,没有子文件夹或嵌套文件夹。
如果有任何想法请告诉我。
您可以按照@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 管道的复制活动中,获取二进制源和二进制目标数据集。在源数据集中,给出路径直到容器名称。
同样,给出目标二进制数据集中直到目标容器的路径。
现在,提供源数据集以复制活动源并提供通配符文件名
*Payment_20231209*.zip
,如下所示。
将目标数据集提供给复制活动接收器并调试管道。您可以看到所需的文件将被复制到目标位置,如下所示。