首页 > 解决方案 > 如何使用 Azure 门户在 Cosmos DB 中创建单个分区集合

问题描述

我正在使用 Azure Cosmos DB,我需要获取特定数据库集合的所有文档。因此,为了执行存储过程,他们要求输入分区键值,但我需要没有任何过滤器的查询结果。

如何在不提及分区键的情况下为特定数据库创建集合?我正在https://portal.azure.com/中访问 Cosmos DB 。我必须从该 UI 本身创建一个集合,而不是从代码。

标签: azureazure-cosmosdb

解决方案


首先,关于存储过程执行需要分区键。您可以在链接中找到以下明确的语句:

如果存储过程与 Azure Cosmos 容器相关联,则该存储过程将在逻辑分区键的事务范围内执行。每个存储过程执行都必须包含一个与事务范围相对应的逻辑分区键值。有关详细信息,请参阅 Azure Cosmos DB 分区文章。

其次,过去可以在门户上创建非分区集合。但现在,你不能。请看我之前的案例:创建没有分区键的comos db集合仍然是个好主意吗?. 根据您的描述,您不需要分区集合。因此,请通过 Cosmos DB SDK 创建非分区集合。如:

DocumentCollection collection = new DocumentCollection();
collection.set("id","jay");
ResourceResponse<DocumentCollection> createColl = client.createCollection("dbs/db",collection,null);

推荐阅读