使用 DataFactory 将文档从一个容器复制到另一个容器并在文档中添加分区键值

Using DataFactory to copy documents from one container to another and adding a partition key value in the document

我的工作是将数据从我在 CosmosDb 中的容器移动到同一数据库中的另一个容器。在我的新数据库中,我将分区键定义为 /PKey 但要移动的文档没有名为“PKey”的键。我想在将文档移动到新容器时创建此键,并且此 PKey 将通过连接文档中的几个键值来包含值(例如 PKey:“将是文档中 Id 和名称键的组合”)。

所以如果我的来源是:{Name: "ZZZ", ID: 21} 我的目标将是 {Name: "ZZZ", ID: 21, PKey: "ZZZ21"}

我想知道这在我为此副本选择的数据工厂中是否可行 activity ,即我是否可以在移动时即时创建密钥 documents.Thanks

您可以对派生列使用 concat(Name,toString(ID)) 表达式。

详细步骤如下

步骤 1: 创建数据流

第 2 步: 在数据流中创建 1.Source、2.Derive Column 和 3.Sink Destination,如下图所示

Step3:Source1

中添加源数据集

Step4:Derived Column 中创建 new column 如下图所示 使用 concat(Name,toString(ID)) 表达式创建 PKey 分区列

Step5: 你会得到如下输出

Step6: 将接收器数据集添加到输出数据集。 现在你可以 运行 数据流了。