Azure Cosmos DB のコンテナーには、項目のセットが格納されます。 アイテムを作成、クエリ、または管理するには、まずコンテナーを作成する必要があります。
コンテナーに名前を付けます
Azure Cosmos DB では、コンテナーはリレーショナル データベースのテーブルに似ています。 コンテナーを作成すると、コンテナー名は、コンテナー リソースとすべての子項目にアクセスするために使用される URI のセグメントを形成します。
作成されると、コンテナーの URI は次の形式になります。
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
コンテナーを作成する
Database オブジェクトを取得し、コンテナーを作成します。
- createIfNotExists - コンテナーが存在しない場合は作成します。 存在する場合は、コンテナーを返します。
- create - コンテナーを作成します。 存在する場合は、エラー statusCode を返します。
const containerName = 'myContainer';
// Possible results:
// Create then return container
// Return existing container
// Return error statusCode
const { statusCode, container } = await database.containers.createIfNotExists({ id: containerName });
// Possible results:
// Create then return container
// Return error statusCode, reason includes container already exists
const { statusCode, container} = await database.containers.create({ id: containerName });
statusCode は HTTP 応答コードです。 正常な応答は 200 から 299 の範囲です。
コンテナーにアクセスする
コンテナーには、 コンテナー オブジェクトから直接アクセスするか、 CosmosClient オブジェクトまたは Database オブジェクトからチェーンされます。
const databaseName = 'myDb';
const containerName = 'myContainer';
// Chained - assumes database and container already exis
const { container, statusCode } = await client.database(databaseName).container(containerName);
// Direct - assumes database and container already exist
const { database, statusCode } = await client.database(databaseName);
if(statusCode < 400){
const { container, statusCode } = await database.container(containerName);
}
// Query - assumes database and container already exist
const { resources } = await client.database(databaseName).containers
.query({
query: `SELECT * FROM root r where r.id =@containerId`,
parameters: [
{
name: '@containerId',
value: containerName
}
]
})
.fetchAll();
オブジェクトによるアクセス:
コンテナーを削除する
Container オブジェクトを取得したら、 Container オブジェクトを使用してコンテナーを 削除 できます。
const { statusCode } = await container.delete();
statusCode は HTTP 応答コードです。 正常な応答は 200 から 299 の範囲です。
次のステップ
コンテナーを作成したので、次のガイドを使用して項目を作成します。