Freigeben über


Container class

Vorgänge zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Containers nach ID.

Siehe Container zum Erstellen neuer Container und lesen/Abfragen aller Container; verwenden Sie .containers.

Hinweis: Alle diese Vorgänge führen Aufrufe für ein festes Budget aus. Sie sollten Ihr System so entwerfen, dass diese Aufrufe mit Ihrer Anwendung sublinear skaliert werden. Rufen Sie z. B. vor jedem einzelnen container(id).read() Aufruf nicht item.read() auf, um sicherzustellen, dass der Container vorhanden ist; Führen Sie dies einmal beim Starten der Anwendung aus.

Eigenschaften

conflicts

Vorgänge zum Lesen und Abfragen von Konflikten für den angegebenen Container.

Verwenden Sie zum Lesen oder Löschen eines bestimmten Konflikts .conflict(id).

database
id
items

Vorgänge zum Erstellen neuer Elemente und Lesen/Abfragen aller Elemente

Verwenden Sie zum Lesen, Ersetzen oder Löschen eines vorhandenen Elements .item(id).

Beispiel

Erstellen eines neuen Elements

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

Alle Vorgänge für gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen

url

Gibt eine Verweis-URL für die Ressource zurück. Wird zum Verknüpfen in Berechtigungen verwendet.

Methoden

conflict(string, PartitionKey)

Wird zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Conflict nach ID verwendet.

Verwenden Sie .conflicts zum Erstellen neuer Konflikte oder zum Abfragen/Lesen aller Konflikte.

Beispiel

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)

Löschen des Containers

Beispiel

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)

Löschen aller Dokumente, die zum Container für den bereitgestellten Partitionsschlüsselwert gehören

Beispiel

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

Beispiel

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

Ruft die Partitionsschlüsseldefinition zuerst ab, indem Sie den Cache durch Lesen der Auflistung andernfalls untersuchen.

getQueryPlan(string | SqlQuerySpec)
initializeEncryption()

Wärmt verschlüsselungsbezogene Caches für den Container auf.

Beispiel

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)

Wird verwendet, um ein bestimmtes, vorhandenes Element nach ID zu lesen, zu ersetzen oder zu löschen.

Verwenden Sie .items zum Erstellen neuer Elemente oder zum Abfragen/Lesen aller Elemente.

Beispiel

Ersetzen eines Elements

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)

Lesen der Containerdefinition

Beispiel

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)

Ruft Angebot auf Container ab. Wenn keine vorhanden ist, wird ein OfferResponse mit undefiniert zurückgegeben.

Beispiel

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)

Ruft die Partitionsschlüsselbereiche für den Container ab.

Beispiel

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)

Ersetzen der Containerdefinition

Beispiel

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

Details zur Eigenschaft

conflicts

Vorgänge zum Lesen und Abfragen von Konflikten für den angegebenen Container.

Verwenden Sie zum Lesen oder Löschen eines bestimmten Konflikts .conflict(id).

Conflicts conflicts

Eigenschaftswert

database

database: Database

Eigenschaftswert

id

id: string

Eigenschaftswert

string

items

Vorgänge zum Erstellen neuer Elemente und Lesen/Abfragen aller Elemente

Verwenden Sie zum Lesen, Ersetzen oder Löschen eines vorhandenen Elements .item(id).

Beispiel

Erstellen eines neuen Elements

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

Eigenschaftswert

scripts

Alle Vorgänge für gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen

Scripts scripts

Eigenschaftswert

url

Gibt eine Verweis-URL für die Ressource zurück. Wird zum Verknüpfen in Berechtigungen verwendet.

string url

Eigenschaftswert

string

Details zur Methode

conflict(string, PartitionKey)

Wird zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Conflict nach ID verwendet.

Verwenden Sie .conflicts zum Erstellen neuer Konflikte oder zum Abfragen/Lesen aller Konflikte.

Beispiel

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

Die ID der Conflict.

partitionKey
PartitionKey

Gibt zurück

delete(RequestOptions)

Löschen des Containers

Beispiel

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

Gibt zurück

deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)

Löschen aller Dokumente, die zum Container für den bereitgestellten Partitionsschlüsselwert gehören

Beispiel

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

Der Partitionsschlüsselwert der zu löschenden Elemente

options
RequestOptions

Gibt zurück

getFeedRanges()

Beispiel

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

Gibt zurück

Promise<readonly FeedRange[]>

alle Feedbereiche, für die Änderungsfeed abgerufen werden konnte.

getPartitionKeyDefinition()

Warnung

Diese API ist nun veraltet.

This method has been renamed to readPartitionKeyDefinition.

Ruft die Partitionsschlüsseldefinition zuerst ab, indem Sie den Cache durch Lesen der Auflistung andernfalls untersuchen.

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

Gibt zurück

getQueryPlan(string | SqlQuerySpec)

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

Parameter

query

string | SqlQuerySpec

Gibt zurück

Promise<Response<PartitionedQueryExecutionInfo>>

initializeEncryption()

Wärmt verschlüsselungsbezogene Caches für den Container auf.

Beispiel

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>

Gibt zurück

Promise<void>

item(string, PartitionKey)

Wird verwendet, um ein bestimmtes, vorhandenes Element nach ID zu lesen, zu ersetzen oder zu löschen.

Verwenden Sie .items zum Erstellen neuer Elemente oder zum Abfragen/Lesen aller Elemente.

Beispiel

Ersetzen eines Elements

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

Die ID des Item-.

partitionKeyValue
PartitionKey

Der Wert des partitionsschlüssels Item

Gibt zurück

read(RequestOptions)

Lesen der Containerdefinition

Beispiel

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

Gibt zurück

readOffer(RequestOptions)

Ruft Angebot auf Container ab. Wenn keine vorhanden ist, wird ein OfferResponse mit undefiniert zurückgegeben.

Beispiel

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

Gibt zurück

Promise<OfferResponse>

readPartitionKeyRanges(FeedOptions)

Ruft die Partitionsschlüsselbereiche für den Container ab.

Beispiel

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

Optionen für die Anforderung.

Gibt zurück

QueryIterator<PartitionKeyRange>

Ein Iterator von Partitionsschlüsselbereichen.

replace(ContainerDefinition, RequestOptions)

Ersetzen der Containerdefinition

Beispiel

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

Gibt zurück