使用 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: 将接收器数据集添加到输出数据集。
现在你可以 运行 数据流了。
我的工作是将数据从我在 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: 将接收器数据集添加到输出数据集。 现在你可以 运行 数据流了。