我对cosmos Db非常陌生,并且需要删除完整的分区。在进行简短的研究时,我发现删除分区不是一件事。因此,我偶然发现了以下链接,这是批量删除的存储过程
https://github.com/Azure/azure-cosmosdb-js-server/blob/master/samples/stored-procedures/bulkDelete.js
我在我的集合上创建了这个存储过程,并单击“执行”。
我输入了分区键和输入参数'select * from c'。但是,我可以看到一次只删除了38个文档,并且查询成功完成。是否有任何设置强制存储过程过早停止?
3条答案
按热度按时间flmtquvp1#
正如你在评论中提到的,你的情况取决于分配的罗斯。我提供了下面的示例存储过程代码。你可以参考它。
此外,据我所知,存储过程有5秒的执行限制。如果您遇到超时错误,您可以将continuation令牌作为参数传递给存储过程并执行存储过程多次。
有任何问题,请告诉我。谢谢。
xqk2d5yq2#
如果您正在创建上面的存储过程,请确保在执行时您将给予分区键的值,而不是分区键列的名称。
另外Cosmos DB存储过程一次只能在一个分区中运行,并且与您传入Input(分区键值)的分区相同。
hkmswyz63#
我们现在可以delete items by partition key。该功能目前处于公开预览中,Java和.NET SDK支持也可在预览包中使用。