我有两个 Azure Cosmos 数据库,我需要将数据从一个数据库迁移到另一个数据库。但是接收器容器已经有数据了。我需要检查源和目标的时间戳,并且仅当源数据是最新的(例如>一月时间戳)时才更新目标,否则不更新。现在我有一个复制任务将所有数据从源复制到接收器,但我如何在 adf 管道中添加上述条件。
水槽只有
更新或插入,但不知道如何在 ADF 管道中过滤此条件
Upsert
选项将插入,并且当接收器中存在键列值时,它将更新接收器。它不会检查源数据和接收器数据是否有变化。当源数据存储和接收器数据存储之间的关键列匹配时,它只会更新。对于您的问题,您可以仅从源中过滤最新记录,然后复制到接收器容器。这将确保只复制更改的记录或新记录。以下是您想要在 ADF 复制活动中进行的更改。
在复制活动源设置中,您可以在use query
按钮中选择
查询选项。
在查询文本框中,点击
add dynamic content
并添加查询
select * from c where c.timestamp_column > @{variables('date')}
这样,只有最新的记录才会被移动以进行更新插入操作。