Azure cosmosdb 在插入文档之前清除DocumentDB集合

Azure cosmosdb 在插入文档之前清除DocumentDB集合,azure-cosmosdb,Azure Cosmosdb,我需要知道如何在插入新文档之前清除documentdb集合。我正在使用datafactory管道活动从prem sql server上提取数据,并插入到documentdb集合中。频率设置为每2小时一次。因此,当下一个周期运行时,我想首先清除documentdb集合中的现有数据。如何做到这一点?最简单的方法是以编程方式删除集合,并使用相同的名称重新创建它。我们的测试脚本会自动执行此操作。由于微妙的竞争条件,这可能会失败,但我们发现在删除和重新创建之间添加半秒延迟可以避免这种情况 或者,可以获取每

我需要知道如何在插入新文档之前清除documentdb集合。我正在使用datafactory管道活动从prem sql server上提取数据,并插入到documentdb集合中。频率设置为每2小时一次。因此,当下一个周期运行时,我想首先清除documentdb集合中的现有数据。如何做到这一点?

最简单的方法是以编程方式删除集合,并使用相同的名称重新创建它。我们的测试脚本会自动执行此操作。由于微妙的竞争条件,这可能会失败,但我们发现在删除和重新创建之间添加半秒延迟可以避免这种情况


或者,可以获取每个文档id,然后一次删除一个。这可以从存储过程(存储过程)中最有效地完成,因此您不必将其发送到所有网络上,但它仍然会消耗RU和时间。

如何使用存储过程的方式来完成?是我编写的一个存储过程,它允许您传入筛选器表达式,并将删除所有这些文档。注意,如果您使用的是documentdb utils,它将自动继续调用存储过程,直到完成。如果您只是使用存储过程,那么您必须自己继续调用它,直到没有延续令牌返回为止。如果您不知道CoffeeScript,只需剪切并粘贴它,它就会为您编译为JavaScript。更正,该特定存储过程不会处理延续令牌,但您可以使用该文件夹中的其他存储过程之一轻松添加它。