Azure Cosmos コンテナー上でのスループットをプロビジョニングするProvision throughput on an Azure Cosmos container

この記事では、Azure Cosmos DB のコンテナー (コレクション、グラフ、またはテーブル) のスループットをプロビジョニングする方法について説明します。This article explains how to provision throughput on a container (collection, graph, or table) in Azure Cosmos DB. スループットは、単一のコンテナーを対象にプロビジョニングできるほか、データベースを対象にプロビジョニングして、それをデータベース内の複数のコンテナーで共有することもできます。You can provision throughput on a single container, or provision throughput on a database and share it among the containers within the database. コンテナーのスループットは、Azure portal、Azure CLI、Azure Cosmos DB SDK のいずれかを使用してプロビジョニングできます。You can provision throughput on a container using Azure portal, Azure CLI, or Azure Cosmos DB SDKs.

Azure portal を使用してスループットをプロビジョニングするProvision throughput using Azure portal

  1. Azure Portal にサインインします。Sign in to the Azure portal.

  2. 新しい Azure Cosmos アカウントを作成するか、既存の Azure Cosmos アカウントを選択します。Create a new Azure Cosmos account, or select an existing Azure Cosmos account.

  3. [データ エクスプローラー] ウィンドウを開いて [新しいコレクション] を選択します。Open the Data Explorer pane, and select New Collection. 次に、以下の詳細を指定します。Next, provide the following details:

    • 新しいデータベースを作成するか、既存のデータベースを使用するかを指定します。Indicate whether you are creating a new database or using an existing one.
    • コンテナー (またはテーブル、グラフ) ID を入力します。Enter a Container (or Table or Graph) ID.
    • パーティション キーの値 (/userid など) を入力します。Enter a partition key value (for example, /userid).
    • プロビジョニングするスループットを入力します (例: 1,000 RU)。Enter a throughput that you want to provision (for example, 1000 RUs).
    • [OK] を選択します。Select OK.

[新しいコレクション] が強調表示されている [データ エクスプローラー] のスクリーンショット

Azure CLI を使用してスループットをプロビジョニングするProvision throughput using Azure CLI

# Create a container with a partition key and provision throughput of 400 RU/s
az cosmosdb collection create \
    --resource-group $resourceGroupName \
    --collection-name $containerName \
    --name $accountName \
    --db-name $databaseName \
    --partition-key-path /myPartitionKey \
    --throughput 400

PowerShell を使用してスループットをプロビジョニングするProvision throughput using PowerShell

# Create a container with a partition key and provision throughput of 400 RU/s
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "database1"
$containerName = "container1"
$resourceName = $accountName + "/sql/" + $databaseName + "/" + $containerName

$ContainerProperties = @{
    "resource"=@{
        "id"=$containerName;
        "partitionKey"=@{
            "paths"=@("/myPartitionKey");
            "kind"="Hash"
        }
    };
    "options"=@{ "Throughput"= 400 }
}

New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts/apis/databases/containers" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $resourceName -PropertyObject $ContainerProperties

MongoDB 用 Azure Cosmos DB API を使用して構成された Azure Cosmos DB アカウントのコンテナーに対するスループットをプロビジョニングする場合は、パーティション キーのパスとして /myShardKey を使用します。If you are provisioning throughput on a container in an Azure Cosmos account configured with the Azure Cosmos DB API for MongoDB, use /myShardKey for the partition key path. Cassandra API を使用して構成された Azure Cosmos アカウントのコンテナーに対するスループットをプロビジョニングする場合は、パーティション キーのパスとして /myPrimaryKey を使用します。If you are provisioning throughput on a container in an Azure Cosmos account configured with Cassandra API, use /myPrimaryKey for the partition key path.

.NET SDK を使用してスループットをプロビジョニングするProvision throughput by using .NET SDK

注意

Cassandra API を除くすべての Cosmos DB API シリーズに対するスループットをプロビジョニングするには、SQL API 用の Cosmos SDK を使用します。Use the Cosmos SDKs for SQL API to provision throughput for all Cosmos DB APIs, except Cassandra API.

SQL API、MongoDB API、Gremlin API、Table APISQL, MongoDB, Gremlin, and Table APIs

.Net V2 SDK.Net V2 SDK

// 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 });

.Net V3 SDK.Net V3 SDK

// Create a container with a partition key and provision throughput of 1000 RU/s
string containerName = "myContainerName";
string partitionKeyPath = "/myPartitionKey";

await this.cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(
    id: containerName,
    partitionKeyPath: partitionKeyPath,
    throughput: 1000);

Cassandra APICassandra API

// Create a Cassandra table with a partition (primary) key and provision throughput of 400 RU/s
session.Execute(CREATE TABLE myKeySpace.myTable(
    user_id int PRIMARY KEY,
    firstName text,
    lastName text) WITH cosmosdb_provisioned_throughput=400);

次の手順Next steps

Azure Cosmos DB でのスループットのプロビジョニングについては、次の記事を参照してください。See the following articles to learn about throughput provisioning in Azure Cosmos DB: