是否可以为所有分区集合执行存储过程。如果不是我如何在没有往返的情况下存档?
先谢谢。
答案 0 :(得分:4)
不,sprocs在单个分区中执行,并且没有自动扇出来执行sprocs。调用它们时需要指定分区键。
假设您的意思是“实现”而不是“存档”,我的第一个建议是设计您的应用并选择您的PK,以便每次通话时都可以使用。没有你唯一的另一个选择是手动进行扇出。您可以并行执行此操作,因此延迟仅略高于单个分区,但它将消耗n倍的RU,因此整体RU吞吐量限制可能会限制您。
自己制作扇出的难点在于,您无法控制分区集合中分区的数量和范围。因此,您需要在进行扇出之前检索它们。我不知道其他SDK,但我还没有看到它在node.js SDK中直接支持。但是,REST API实现了执行此操作的端点https://{your endpoint domain}.documents.azure.com/dbs/{your collection's uri fragment}/pkranges
,因此您可能必须直接调用它,具体取决于您的SDK。这将告诉您集合中每个分区的当前pks范围。最小值包含在内,因此您可以使用它来拨打电话。