Azure cosmosdb 使用Azure数据工厂在增量加载期间从Cosmos Db集合中删除文档

Azure cosmosdb 使用Azure数据工厂在增量加载期间从Cosmos Db集合中删除文档,azure-cosmosdb,azure-data-factory,Azure Cosmosdb,Azure Data Factory,我正在尝试将数据从Azure SQL复制到Azure Cosmos Db集合(Mongo API)。我正在使用upsert插入/更新Cosmos Db上的文档。但是,如果源中的任何数据被删除,我如何从Cosmos Db中删除该文档。据我所知,在增量加载期间,不可能从Cosmos Db集合中删除文档 因为,增量加载正在比较LastModifytime。如果在azure sql中删除行,它们在源数据中不存在,复制数据只支持insert和update 如果要同步数据,请在cosmos db中手动删除。

我正在尝试将数据从Azure SQL复制到Azure Cosmos Db集合(Mongo API)。我正在使用upsert插入/更新Cosmos Db上的文档。但是,如果源中的任何数据被删除,我如何从Cosmos Db中删除该文档。

据我所知,在增量加载期间,不可能从Cosmos Db集合中删除文档

因为,增量加载正在比较
LastModifytime
。如果在azure sql中删除行,它们在源数据中不存在,复制数据只支持
insert
update

如果要同步数据,请在cosmos db中手动删除。 您可以在cosmos db中运行删除sql或添加列
DeleteStatus
。当您要删除数据时,请更新
DeleteStatus
LastModifytime
,然后进行增量加载。最后,在cosmos db和azure sql中运行sql:

从xxxx删除,其中DeleteStatus=1


希望这些可以帮助您。

据我所知,在增量加载期间,不可能从Cosmos Db集合中删除文档

因为,增量加载正在比较
LastModifytime
。如果在azure sql中删除行,它们在源数据中不存在,复制数据只支持
insert
update

如果要同步数据,请在cosmos db中手动删除。 您可以在cosmos db中运行删除sql或添加列
DeleteStatus
。当您要删除数据时,请更新
DeleteStatus
LastModifytime
,然后进行增量加载。最后,在cosmos db和azure sql中运行sql:

从xxxx删除,其中DeleteStatus=1


希望这些能对您有所帮助。

谢谢您的建议。我还想知道我们是否可以在使用ADF加载数据之前重新创建集合。但这将保证每次都能满负荷:(谢谢你的建议。我还在考虑是否可以在使用ADF加载数据之前重新创建集合。但这将保证每次都能满负荷:(