Containers class
新しいコンテナーを作成し、すべてのコンテナーの読み取り/クエリを実行するための操作
既存 コンテナーの読み取り、置換、または削除については、コンテナー を参照してください。.container(id)
を使用します。
注: これらすべての操作は、固定予算に対して呼び出しを行います。
これらの呼び出しがアプリケーションと共にサブリニアにスケーリングされるようにシステムを設計する必要があります。
たとえば、コンテナーが存在することを確認するために、すべての containers.readAll()
呼び出しの前に item.read()
を呼び出さないでください。これは、アプリケーションの起動時に 1 回行います。
プロパティ
database |
メソッド
create(Container |
コンテナーを作成します。 コンテナーは、項目の名前付き論理コンテナーです。 データベースには 0 個以上の名前付きコンテナーを含め、各コンテナーは 0 個以上の JSON 項目で構成されます。 スキーマを使用しないため、コンテナー内の項目は同じ構造またはフィールドを共有する必要はありません。 コンテナーはアプリケーション リソースであるため、マスター キーまたはリソース キーを使用して承認できます。 例
|
create |
コンテナーが存在するかどうかを確認し、存在しない場合は作成します。
これにより、 コンテナーは、項目の名前付き論理コンテナーです。 データベースには 0 個以上の名前付きコンテナーを含め、各コンテナーは 0 個以上の JSON 項目で構成されます。 スキーマを使用しないため、コンテナー内の項目は同じ構造またはフィールドを共有する必要はありません。 コンテナーはアプリケーション リソースであるため、マスター キーまたはリソース キーを使用して承認できます。 例
|
query(Sql |
すべてのコンテナーに対してクエリを実行します。 例 すべてのコンテナーを配列に読み取る。
|
query<T>(Sql |
すべてのコンテナーに対してクエリを実行します。 例 すべてのコンテナーを配列に読み取る。
|
read |
すべてのコンテナーを読み取る。 例 すべてのコンテナーを配列に読み取る。
|
プロパティの詳細
database
メソッドの詳細
create(ContainerRequest, RequestOptions)
コンテナーを作成します。
コンテナーは、項目の名前付き論理コンテナーです。
データベースには 0 個以上の名前付きコンテナーを含め、各コンテナーは 0 個以上の JSON 項目で構成されます。
スキーマを使用しないため、コンテナー内の項目は同じ構造またはフィールドを共有する必要はありません。
コンテナーはアプリケーション リソースであるため、マスター キーまたはリソース キーを使用して承認できます。
例
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const container = client.database("<database id>").containers.create({
id: "<name here>",
});
function create(body: ContainerRequest, options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- body
- ContainerRequest
コンテナーの本文を表します。
- options
- RequestOptions
応答ページ サイズ、継続トークンなどのオプションを設定するために使用します。
戻り値
Promise<ContainerResponse>
createIfNotExists(ContainerRequest, RequestOptions)
コンテナーが存在するかどうかを確認し、存在しない場合は作成します。
これにより、body
内の ID に基づいて読み取り操作が行われます。見つからない場合は作成操作です。
出力が既定以外のプロパティ (インデックス作成ポリシーなど) に渡した本文と一致することを確認する必要があります。
コンテナーは、項目の名前付き論理コンテナーです。
データベースには 0 個以上の名前付きコンテナーを含め、各コンテナーは 0 個以上の JSON 項目で構成されます。
スキーマを使用しないため、コンテナー内の項目は同じ構造またはフィールドを共有する必要はありません。
コンテナーはアプリケーション リソースであるため、マスター キーまたはリソース キーを使用して承認できます。
例
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
function createIfNotExists(body: ContainerRequest, options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- body
- ContainerRequest
コンテナーの本文を表します。
- options
- RequestOptions
応答ページ サイズ、継続トークンなどのオプションを設定するために使用します。
戻り値
Promise<ContainerResponse>
query(SqlQuerySpec, FeedOptions)
すべてのコンテナーに対してクエリを実行します。
例
すべてのコンテナーを配列に読み取る。
import { CosmosClient, SqlQuerySpec } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const querySpec: SqlQuerySpec = {
query: `SELECT * FROM root r WHERE r.id = @container`,
parameters: [{ name: "@container", value: "Todo" }],
};
const { resources: containerList } = await client
.database("<db id>")
.containers.query(querySpec)
.fetchAll();
function query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>
パラメーター
- query
- SqlQuerySpec
操作のクエリ構成。 クエリ 構成する方法の詳細については、SqlQuerySpec を参照してください。
- options
- FeedOptions
応答ページ サイズ、継続トークンなどのオプションを設定するために使用します。
戻り値
QueryIterator<any>
QueryIterator 配列内の特定のコンテナーを返したり、一度に 1 つずつ反復処理したりできます。
query<T>(SqlQuerySpec, FeedOptions)
すべてのコンテナーに対してクエリを実行します。
例
すべてのコンテナーを配列に読み取る。
import { CosmosClient, SqlQuerySpec } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const querySpec: SqlQuerySpec = {
query: `SELECT * FROM root r WHERE r.id = @container`,
parameters: [{ name: "@container", value: "Todo" }],
};
const { resources: containerList } = await client
.database("<db id>")
.containers.query(querySpec)
.fetchAll();
function query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>
パラメーター
- query
- SqlQuerySpec
操作のクエリ構成。 クエリ 構成する方法の詳細については、SqlQuerySpec を参照してください。
- options
- FeedOptions
応答ページ サイズ、継続トークンなどのオプションを設定するために使用します。
戻り値
QueryIterator 配列内の特定のコンテナーを返したり、一度に 1 つずつ反復処理したりできます。
readAll(FeedOptions)
すべてのコンテナーを読み取る。
例
すべてのコンテナーを配列に読み取る。
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { resources: containerList } = await client
.database("<db id>")
.containers.readAll()
.fetchAll();
function readAll(options?: FeedOptions): QueryIterator<ContainerDefinition & Resource>
パラメーター
- options
- FeedOptions
応答ページ サイズ、継続トークンなどのオプションを設定するために使用します。
戻り値
QueryIterator 配列内のすべてのコンテナーを返すか、一度に 1 つずつ反復処理することができます。