Udostępnij za pomocą


Container class

Operacje odczytu, zastępowania lub usuwania określonego istniejącego kontenera według identyfikatora.

Zobacz Containers na potrzeby tworzenia nowych kontenerów i odczytywania/wykonywania zapytań dotyczących wszystkich kontenerów; użyj .containers.

Uwaga: wszystkie te operacje tworzą wywołania względem stałego budżetu. Należy zaprojektować system tak, aby te wywołania były skalowane podlinearnie z aplikacją. Na przykład nie należy wywoływać container(id).read() przed każdym wywołaniem item.read(), aby upewnić się, że kontener istnieje; zrób to raz podczas uruchamiania aplikacji.

Właściwości

conflicts

Operacje odczytu i wykonywania zapytań dotyczących konfliktów dla danego kontenera.

Aby odczytać lub usunąć określony konflikt, użyj .conflict(id).

database
id
items

Operacje tworzenia nowych elementów i odczytywania/wykonywania zapytań dotyczących wszystkich elementów

Aby odczytywać, zastępować lub usuwać istniejący element, użyj polecenia .item(id).

Przykład

Tworzenie nowego elementu

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

Wszystkie operacje dla procedur składowanych, wyzwalaczy i funkcji zdefiniowanych przez użytkownika

url

Zwraca adres URL odwołania do zasobu. Służy do łączenia w obszarze Uprawnienia.

Metody

conflict(string, PartitionKey)

Służy do odczytywania, zastępowania lub usuwania określonego istniejącego Konflikt według identyfikatora.

Użyj .conflicts do tworzenia nowych konfliktów lub wykonywania zapytań/odczytywania wszystkich konfliktów.

Przykład

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)

Usuwanie kontenera

Przykład

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)

Usuń wszystkie dokumenty należą do kontenera dla podanej wartości klucza partycji

Przykład

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

Przykład

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

Najpierw pobiera definicję klucza partycji, przeglądając pamięć podręczną w przeciwnym razie, odczytując kolekcję.

getQueryPlan(string | SqlQuerySpec)
initializeEncryption()

Rozgrzewa pamięci podręczne związane z szyfrowaniem dla kontenera.

Przykład

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)

Służy do odczytywania, zastępowania lub usuwania określonego istniejącego elementu według identyfikatora.

Użyj .items do tworzenia nowych elementów lub wykonywania zapytań/odczytywania wszystkich elementów.

Przykład

Zastępowanie elementu

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)

Odczytywanie definicji kontenera

Przykład

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)

Pobiera ofertę w kontenerze. Jeśli żadna z nich nie istnieje, zwraca element OfferResponse z niezdefiniowanym.

Przykład

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)

Pobiera zakresy kluczy partycji dla kontenera.

Przykład

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)

Zastępowanie definicji kontenera

Przykład

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

Szczegóły właściwości

conflicts

Operacje odczytu i wykonywania zapytań dotyczących konfliktów dla danego kontenera.

Aby odczytać lub usunąć określony konflikt, użyj .conflict(id).

Conflicts conflicts

Wartość właściwości

database

database: Database

Wartość właściwości

id

id: string

Wartość właściwości

string

items

Operacje tworzenia nowych elementów i odczytywania/wykonywania zapytań dotyczących wszystkich elementów

Aby odczytywać, zastępować lub usuwać istniejący element, użyj polecenia .item(id).

Przykład

Tworzenie nowego elementu

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

Wartość właściwości

scripts

Wszystkie operacje dla procedur składowanych, wyzwalaczy i funkcji zdefiniowanych przez użytkownika

Scripts scripts

Wartość właściwości

url

Zwraca adres URL odwołania do zasobu. Służy do łączenia w obszarze Uprawnienia.

string url

Wartość właściwości

string

Szczegóły metody

conflict(string, PartitionKey)

Służy do odczytywania, zastępowania lub usuwania określonego istniejącego Konflikt według identyfikatora.

Użyj .conflicts do tworzenia nowych konfliktów lub wykonywania zapytań/odczytywania wszystkich konfliktów.

Przykład

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

Parametry

id

string

Identyfikator Conflict.

partitionKey
PartitionKey

Zwraca

delete(RequestOptions)

Usuwanie kontenera

Przykład

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>

Parametry

options
RequestOptions

Zwraca

deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)

Usuń wszystkie dokumenty należą do kontenera dla podanej wartości klucza partycji

Przykład

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>

Parametry

partitionKey
PartitionKey

Wartość klucza partycji elementów do usunięcia

options
RequestOptions

Zwraca

getFeedRanges()

Przykład

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

Zwraca

Promise<readonly FeedRange[]>

wszystkie zakresy kanałów informacyjnych, dla których można pobrać kanał zmian.

getPartitionKeyDefinition()

Ostrzeżenie

Ten interfejs API jest już przestarzały.

This method has been renamed to readPartitionKeyDefinition.

Najpierw pobiera definicję klucza partycji, przeglądając pamięć podręczną w przeciwnym razie, odczytując kolekcję.

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

Zwraca

getQueryPlan(string | SqlQuerySpec)

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

Parametry

query

string | SqlQuerySpec

Zwraca

Promise<Response<PartitionedQueryExecutionInfo>>

initializeEncryption()

Rozgrzewa pamięci podręczne związane z szyfrowaniem dla kontenera.

Przykład

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>

Zwraca

Promise<void>

item(string, PartitionKey)

Służy do odczytywania, zastępowania lub usuwania określonego istniejącego elementu według identyfikatora.

Użyj .items do tworzenia nowych elementów lub wykonywania zapytań/odczytywania wszystkich elementów.

Przykład

Zastępowanie elementu

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

Parametry

id

string

Identyfikator elementu .

partitionKeyValue
PartitionKey

Wartość klucza partycji Item

Zwraca

read(RequestOptions)

Odczytywanie definicji kontenera

Przykład

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>

Parametry

options
RequestOptions

Zwraca

readOffer(RequestOptions)

Pobiera ofertę w kontenerze. Jeśli żadna z nich nie istnieje, zwraca element OfferResponse z niezdefiniowanym.

Przykład

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>

Parametry

options
RequestOptions

Zwraca

Promise<OfferResponse>

readPartitionKeyRanges(FeedOptions)

Pobiera zakresy kluczy partycji dla kontenera.

Przykład

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>

Parametry

feedOptions
FeedOptions

Opcje żądania.

Zwraca

QueryIterator<PartitionKeyRange>

Iterator zakresów kluczy partycji.

replace(ContainerDefinition, RequestOptions)

Zastępowanie definicji kontenera

Przykład

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>

Parametry

options
RequestOptions

Zwraca