基于源数据集负载的 Azure 数据工厂动态输出路径

Azure Data Factory dynamic output path based on source dataset payload

我有一个流分析作业,它不断地将数据转储到 Cosmos DB 中。有效载荷有一个 属性 "Type" 来确定有效载荷本身。即哪些列包含在有效负载中。它是 1 或 2 的整数值。

我正在使用 Azure Data Factory V2 将数据从 Cosmos DB 复制到 Data Lake。我创建了一个带有 activity 的管道来完成这项工作。我正在使用以下设置输出路径文件夹名称:

@concat('datafactoryingress/rawdata/',dataset().productFilter,'/',formatDateTime(utcnow(),'yyyy'),'/')

我想要在数据工厂中识别有效负载本身,即确定类型是 1 还是 2,然后确定数据是在文件夹 1 还是文件夹 2 中。我想迭代 Cosmos DB 中的数据并确定消息类型并根据消息类型进行隔离并动态设置文件夹路径。

有办法吗?我可以检查 Cosmos DB 文档以找出消息类型,然后如何根据它动态设置文件夹路径?

Is there a way to do that? Can I check the Cosmos DB document to find out the message type and then how do I set the folder path dynamically based on that?

遗憾的是,根据 doc,目前 adf 不支持来自源数据集的动态内容。您不能将源数据中的字段作为接收器输出动态参数。根据你的情况,我建议你设置两个独立的管道,分别根据Type字段传输数据。

如果Type 字段是多种多样的,而您又想区分输出路径,ADF 可能不是您合适的选择。您可以编写逻辑代码来满足您的需求。