次の方法で共有


JavaScript を使用して Azure Cosmos DB for NoSQL にコンテナーを作成する

適用対象: NoSQL

Azure Cosmos DB のコンテナーは、項目のセットを格納します。 アイテムを作成、クエリ、または管理するには、まずコンテナーを作成する必要があります。

コンテナーの名前を指定する

Azure Cosmos DB では、コンテナーはリレーショナル データベース内のテーブルに似ています。 コンテナーを作成すると、コンテナー名によって、コンテナー リソースと子項目へのアクセスに使用される URI のセグメントが形成されます。

コンテナーに名前を付ける場合の簡単な規則を次に示します。

  • コンテナー名の長さは 3 ~ 63 文字にする必要があります。
  • コンテナー名には、小文字、数字、ダッシュ文字のみを含めることができます。
  • コンテナー名は小文字または数字で始まる必要があります

作成されると、コンテナーの 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 の範囲です。

次のステップ

コンテナーを作成したので、次のガイドを使用し項目を作成します。