我正在使用Azure Cosmos DB,并且需要获取特定数据库集合的所有文档。为了执行存储过程,他们要求输入分区键值,但是我需要没有任何过滤器的查询结果。
如何在不提及分区键的情况下为特定数据库创建集合?我正在访问https://portal.azure.com/中的Cosmos DB。我必须从该UI本身而不是从代码创建一个集合。
答案 0 :(得分:0)
首先,关于存储过程的执行需要分区键。您可以在link中找到以下清晰的语句:
如果存储过程与Azure Cosmos容器相关联, 然后在一个存储区的事务范围内执行该存储过程 逻辑分区键。每个存储过程执行必须包含一个 与分区范围相对应的逻辑分区键值 交易。有关更多信息,请参见Azure Cosmos DB分区 文章。
第二,过去,您可以在门户上创建非分区集合。但是现在,您不能。请参阅我以前的案例:Is it still a good idea to create comos db collection without partition key?。根据您的描述,您不需要分区集合。因此,请使用Cosmos DB SDK创建非分区集合。如:
DocumentCollection collection = new DocumentCollection();
collection.set("id","jay");
ResourceResponse<DocumentCollection> createColl = client.createCollection("dbs/db",collection,null);