在Azure Cosmos DB中,我们可以稍后在开始时决定更改分区密钥

Mik*_*ike 10 database-partitioning azure-cosmosdb

我是Cosmos DB的新手,我注意到我们可以根据需要设置分区键,以便通过以下代码有效扩展:

DocumentCollection myCollection = new DocumentCollection();
myCollection.Id = "coll";
myCollection.PartitionKey.Paths.Add("/deviceId");
Run Code Online (Sandbox Code Playgroud)

问题是我们可以在创建集合之后更改分区键并指定分区键吗?我可能会发现分区键的选择以后不合适.

que*_*tzt 7

不支持更改分区键(参见例如https://docs.microsoft.com/en-us/rest/api/cosmos-db/replace-a-collection)。您需要创建一个新集合。

  • 这是非常重要的一点,以至于所有在线文档中都没有提到这一点。至少在 MS 网站上找不到容易找到的地方。“复制到带有分区的另一个集合”过程应该更容易完成,因为在我看来,没有人真正知道分区的重要性,除非他们必须这样做,到那时就为时已晚了。 (2认同)