Bagikan melalui


Container class

Operasi untuk membaca, mengganti, atau menghapus kontainer tertentu yang ada menurut id.

Lihat Kontainer untuk membuat kontainer baru, dan membaca/mengkueri semua kontainer; gunakan .containers.

Catatan: semua operasi ini melakukan panggilan terhadap anggaran tetap. Anda harus merancang sistem Anda sih sehingga panggilan ini menskalakan secara sublinear dengan aplikasi Anda. Misalnya, jangan memanggil container(id).read() sebelum setiap panggilan item.read(), untuk memastikan kontainer ada; lakukan ini setelah aplikasi dimulai.

Properti

conflicts

Operasi untuk membaca dan mengkueri konflik untuk kontainer yang diberikan.

Untuk membaca atau menghapus konflik tertentu, gunakan .conflict(id).

database
id
items

Operasi untuk membuat item baru, dan membaca/mengkueri semua item

Untuk membaca, mengganti, atau menghapus item yang ada, gunakan .item(id).

Contoh

Membuat item baru

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: {},
});
scripts

Semua operasi untuk Prosedur Tersimpan, Pemicu, dan Fungsi yang Ditentukan Pengguna

url

Mengembalikan URL referensi ke sumber daya. Digunakan untuk menautkan di Izin.

Metode

conflict(string, PartitionKey)

Digunakan untuk membaca, mengganti, atau menghapus Konflik tertentu yang ada menurut id.

Gunakan .conflicts untuk membuat konflik baru, atau mengkueri/membaca semua konflik.

Contoh

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();
delete(RequestOptions)

Menghapus kontainer

Contoh

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();
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)

Menghapus semua dokumen milik kontainer untuk nilai kunci partisi yang disediakan

Contoh

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");
getFeedRanges()

Contoh

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();
getPartitionKeyDefinition()

Mendapatkan definisi kunci partisi terlebih dahulu dengan melihat ke cache jika tidak dengan membaca koleksi.

getQueryPlan(string | SqlQuerySpec)
initializeEncryption()

Menghangatkan cache terkait enkripsi untuk kontainer.

Contoh

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();
item(string, PartitionKey)

Digunakan untuk membaca, mengganti, atau menghapus Item tertentu yang sudah ada menurut id.

Gunakan .items untuk membuat item baru, atau mengkueri/membaca semua item.

Contoh

Mengganti item

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 });
read(RequestOptions)

Membaca definisi kontainer

Contoh

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();
readOffer(RequestOptions)

Mendapatkan penawaran pada kontainer. Jika tidak ada, mengembalikan OfferResponse dengan tidak terdefinisi.

Contoh

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();
readPartitionKeyRanges(FeedOptions)

Mendapatkan rentang kunci partisi untuk kontainer.

Contoh

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();
replace(ContainerDefinition, RequestOptions)

Mengganti definisi kontainer

Contoh

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);

Detail Properti

conflicts

Operasi untuk membaca dan mengkueri konflik untuk kontainer yang diberikan.

Untuk membaca atau menghapus konflik tertentu, gunakan .conflict(id).

Conflicts conflicts

Nilai Properti

database

database: Database

Nilai Properti

id

id: string

Nilai Properti

string

items

Operasi untuk membuat item baru, dan membaca/mengkueri semua item

Untuk membaca, mengganti, atau menghapus item yang ada, gunakan .item(id).

Contoh

Membuat item baru

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

Nilai Properti

scripts

Semua operasi untuk Prosedur Tersimpan, Pemicu, dan Fungsi yang Ditentukan Pengguna

Scripts scripts

Nilai Properti

url

Mengembalikan URL referensi ke sumber daya. Digunakan untuk menautkan di Izin.

string url

Nilai Properti

string

Detail Metode

conflict(string, PartitionKey)

Digunakan untuk membaca, mengganti, atau menghapus Konflik tertentu yang ada menurut id.

Gunakan .conflicts untuk membuat konflik baru, atau mengkueri/membaca semua konflik.

Contoh

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

Parameter

id

string

Id Konflik.

partitionKey
PartitionKey

Mengembalikan

delete(RequestOptions)

Menghapus kontainer

Contoh

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>

Parameter

options
RequestOptions

Mengembalikan

deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)

Menghapus semua dokumen milik kontainer untuk nilai kunci partisi yang disediakan

Contoh

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>

Parameter

partitionKey
PartitionKey

Nilai kunci partisi item yang akan dihapus

options
RequestOptions

Mengembalikan

getFeedRanges()

Contoh

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[]>

Mengembalikan

Promise<readonly FeedRange[]>

semua rentang umpan tempat changefeed dapat diambil.

getPartitionKeyDefinition()

Peringatan

API ini sudah tidak digunakan lagi.

This method has been renamed to readPartitionKeyDefinition.

Mendapatkan definisi kunci partisi terlebih dahulu dengan melihat ke cache jika tidak dengan membaca koleksi.

function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>

Mengembalikan

getQueryPlan(string | SqlQuerySpec)

function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>

Parameter

query

string | SqlQuerySpec

Mengembalikan

Promise<Response<PartitionedQueryExecutionInfo>>

initializeEncryption()

Menghangatkan cache terkait enkripsi untuk kontainer.

Contoh

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>

Mengembalikan

Promise<void>

item(string, PartitionKey)

Digunakan untuk membaca, mengganti, atau menghapus Item tertentu yang sudah ada menurut id.

Gunakan .items untuk membuat item baru, atau mengkueri/membaca semua item.

Contoh

Mengganti item

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

Parameter

id

string

Id Item.

partitionKeyValue
PartitionKey

Nilai kunci partisi Item

Mengembalikan

read(RequestOptions)

Membaca definisi kontainer

Contoh

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>

Parameter

options
RequestOptions

Mengembalikan

readOffer(RequestOptions)

Mendapatkan penawaran pada kontainer. Jika tidak ada, mengembalikan OfferResponse dengan tidak terdefinisi.

Contoh

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>

Parameter

options
RequestOptions

Mengembalikan

Promise<OfferResponse>

readPartitionKeyRanges(FeedOptions)

Mendapatkan rentang kunci partisi untuk kontainer.

Contoh

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>

Parameter

feedOptions
FeedOptions

Opsi untuk permintaan.

Mengembalikan

QueryIterator<PartitionKeyRange>

Iterator rentang kunci partisi.

replace(ContainerDefinition, RequestOptions)

Mengganti definisi kontainer

Contoh

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>

Parameter

options
RequestOptions

Mengembalikan