CreateContainerIfNotExistsAsync 无法创建 Azure Cosmos Db 容器。 我正在尝试运行此示例:Azure Cosmos DB 中的分层分区键
错误:响应状态码不表示成功:BadRequest(400);子状态:0;活动ID:c9cfa8db-525b-420e-b765-009a43cd8271;原因:(无服务器帐户不支持在容器上设置报价吞吐量或自动驾驶仪。
private static async Task AddContainerTestAsync()
{
try {
var keys = new List<string> { "/source", "/key" };
// List of partition keys, in hierarchical order. You can have up to three levels of keys.
List<string> subpartitionKeyPaths = keys;
// Create a container properties object
ContainerProperties containerProperties = new ContainerProperties(
id: "test_container",
partitionKeyPaths: subpartitionKeyPaths
);
// Create a container that's subpartitioned by TenantId > UserId > SessionId
Microsoft.Azure.Cosmos.Container container = await cosmosDb.CreateContainerIfNotExistsAsync(containerProperties, throughput: 400);
Console.WriteLine($"created: {container.Id}");
}
catch (Exception e)
{
Console.WriteLine($"Error CreateContainer : {e.Message} {e.StackTrace}.");
}
}
我尝试手动添加容器,发现未指定 RU 吞吐量。 我删除了这个,效果很好。
Microsoft.Azure.Cosmos.Container container = await cosmosDb.CreateContainerIfNotExistsAsync(containerProperties);
我没有看到文章中提到这一点。
你是救世主......我已经为这个问题苦苦挣扎了几个小时,直到我偶然发现了你的解决方案。
不确定为什么 MS 示例代码明确提到使用吞吐量选项。只是想知道您使用的 cosmosdb 类型是什么?我使用 CosmosDB for NoSQL 并且吞吐量选项肯定不起作用。