Azure Cosmos DB のデータベースまたはコンテナーで、自動スケーリングのスループットをプロビジョニングするProvision autoscale throughput on database or container in Azure Cosmos DB

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

Azure portalAzure portal

自動スケーリングを使用する新しいデータベースまたはコンテナーを作成するCreate new database or container with autoscale

  1. Azure portal または Azure Cosmos DB Explorer にサインインします。Sign in to the Azure portal or the Azure Cosmos DB explorer.

  2. Azure Cosmos DB アカウントに移動して、 [データ エクスプローラー] タブを開きます。Navigate to your Azure Cosmos DB account and open the Data Explorer tab.

  3. [新しいコンテナー] を選択します。Select New Container. データベース、コンテナー、およびパーティション キーの名前を入力します。Enter a name for your database, container, and a partition key. [スループット][自動スケーリング] オプションを選択し、データベースまたはコンテナーをスケーリングする、最大スループット (RU/秒) を設定します。Under Throughput, select the autoscale option, and set the maximum throughput (RU/s) that you want the database or container to scale to.

    コンテナーの作成と、自動スケーリングによってプロビジョニングされたスループットの構成

  4. [OK] を選択します。Select OK.

共有スループット データベースで自動スケーリングをプロビジョニングするには、新しいデータベースを作成する際に [Provision database throughput](データベース スループットをプロビジョニングする) オプションを選択します。To provision autoscale on shared throughput database, select the Provision database throughput option when creating a new database.

既存のデータベースまたはコンテナーで自動スケーリングを有効にするEnable autoscale on existing database or container

重要

現在のリリースでは、自動スケーリングと標準 (手動) のプロビジョニングされたスループットの間での移行は、Azure portal でのみ行うことができます。In the current release, the Azure portal is the only way to migrate between autoscale and standard (manual) provisioned throughput.

  1. Azure portal または Azure Cosmos DB Explorer にサインインします。Sign in to the Azure portal or the Azure Cosmos DB explorer.

  2. Azure Cosmos DB アカウントに移動して、 [データ エクスプローラー] タブを開きます。Navigate to your Azure Cosmos DB account and open the Data Explorer tab.

  3. コンテナーの [Scale and Settings](スケーリングと設定) か、データベースの [スケーリング] を選択します。Select Scale and Settings for your container, or Scale for your database.

  4. [スケーリング] で、 [自動スケーリング] オプションを選択して [保存] します。Under Scale, select the Autoscale option and Save.

    既存のコンテナーで自動スケーリングを有効にする

注意

既存のデータベースまたはコンテナーで自動スケーリングを有効にする場合、最大 RU/s の開始値は、現在の手動でプロビジョニングされたスループットの設定とストレージに基づいて、システムによって決定されます。When you enable autoscale on an existing database or container, the starting value for max RU/s is determined by the system, based on your current manual provisioned throughput settings and storage. 操作が完了したら、必要に応じて最大 RU/s を変更できます。After the operation completes, you can change the max RU/s if needed. 詳細情報。Learn more.

Azure Cosmos DB .NET V3 SDK for SQL APIAzure Cosmos DB .NET V3 SDK for SQL API

バージョン 3.9 以上の Azure Cosmos DB .NET SDK for SQL API を使用して、自動スケーリング リソースを管理します。Use version 3.9 or higher of the Azure Cosmos DB .NET SDK for SQL API to manage autoscale resources.

重要

.NET SDK を使用して新しい自動スケーリング リソースを作成できます。You can use the .NET SDK to create new autoscale resources. この SDK は、自動スケーリングと標準 (手動) のスループットとの間と移行をサポートしていません。The SDK does not support migrating between autoscale and standard (manual) throughput. 現在、この移行シナリオは Azure portal でのみサポートされています。The migration scenario is currently supported in only the Azure portal.

共有スループットのデータベースを作成するCreate database with shared throughput

// Create instance of CosmosClient
CosmosClient cosmosClient = new CosmosClient(Endpoint, PrimaryKey);
 
// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(4000); //Set autoscale max RU/s

//Create the database with autoscale enabled
database = await cosmosClient.CreateDatabaseAsync(DatabaseName, throughputProperties: autoscaleThroughputProperties);

専用スループットを持つコンテナーを作成するCreate container with dedicated throughput

// Get reference to database that container will be created in
Database database = await cosmosClient.GetDatabase("DatabaseName");

// Container and autoscale throughput settings
ContainerProperties autoscaleContainerProperties = new ContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(4000); //Set autoscale max RU/s

// Create the container with autoscale enabled
container = await database.CreateContainerAsync(autoscaleContainerProperties, autoscaleThroughputProperties);

現在のスループット (RU/s) を読み取るRead the current throughput (RU/s)

// Get a reference to the resource
Container container = cosmosClient.GetDatabase("DatabaseName").GetContainer("ContainerName");

// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = await container.ReadThroughputAsync(requestOptions: null); 

// The autoscale max throughput (RU/s) of the resource
int? autoscaleMaxThroughput = autoscaleContainerThroughput.AutoscaleMaxThroughput;

// The throughput (RU/s) the resource is currently scaled to
int? currentThroughput = autoscaleContainerThroughput.Throughput;

自動スケーリングの最大スループット (RU/s) を変更するChange the autoscale max throughput (RU/s)

