CreateContainerIfNotExistsAsync 失败 BadRequest 无服务器帐户不支持在容器上设置报价吞吐量或自动驾驶仪

问题描述 投票:0回答:2

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}.");
    }
}
c# azure-cosmosdb
2个回答
2
投票

我尝试手动添加容器,发现未指定 RU 吞吐量。 我删除了这个,效果很好。

Microsoft.Azure.Cosmos.Container container = await cosmosDb.CreateContainerIfNotExistsAsync(containerProperties);

我没有看到文章中提到这一点。


-1
投票

你是救世主......我已经为这个问题苦苦挣扎了几个小时,直到我偶然发现了你的解决方案。

不确定为什么 MS 示例代码明确提到使用吞吐量选项。只是想知道您使用的 cosmosdb 类型是什么?我使用 CosmosDB for NoSQL 并且吞吐量选项肯定不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.