Container class
Operações para ler, substituir ou excluir um contêiner específico existente por ID.
Consulte contêineres para criar novos contêineres e ler/consultar todos os contêineres; use .containers
.
Observação: todas essas operações fazem chamadas em relação a um orçamento fixo.
Você deve projetar seu sistema de modo que essas chamadas sejam dimensionadas sublinearmente com seu aplicativo.
Por exemplo, não chame container(id).read()
antes de cada chamada item.read()
, para garantir que o contêiner exista; faça isso uma vez na inicialização do aplicativo.
Propriedades
conflicts | Operações para ler e consultar conflitos para o contêiner fornecido. Para ler ou excluir um conflito específico, use |
database | |
id | |
items | Operações para criar novos itens e ler/consultar todos os itens Para ler, substituir ou excluir um item existente, use exemplo Criar um novo item
|
scripts | Todas as operações para procedimentos armazenados, gatilhos e funções definidas pelo usuário |
url | Retorna uma URL de referência para o recurso. Usado para vincular em Permissões. |
Métodos
conflict(string, Partition |
Usado para ler, substituir ou excluir uma de conflito de específica por ID. Use exemplo
|
delete(Request |
Excluir o contêiner exemplo
|
delete |
Excluir todos os documentos pertencem ao contêiner para o valor de chave de partição fornecido exemplo
|
get |
exemplo
|
get |
Obtém a definição da chave de partição primeiro examinando o cache caso contrário, lendo a coleção. |
get |
|
initialize |
Aquece os caches relacionados à criptografia para o contêiner. exemplo
|
item(string, Partition |
Usado para ler, substituir ou excluir um item de existente específico por ID. Use exemplo Substituir um item
|
read(Request |
Ler a definição do contêiner exemplo
|
read |
Obtém a oferta no contêiner. Se nenhum existir, retornará um OfferResponse com indefinido. exemplo
|
read |
Obtém os intervalos de chaves de partição para o contêiner. exemplo
|
replace(Container |
Substituir a definição do contêiner exemplo
|
Detalhes da propriedade
conflicts
Operações para ler e consultar conflitos para o contêiner fornecido.
Para ler ou excluir um conflito específico, use .conflict(id)
.
Conflicts conflicts
Valor da propriedade
database
id
id: string
Valor da propriedade
string
items
Operações para criar novos itens e ler/consultar todos os itens
Para ler, substituir ou excluir um item existente, use .item(id)
.
exemplo
Criar um novo 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 { resource: createdItem } = await container.items.create({
id: "<item id>",
properties: {},
});
Items items
Valor da propriedade
scripts
Todas as operações para procedimentos armazenados, gatilhos e funções definidas pelo usuário
Scripts scripts
Valor da propriedade
url
Retorna uma URL de referência para o recurso. Usado para vincular em Permissões.
string url
Valor da propriedade
string
Detalhes do método
conflict(string, PartitionKey)
Usado para ler, substituir ou excluir uma de conflito de específica por ID.
Use .conflicts
para criar novos conflitos ou consultar/ler todos os conflitos.
exemplo
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
Parâmetros
- id
-
string
A ID do de Conflito.
- partitionKey
- PartitionKey
Retornos
delete(RequestOptions)
Excluir o contêiner
exemplo
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>
Parâmetros
- options
- RequestOptions
Retornos
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Excluir todos os documentos pertencem ao contêiner para o valor de chave de partição fornecido
exemplo
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>
Parâmetros
- partitionKey
- PartitionKey
O valor da chave de partição dos itens a serem excluídos
- options
- RequestOptions
Retornos
Promise<ContainerResponse>
getFeedRanges()
exemplo
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[]>
Retornos
Promise<readonly FeedRange[]>
todos os intervalos de feed para os quais o feed de alterações pode ser buscado.
getPartitionKeyDefinition()
Aviso
Essa API foi preterida.
This method has been renamed to readPartitionKeyDefinition.
Obtém a definição da chave de partição primeiro examinando o cache caso contrário, lendo a coleção.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Retornos
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parâmetros
- query
-
string | SqlQuerySpec
Retornos
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Aquece os caches relacionados à criptografia para o contêiner.
exemplo
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>
Retornos
Promise<void>
item(string, PartitionKey)
Usado para ler, substituir ou excluir um item de existente específico por ID.
Use .items
para criar novos itens ou consultar/ler todos os itens.
exemplo
Substituir um 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
Parâmetros
- partitionKeyValue
- PartitionKey
O valor da chave de partição item de
Retornos
read(RequestOptions)
Ler a definição do contêiner
exemplo
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>
Parâmetros
- options
- RequestOptions
Retornos
Promise<ContainerResponse>
readOffer(RequestOptions)
Obtém a oferta no contêiner. Se nenhum existir, retornará um OfferResponse com indefinido.
exemplo
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>
Parâmetros
- options
- RequestOptions
Retornos
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Obtém os intervalos de chaves de partição para o contêiner.
exemplo
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>
Parâmetros
- feedOptions
- FeedOptions
Opções para a solicitação.
Retornos
QueryIterator<PartitionKeyRange>
Um iterador de intervalos de chaves de partição.
replace(ContainerDefinition, RequestOptions)
Substituir a definição do contêiner
exemplo
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>
Parâmetros
- body
- ContainerDefinition
- options
- RequestOptions
Retornos
Promise<ContainerResponse>