Sdílet prostřednictvím


Container class

Operace čtení, nahrazení nebo odstranění konkrétního existujícího kontejneru podle ID

Viz Kontejnery pro vytváření nových kontejnerů a čtení a dotazování všech kontejnerů; použít .containers.

Poznámka: Všechny tyto operace vyžadují pevné rozpočty. Systém byste měli navrhnout tak, aby tato volání škálovat podlineárně s vaší aplikací. Například nevolejte container(id).read() před každým voláním item.read(), aby se zajistilo, že kontejner existuje; proveďte to jednou při spuštění aplikace.

Vlastnosti

conflicts

Operace pro čtení a dotazování konfliktů pro daný kontejner

Ke čtení nebo odstranění určitého konfliktu použijte .conflict(id).

database
id
items

Operace pro vytváření nových položek a čtení a dotazování všech položek

Pro čtení, nahrazení nebo odstranění existující položky použijte .item(id).

příklad

Vytvoření nové položky

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

Všechny operace pro uložené procedury, triggery a uživatelem definované funkce

url

Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních.

Metody

conflict(string, PartitionKey)

Používá se ke čtení, nahrazení nebo odstranění konkrétního existujícího Konflikt podle ID.

Pomocí .conflicts můžete vytvářet nové konflikty nebo dotazovat nebo číst všechny konflikty.

příklad

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)

Odstranění kontejneru

příklad

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)

Odstranění všech dokumentů patřících do kontejneru pro zadanou hodnotu klíče oddílu

příklad

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

příklad

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

Získá nejprve definici klíče oddílu tak, že se podívá do mezipaměti jinak čtením kolekce.

getQueryPlan(string | SqlQuerySpec)
initializeEncryption()

Zahřívá mezipaměti související se šifrováním pro kontejner.

příklad

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)

Slouží ke čtení, nahrazení nebo odstranění konkrétní položky podle ID.

Pomocí .items můžete vytvářet nové položky nebo dotazovat nebo číst všechny položky.

příklad

Nahrazení položky

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)

Čtení definice kontejneru

příklad

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)

Získá nabídku v kontejneru. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným.

příklad

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)

Získá rozsahy klíčů oddílů pro kontejner.

příklad

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)

Nahrazení definice kontejneru

příklad

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

Podrobnosti vlastnosti

conflicts

Operace pro čtení a dotazování konfliktů pro daný kontejner

Ke čtení nebo odstranění určitého konfliktu použijte .conflict(id).

Conflicts conflicts

Hodnota vlastnosti

database

database: Database

Hodnota vlastnosti

id

id: string

Hodnota vlastnosti

string

items

Operace pro vytváření nových položek a čtení a dotazování všech položek

Pro čtení, nahrazení nebo odstranění existující položky použijte .item(id).

příklad

Vytvoření nové položky

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

Hodnota vlastnosti

scripts

Všechny operace pro uložené procedury, triggery a uživatelem definované funkce

Scripts scripts

Hodnota vlastnosti

url

Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních.

string url

Hodnota vlastnosti

string

Podrobnosti metody

conflict(string, PartitionKey)

Používá se ke čtení, nahrazení nebo odstranění konkrétního existujícího Konflikt podle ID.

Pomocí .conflicts můžete vytvářet nové konflikty nebo dotazovat nebo číst všechny konflikty.

příklad

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

ID konfliktu.

partitionKey
PartitionKey

Návraty

delete(RequestOptions)

Odstranění kontejneru

příklad

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

Návraty

deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)

Odstranění všech dokumentů patřících do kontejneru pro zadanou hodnotu klíče oddílu

příklad

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

Hodnota klíče oddílu položek, které se mají odstranit

options
RequestOptions

Návraty

getFeedRanges()

příklad

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

Návraty

Promise<readonly FeedRange[]>

všechny oblasti informačního kanálu, pro které je možné načíst kanál změn.

getPartitionKeyDefinition()

Upozornění

Toto rozhraní API je teď zastaralé.

This method has been renamed to readPartitionKeyDefinition.

Získá nejprve definici klíče oddílu tak, že se podívá do mezipaměti jinak čtením kolekce.

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

Návraty

getQueryPlan(string | SqlQuerySpec)

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

Parametry

query

string | SqlQuerySpec

Návraty

Promise<Response<PartitionedQueryExecutionInfo>>

initializeEncryption()

Zahřívá mezipaměti související se šifrováním pro kontejner.

příklad

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>

Návraty

Promise<void>

item(string, PartitionKey)

Slouží ke čtení, nahrazení nebo odstranění konkrétní položky podle ID.

Pomocí .items můžete vytvářet nové položky nebo dotazovat nebo číst všechny položky.

příklad

Nahrazení položky

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

ID položky.

partitionKeyValue
PartitionKey

Hodnota klíče oddílu Item

Návraty

read(RequestOptions)

Čtení definice kontejneru

příklad

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

Návraty

readOffer(RequestOptions)

Získá nabídku v kontejneru. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným.

příklad

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

Návraty

Promise<OfferResponse>

readPartitionKeyRanges(FeedOptions)

Získá rozsahy klíčů oddílů pro kontejner.

příklad

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

Možnosti pro požadavek.

Návraty

QueryIterator<PartitionKeyRange>

Iterátor rozsahů klíčů oddílů.

replace(ContainerDefinition, RequestOptions)

Nahrazení definice kontejneru

příklad

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

Návraty