求助:Azure Cosmos DB模拟器门户无法设置分层分区键
Azure Cosmos DB模拟器设置分层分区键问题解决

- 首先明确:分层分区键在模拟器中是支持的,但目前模拟器的UI界面暂未提供可视化设置选项,你需要通过编程(SDK)或Azure CLI的方式来创建带分层分区键的容器。
关键前置检查
- 确保使用最新版本的Azure Cosmos DB模拟器,建议直接从微软官网下载安装包重新安装,避免自动更新不彻底。
- 启动模拟器时必须完全关闭原有进程,再通过PowerShell执行命令:
.\CosmosDB.Emulator.exe /EnablePreview,确保预览功能真正启用。
可行的创建方式
方式1:使用Azure CLI命令
az cosmosdb sql container create --account-name "localhost" --resource-group "local-resource-group" --database-name "你的数据库名" --name "你的容器名" --partition-key-path "/第一层分区键" --partition-key-path "/第二层分区键"
注:模拟器的默认账户名为
localhost,资源组可随意填写(本地环境无实际关联)。
方式2:使用.NET SDK v3代码
using Microsoft.Azure.Cosmos; // 模拟器默认连接字符串 var cosmosClient = new CosmosClient("https://localhost:8081/", "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="); var database = cosmosClient.GetDatabase("你的数据库名"); // 定义分层分区键数组 var containerProperties = new ContainerProperties("你的容器名", new[] { "/第一层分区键", "/第二层分区键" }); await database.CreateContainerAsync(containerProperties);
容器创建完成后,可在模拟器UI中查看该容器,虽然创建时无法通过UI设置,但分层分区键会正常生效。
内容的提问来源于stack exchange,提问作者Sumchans
相关产品推荐
相关产品推荐