// Change the autoscale max throughput (RU/s)
await container.ReplaceThroughputAsync(ThroughputProperties.CreateAutoscaleThroughput(newAutoscaleMaxThroughput));

Azure Cosmos DB Java V4 SDK for SQL APIAzure Cosmos DB Java V4 SDK for SQL API

バージョン 4.0 以上の Azure Cosmos DB Java SDK for SQL API を使用して、自動スケーリング リソースを管理できます。You can use version 4.0 or higher of the Azure Cosmos DB Java SDK for SQL API to manage autoscale resources.

重要

Java SDK を使用して新しい自動スケーリング リソースを作成できます。You can use the Java SDK to create new autoscale resources. この SDK は、自動スケーリングと標準 (手動) のスループットとの間と移行をサポートしていません。The SDK does not support migrating between autoscale and standard (manual) throughput. 現在、この移行シナリオは Azure portal でのみサポートされています。The migration scenario is currently supported in only the Azure portal.

共有スループットのデータベースを作成するCreate database with shared throughput

// Create instance of CosmosClient
CosmosAsyncClient client = new CosmosClientBuilder()
    .setEndpoint(HOST)
    .setKey(MASTER)
    .setConnectionPolicy(CONNECTIONPOLICY)
    .buildAsyncClient();

// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(4000); //Set autoscale max RU/s

//Create the database with autoscale enabled
CosmosAsyncDatabase database = client.createDatabase(databaseName, autoscaleThroughputProperties).block().getDatabase();

専用スループットを持つコンテナーを作成するCreate container with dedicated throughput

// Get reference to database that container will be created in
CosmosAsyncDatabase database = client.createDatabase("DatabaseName").block().getDatabase();

// Container and autoscale throughput settings
CosmosContainerProperties autoscaleContainerProperties = new CosmosContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.createAutoscaledThroughput(4000); //Set autoscale max RU/s

// Create the container with autoscale enabled
CosmosAsyncContainer container = database.createContainer(autoscaleContainerProperties, autoscaleThroughputProperties, new CosmosContainerRequestOptions())
                                .block()
                                .getContainer();

現在のスループット (RU/s) を読み取るRead the current throughput (RU/s)

// Get a reference to the resource
CosmosAsyncContainer container = client.getDatabase("DatabaseName").getContainer("ContainerName");

// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = container.readThroughput().block().getProperties();

// The autoscale max throughput (RU/s) of the resource
int autoscaleMaxThroughput = autoscaleContainerThroughput.getAutoscaleMaxThroughput();

// The throughput (RU/s) the resource is currently scaled to
int currentThroughput = autoscaleContainerThroughput.Throughput;

自動スケーリングの最大スループット (RU/s) を変更するChange the autoscale max throughput (RU/s)

// Change the autoscale max throughput (RU/s)
container.replaceThroughput(ThroughputProperties.createAutoscaledThroughput(newAutoscaleMaxThroughput)).block();

Cassandra APICassandra API

Cassandra API 用の Azure Cosmos DB アカウントは、CQL コマンドAzure CLIAzure PowerShell、または Azure Resource Manager テンプレートを使用して、自動スケーリング用にプロビジョニングできます。Azure Cosmos DB accounts for Cassandra API can be provisioned for autoscale using CQL commands, Azure CLI, Azure PowerShell or Azure Resource Manager templates.

MongoDB 用 Azure Cosmos DB APIAzure Cosmos DB API for MongoDB

MongoDB API 用の Azure Cosmos DB アカウントは、MongoDB 拡張コマンドAzure CLIAzure PowerShell、または Azure Resource Manager テンプレートを使用して、自動スケーリング用にプロビジョニングできます。Azure Cosmos DB accounts for MongoDB API can be provisioned for autoscale using MongoDB extension commands, Azure CLI, Azure PowerShell or Azure Resource Manager templates.

Azure Resource ManagerAzure Resource Manager

Azure Resource Manager テンプレートを使用すると、すべての Azure Cosmos DB API に対して、データベースまたはコンテナー レベルのリソースへの自動スケーリングのスループットをプロビジョニングできます。Azure Resource Manager templates can be used to provision autoscale throughput on database or container-level resources for all Azure Cosmos DB APIs. サンプルについては、「Azure Cosmos DB の Azure Resource Manager テンプレート」を参照してください。See Azure Resource Manager templates for Azure Cosmos DB for samples.

Azure CLIAzure CLI

Azure CLI を使用すると、すべての Azure Cosmos DB API に対して、データベースまたはコンテナー レベルのリソースへの自動スケーリングのスループットをプロビジョニングできます。Azure CLI can be used to provision autoscale throughput on a database or container-level resources for all Azure Cosmos DB APIs. サンプルについては、「Azure Cosmos DB の Azure CLI サンプル」を参照してください。For samples see Azure CLI Samples for Azure Cosmos DB.

Azure PowerShellAzure PowerShell

Azure PowerShell を使用すると、すべての Azure Cosmos DB API に対して、データベースまたはコンテナー レベルのリソースへの自動スケーリングのスループットをプロビジョニングできます。Azure PowerShell can be used to provision autoscale throughput on a database or container-level resources for all Azure Cosmos DB APIs. サンプルについては、「Azure Cosmos DB 用 Azure PowerShell サンプル」を参照してください。For samples see Azure PowerShell samples for Azure Cosmos DB.

次のステップNext steps