Container class
Operaciones para leer, reemplazar o eliminar un contenedor específico existente por identificador.
Consulte contenedores para crear nuevos contenedores y leer y consultar todos los contenedores; use .containers
.
Nota: todas estas operaciones realizan llamadas con un presupuesto fijo.
Debe diseñar el sistema de forma que estas llamadas se escalen de forma sublineal con la aplicación.
Por ejemplo, no llame a container(id).read()
antes de cada llamada item.read()
única, para asegurarse de que el contenedor existe; Haga esto una vez en el inicio de la aplicación.
Propiedades
conflicts | Operaciones para leer y consultar conflictos para el contenedor especificado. Para leer o eliminar un conflicto específico, use |
database | |
id | |
items | Operaciones para crear nuevos elementos y leer o consultar todos los elementos Para leer, reemplazar o eliminar un elemento existente, use de ejemplo de Crear un nuevo elemento
|
scripts | Todas las operaciones para procedimientos almacenados, desencadenadores y funciones definidas por el usuario |
url | Devuelve una dirección URL de referencia al recurso. Se usa para vincular en Permisos. |
Métodos
conflict(string, Partition |
Se usa para leer, reemplazar o eliminar un conflicto específico existente por identificador. Use de ejemplo de
|
delete(Request |
Eliminación del contenedor de ejemplo de
|
delete |
Eliminar todos los documentos pertenecen al contenedor para el valor de clave de partición proporcionado de ejemplo de
|
get |
de ejemplo de
|
get |
Obtiene primero la definición de clave de partición examinando la memoria caché; de lo contrario, lee la colección. |
get |
|
initialize |
Calienta las cachés relacionadas con el cifrado para el contenedor. de ejemplo de
|
item(string, Partition |
Se usa para leer, reemplazar o eliminar un elemento de específico existente por identificador. Use de ejemplo de Reemplazo de un elemento
|
read(Request |
Leer la definición del contenedor de ejemplo de
|
read |
Obtiene la oferta en el contenedor. Si no existe ninguno, devuelve una offerResponse con undefined. de ejemplo de
|
read |
Obtiene los intervalos de claves de partición para el contenedor. de ejemplo de
|
replace(Container |
Reemplazar la definición del contenedor de ejemplo de
|
Detalles de las propiedades
conflicts
Operaciones para leer y consultar conflictos para el contenedor especificado.
Para leer o eliminar un conflicto específico, use .conflict(id)
.
Conflicts conflicts
Valor de propiedad
database
id
id: string
Valor de propiedad
string
items
Operaciones para crear nuevos elementos y leer o consultar todos los elementos
Para leer, reemplazar o eliminar un elemento existente, use .item(id)
.
de ejemplo de
Crear un nuevo elemento
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 de propiedad
scripts
Todas las operaciones para procedimientos almacenados, desencadenadores y funciones definidas por el usuario
Scripts scripts
Valor de propiedad
url
Devuelve una dirección URL de referencia al recurso. Se usa para vincular en Permisos.
string url
Valor de propiedad
string
Detalles del método
conflict(string, PartitionKey)
Se usa para leer, reemplazar o eliminar un conflicto específico existente por identificador.
Use .conflicts
para crear nuevos conflictos o consultar o leer todos los conflictos.
de ejemplo de
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
Identificador del conflicto de.
- partitionKey
- PartitionKey
Devoluciones
delete(RequestOptions)
Eliminación del contenedor
de ejemplo de
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
Devoluciones
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Eliminar todos los documentos pertenecen al contenedor para el valor de clave de partición proporcionado
de ejemplo de
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
Valor de clave de partición de los elementos que se van a eliminar
- options
- RequestOptions
Devoluciones
Promise<ContainerResponse>
getFeedRanges()
de ejemplo de
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[]>
Devoluciones
Promise<readonly FeedRange[]>
todos los intervalos de fuente para los que se puede capturar el suministro de cambios.
getPartitionKeyDefinition()
Advertencia
Esta API ya está en desuso.
This method has been renamed to readPartitionKeyDefinition.
Obtiene primero la definición de clave de partición examinando la memoria caché; de lo contrario, lee la colección.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Devoluciones
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parámetros
- query
-
string | SqlQuerySpec
Devoluciones
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Calienta las cachés relacionadas con el cifrado para el contenedor.
de ejemplo de
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>
Devoluciones
Promise<void>
item(string, PartitionKey)
Se usa para leer, reemplazar o eliminar un elemento de específico existente por identificador.
Use .items
para crear nuevos elementos o consultar o leer todos los elementos.
de ejemplo de
Reemplazo de un elemento
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
Valor de la clave de partición elemento de
Devoluciones
read(RequestOptions)
Leer la definición del contenedor
de ejemplo de
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
Devoluciones
Promise<ContainerResponse>
readOffer(RequestOptions)
Obtiene la oferta en el contenedor. Si no existe ninguno, devuelve una offerResponse con undefined.
de ejemplo de
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
Devoluciones
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Obtiene los intervalos de claves de partición para el contenedor.
de ejemplo de
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
Opciones para la solicitud.
Devoluciones
QueryIterator<PartitionKeyRange>
Iterador de intervalos de claves de partición.
replace(ContainerDefinition, RequestOptions)
Reemplazar la definición del contenedor
de ejemplo de
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
Devoluciones
Promise<ContainerResponse>