JavaScript を使用して Azure Cosmos DB for NoSQL にコンテナーを作成する
適用対象: NoSQL
Azure Cosmos DB のコンテナーは、項目のセットを格納します。 アイテムを作成、クエリ、または管理するには、まずコンテナーを作成する必要があります。
コンテナーの名前を指定する
Azure Cosmos DB では、コンテナーはリレーショナル データベース内のテーブルに似ています。 コンテナーを作成すると、コンテナー名によって、コンテナー リソースと子項目へのアクセスに使用される URI のセグメントが形成されます。
作成されると、コンテナーの URI の形式は次のとおりです。
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
コンテナーを作成する
Database オブジェクトを取得し、Container を作成します。
- 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 の範囲です。
コンテナーにアクセスする
コンテナーは、Container オブジェクトから直接アクセスされるか、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();
オブジェクトによるアクセス:
- Containers (複数形): コンテナーを作成またはクエリします。
- Container (単数形): コンテナーを削除し、項目を操作します。
コンテナーを削除する
Container オブジェクトを取得したら、その Container オブジェクトを使用してコンテナーを削除できます。
const { statusCode } = await container.delete();
statusCode は HTTP 応答コードです。 正常な応答は 200 から 299 の範囲です。
次のステップ
コンテナーを作成したので、次のガイドを使用し項目を作成します。