在 Azure Cosmos 容器上预配标准(手动)吞吐量 - SQL API

适用于: SQL API

本文说明了如何在 Azure Cosmos DB SQL API 的容器中预配标准(手动)吞吐量。 可以为单个容器预配吞吐量,也可以为数据库预配吞吐量,并在数据库中的容器之间共享。 可以使用 Azure 门户、Azure CLI 或 Azure Cosmos DB SDK 为容器预配吞吐量。

如果你使用其他 API,请参阅用于 MongoDB 的 APICassandra APIGremlin API 文章来预配吞吐量。

Azure 门户

  1. 登录 Azure 门户

  2. 创建新的 Azure Cosmos 帐户,或选择现有的 Azure Cosmos 帐户。

  3. 打开“数据资源管理器”窗格,然后选择“新建容器” 。 接下来,请提供以下详细信息:

    • 表明要创建新数据库还是使用现有数据库。
    • 输入容器 ID。
    • 输入分区键值(例如 /ItemID)。
    • 选择“自动缩放”或“手动缩放”吞吐量并输入所需的“容器吞吐量”(例如,1000 RU/秒)。 输入要预配的吞吐量(例如,1000 RU)
    • 选择“确定” 。

    数据资源管理器的屏幕截图,突出显示“新建集合”

Azure CLI 或 PowerShell

若要创建具有专用吞吐量的容器,请参阅

.NET SDK

备注

使用适用于 SQL API 的 Cosmos SDK 为除 Cassandra 和 MongoDB API 之外的所有 Cosmos DB API 预配吞吐量。

// Create a container with a partition key and provision throughput of 400 RU/s
DocumentCollection myCollection = new DocumentCollection();
myCollection.Id = "myContainerName";
myCollection.PartitionKey.Paths.Add("/myPartitionKey");

await client.CreateDocumentCollectionAsync(
    UriFactory.CreateDatabaseUri("myDatabaseName"),
    myCollection,
    new RequestOptions { OfferThroughput = 400 });

JavaScript SDK

// Create a new Client
const client = new CosmosClient({ endpoint, key });

// Create a database
const { database } = await client.databases.createIfNotExists({ id: "databaseId" });

// Create a container with the specified throughput
const { resource } = await database.containers.createIfNotExists({
id: "containerId",
throughput: 1000
});

// To update an existing container or databases throughput, you need to user the offers API
// Get all the offers
const { resources: offers } = await client.offers.readAll().fetchAll();

// Find the offer associated with your container or the database
const offer = offers.find((_offer) => _offer.offerResourceId === resource._rid);

// Change the throughput value
offer.content.offerThroughput = 2000;

// Replace the offer.
await client.offer(offer.id).replace(offer);

后续步骤

请参阅以下文章,了解如何在 Azure Cosmos DB 中预配吞吐量: