在 Azure 数据工厂中选择具有特定文件名的文件

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

我希望使用 Azure 数据工厂将文件从 Blob 存储复制到另一个 Blob。不过,我只想选择以 AAABBBCCC 、 XXXYYYZZZ 和 MMMNNNOOO 开头的文件。剩下的我想忽略。

azure-data-factory azure-blob-storage
3个回答
0
投票

在 ADF 中,使用复制活动和通配符路径来设置匹配的文件模式

enter image description here


0
投票

您可以使用

prefix
选择要复制的文件。此示例展示了如何使用 Azure 数据工厂将 blob 复制到 blob。

prefix
:指定一个字符串,用于过滤结果以仅返回名称以指定前缀开头的 blob。

// List blobs start with "AAABBBCCC" in the container
await foreach (BlobItem blobItem in client.GetBlobsAsync(prefix: "AAABBBCCC"))
{
    Console.WriteLine(blobItem.Name);
}

具有ADF设置:

Wildcard paths
设置
AAABBBCCC*
。欲了解更多详情,请参阅此处

enter image description here


0
投票

有两种选择可以执行此操作。
选项一是创建 3 个并行运行的复制活动:对于每个复制活动,在源中根据需要标记前缀。如果以 XXYYZZ 开头的文件要写入 XXYYZZ 表,则此选项非常有用。所以我们将有 3 个 csv 作为源,3 个表作为接收器。
源指向特定位置(在本例中为 bolb 存储),这就是前缀的设置方式: copy if meeting a specific prefix

另一个选项是使用元数据并在那里进行过滤。通过比较条件是否满足“XXYYZZ”、“AABBCC”或“MMMNNNOOO”模式,它将复制文件。这款保护套非常适合简单的复印活动。

您可以在此处找到如何设置元数据的示例:
查看 Bulk Copy From File 模板,并在 FOR EACH 循环内添加 if 条件,如下所示: bulk copy with if condition

在 foreach 和 if 条件中,它是这样的:

enter image description here

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