Azure 数据工厂 - 我们可以在摄取前订购复制数据源吗

Azure DataFactory - Can we ordered CopyData source before ingestion

我有一个案例需要将 CSV 文件提取到 CosmosDb 中。 所以我有一个数据集来处理 CSV,另一个数据集来准备 CosmosDb 模式。

在管道中,我有一个来自 CSV 的 CopyData 任务映射,然后写入 Cosmos。 在 CopyData Source 参数中,我指定了一个存储 CSV 的 Azure Blob 存储。

到目前为止,没有任何问题。 问题是,我现在需要找到一种方法来确保像按字母顺序排列的文件数组(基于文件名)一样摄取 blob。

有办法吗?

很难在 ADF 中按文件名排序。

一种实现方式:

将所有文件名保存在 csv 文件中,然后在数据流中使用排序 activity 并覆盖此文件。最后,使用 Lookup 和 For Each activity 将 blob 复制到 Cosmos DB。

另一种方式:

将获取元数据 activity 的输出的子项传递给 Azure 函数。然后在 Azure Functions 中对文件名进行排序。最后,通过 For Each activity 循环输出 Function 并复制到 Cosmos DB.