Container class
ID による特定の既存のコンテナーの読み取り、置換、または削除を行う操作。
新しいコンテナーを作成し、すべてのコンテナーの読み取り/クエリを実行する方法については、「コンテナーの」を参照してください。.containers
を使用します。
注: これらすべての操作は、固定予算に対して呼び出しを行います。
これらの呼び出しがアプリケーションと共にサブリニアにスケーリングされるようにシステムを設計する必要があります。
たとえば、コンテナーが存在することを確認するために、すべての container(id).read()
呼び出しの前に item.read()
を呼び出さないでください。これは、アプリケーションの起動時に 1 回行います。
プロパティ
conflicts | 特定のコンテナーの競合の読み取りとクエリの操作。 特定の競合を読み取ったり削除したりするには、 |
database | |
id | |
items | 新しい項目を作成し、すべての項目の読み取り/クエリを実行するための操作 既存のアイテムの読み取り、置換、または削除には、 例 新しい項目を作成する
|
scripts | ストアド プロシージャ、トリガー、およびユーザー定義関数のすべての操作 |
url | リソースへの参照 URL を返します。 アクセス許可のリンクに使用されます。 |
メソッド
conflict(string, Partition |
既存の特定の Conflict を ID で読み取り、置換、または削除するために使用されます。
例
|
delete(Request |
コンテナーを削除する 例
|
delete |
指定されたパーティション キー値のコンテナーに属しているすべてのドキュメントを削除する 例
|
get |
例
|
get |
コレクションを読み取ってキャッシュを調べることで、最初にパーティション キー定義を取得します。 |
get |
|
initialize |
コンテナの暗号化関連のキャッシュをウォームアップします。 例
|
item(string, Partition |
ID で 、既存の特定の 項目を読み取り、置換、または削除するために使用されます。
例 項目を置換する
|
read(Request |
コンテナーの定義を読み取ります 例
|
read |
コンテナーのオファーを取得します。 存在しない場合は、未定義の OfferResponse を返します。 例
|
read |
コンテナーのパーティション キー範囲を取得します。 例
|
replace(Container |
コンテナーの定義を置き換える 例
|
プロパティの詳細
conflicts
特定のコンテナーの競合の読み取りとクエリの操作。
特定の競合を読み取ったり削除したりするには、.conflict(id)
を使用します。
Conflicts conflicts
プロパティ値
database
id
id: string
プロパティ値
string
items
新しい項目を作成し、すべての項目の読み取り/クエリを実行するための操作
既存のアイテムの読み取り、置換、または削除には、.item(id)
を使用します。
例
新しい項目を作成する
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" });
const { resource: createdItem } = await container.items.create({
id: "<item id>",
properties: {},
});
Items items
プロパティ値
scripts
url
リソースへの参照 URL を返します。 アクセス許可のリンクに使用されます。
string url
プロパティ値
string
メソッドの詳細
conflict(string, PartitionKey)
既存の特定の Conflict を ID で読み取り、置換、または削除するために使用されます。
.conflicts
を使用して、新しい競合を作成したり、すべての競合のクエリや読み取りを行ったりします。
例
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 = database.container("Test Container");
const { resource: conflict } = await container.conflict("<conflict-id>").read();
function conflict(id: string, partitionKey?: PartitionKey): Conflict
パラメーター
- id
-
string
競合の ID。
- partitionKey
- PartitionKey
戻り値
delete(RequestOptions)
コンテナーを削除する
例
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
await client.database("<db id>").container("<container id>").delete();
function delete(options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- options
- RequestOptions
戻り値
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
指定されたパーティション キー値のコンテナーに属しているすべてのドキュメントを削除する
例
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",
partitionKey: {
paths: ["/state"],
},
});
const cities = [
{ id: "1", name: "Olympia", state: "WA", isCapitol: true },
{ id: "2", name: "Redmond", state: "WA", isCapitol: false },
{ id: "3", name: "Olympia", state: "IL", isCapitol: false },
];
for (const city of cities) {
await container.items.create(city);
}
await container.deleteAllItemsForPartitionKey("WA");
function deleteAllItemsForPartitionKey(partitionKey: PartitionKey, options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- partitionKey
- PartitionKey
削除する項目のパーティション キー値
- options
- RequestOptions
戻り値
Promise<ContainerResponse>
getFeedRanges()
例
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" });
const { resources: ranges } = await container.getFeedRanges();
function getFeedRanges(): Promise<readonly FeedRange[]>
戻り値
Promise<readonly FeedRange[]>
変更フィードをフェッチできるすべてのフィード範囲。
getPartitionKeyDefinition()
警告
この API は非推奨になりました。
This method has been renamed to readPartitionKeyDefinition.
コレクションを読み取ってキャッシュを調べることで、最初にパーティション キー定義を取得します。
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
戻り値
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
パラメーター
- query
-
string | SqlQuerySpec
戻り値
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
コンテナの暗号化関連のキャッシュをウォームアップします。
例
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionType,
EncryptionAlgorithm,
ClientEncryptionIncludedPath,
ClientEncryptionPolicy,
} from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const credentials = new ClientSecretCredential("<tenant-id>", "<client-id>", "<app-secret>");
const keyResolver = new AzureKeyVaultEncryptionKeyResolver(credentials);
const client = new CosmosClient({
endpoint,
key,
clientEncryptionOptions: {
keyEncryptionKeyResolver: keyResolver,
},
});
const { database } = await client.databases.createIfNotExists({ id: "<db id>" });
const paths = ["/path1", "/path2", "/path3"].map(
(path) =>
({
path: path,
clientEncryptionKeyId: "< cek - id >",
encryptionType: EncryptionType.DETERMINISTIC,
encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
}) as ClientEncryptionIncludedPath,
);
const clientEncryptionPolicy: ClientEncryptionPolicy = {
includedPaths: paths,
policyFormatVersion: 2,
};
const containerDefinition = {
id: "Test Container",
partitionKey: {
paths: ["/id"],
},
clientEncryptionPolicy: clientEncryptionPolicy,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);
await container.initializeEncryption();
function initializeEncryption(): Promise<void>
戻り値
Promise<void>
item(string, PartitionKey)
ID で 、既存の特定の 項目を読み取り、置換、または削除するために使用されます。
.items
を使用して、新しい項目を作成したり、すべての項目のクエリや読み取りを行ったりします。
例
項目を置換する
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" });
const { body: replacedItem } = await container
.item("<item id>", "<partition key value>")
.replace({ id: "<item id>", title: "Updated post", authorID: 5 });
function item(id: string, partitionKeyValue?: PartitionKey): Item
パラメーター
- id
-
string
項目の ID。
- partitionKeyValue
- PartitionKey
Item パーティション キーの値
戻り値
read(RequestOptions)
コンテナーの定義を読み取ります
例
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 { resource: database } = await client.database("<db id>").container("<container id>").read();
function read(options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- options
- RequestOptions
戻り値
Promise<ContainerResponse>
readOffer(RequestOptions)
コンテナーのオファーを取得します。 存在しない場合は、未定義の OfferResponse を返します。
例
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 { resource: offer } = await client
.database("<db id>")
.container("<container id>")
.readOffer();
function readOffer(options?: RequestOptions): Promise<OfferResponse>
パラメーター
- options
- RequestOptions
戻り値
Promise<OfferResponse>
readPartitionKeyRanges(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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const { resources: ranges } = await container.readPartitionKeyRanges().fetchAll();
function readPartitionKeyRanges(feedOptions?: FeedOptions): QueryIterator<PartitionKeyRange>
パラメーター
- feedOptions
- FeedOptions
要求のオプション。
戻り値
QueryIterator<PartitionKeyRange>
パーティション・キー範囲の反復子。
replace(ContainerDefinition, RequestOptions)
コンテナーの定義を置き換える
例
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 containerDefinition = {
id: "Test Container",
partitionKey: {
paths: ["/key1"],
},
throughput: 1000,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);
containerDefinition.throughput = 400;
const { container: replacedContainer } = await container.replace(containerDefinition);
function replace(body: ContainerDefinition, options?: RequestOptions): Promise<ContainerResponse>
パラメーター
- body
- ContainerDefinition
- options
- RequestOptions
戻り値
Promise<ContainerResponse>