Azure Cosmos DB for NoSQL にコンテナーを作成する
適用対象: NoSQL
この記事では、Azure Cosmos DB for NoSQL にコンテナーを作成するいくつかの方法について説明します。 Azure portal、Azure CLI、PowerShell、またはサポートされている SDK を使用して、コンテナーを作成する方法が示されます。 この記事では、コンテナーを作成してパーティション キーを指定し、スループットをプロビジョニングする方法を紹介します。
この記事では、Azure Cosmos DB for NoSQL にコンテナーを作成するいくつかの方法について説明します。 別の API を使用している場合にコンテナーを作成する方法については、MongoDB 用 API、Cassandra 用 API、Gremlin 用 API、Table 用 API の記事をご覧ください。
Note
コンテナーを作成するときは、同じ名前で大文字と小文字が異なる 2 つのコンテナーを作成しないようにしてください。 これは、Azure プラットフォームの一部で大文字と小文字が区別されないため、このような名前のコンテナーでテレメトリとアクションの混同や衝突が発生する可能性があるためです。
Azure portal を使用してコンテナーを作成する
Azure portal にサインインします。
新しい Azure Cosmos DB アカウントを作成するか、既存のアカウントを選びます。
[データ エクスプローラー] ウィンドウを開いて [新しいコンテナー] を選択します。 次に、以下の詳細を指定します。
- 新しいデータベースを作成するか、既存のデータベースを使用するかを指定します。
- コンテナー ID を入力します。
- パーティション キーの値を入力します (例:
/ItemID
)。 - 自動スケーリングまたは手動スループットを選択し、必要なコンテナー スループットを入力します (例: 1,000 RU/秒)。 プロビジョニングするスループットを入力します (例: 1,000 RU)。
- [OK] を選択します。
Azure CLI を使用してコンテナーを作成する
Azure CLI を使用してコンテナーを作成します。 すべての Azure Cosmos DB API にわたる Azure CLI の全サンプルの一覧については、「Azure Cosmos DB の Azure CLI サンプル」を参照してください。
PowerShell を使用してコンテナーを作成する
PowerShell を使用してコンテナーを作成します。 すべての Azure Cosmos DB API にわたる PowerShell の全サンプルの一覧については、「Azure Cosmos DB 用 Azure PowerShell サンプル」を参照してください
.NET SDK を使用してコンテナーを作成する
コレクションの作成時にタイムアウト例外が発生した場合は、コレクションが正常に作成されたかどうかを確認する読み取り操作を実行します。 この読み取り操作では、コレクションの作成操作が成功するまで例外がスローされます。 作成操作でサポートされている状態コードの一覧については、記事「Azure Cosmos DB の HTTP 状態コード」を参照してください。
TokenCredential credential = new DefaultAzureCredential();
CosmosClient client = new (
accountEndpoint: "<nosql-account-endpoint>",
tokenCredential: credential
);
// Create a container with a partition key and provision 400 RU/s manual throughput.
Database database = await client.CreateDatabaseIfNotExistsAsync(databaseId);
ContainerProperties containerProperties = new ContainerProperties()
{
Id = containerId,
PartitionKeyPath = "/myPartitionKey"
};
var throughput = ThroughputProperties.CreateManualThroughput(400);
Container container = await database.CreateContainerIfNotExistsAsync(containerProperties, throughput);