Container class
Opérations de lecture, de remplacement ou de suppression d’un conteneur spécifique existant par ID.
Consultez conteneurs pour créer de nouveaux conteneurs et lire/interroger tous les conteneurs ; utilisez .containers
.
Remarque : toutes ces opérations effectuent des appels sur un budget fixe.
Vous devez concevoir votre système afin que ces appels soient mis à l’échelle sous-linéairement avec votre application.
Par exemple, n’appelez pas container(id).read()
avant chaque appel de item.read()
unique, pour vous assurer que le conteneur existe ; effectuez cette opération une fois sur le démarrage de l’application.
Propriétés
conflicts | Opérations de lecture et d’interrogation de conflits pour le conteneur donné. Pour lire ou supprimer un conflit spécifique, utilisez |
database | |
id | |
items | Opérations de création d’éléments et lecture/interrogation de tous les éléments Pour lire, remplacer ou supprimer un élément existant, utilisez exemple de Créer un élément
|
scripts | Toutes les opérations pour les procédures stockées, les déclencheurs et les fonctions définies par l’utilisateur |
url | Retourne une URL de référence à la ressource. Utilisé pour la liaison dans Autorisations. |
Méthodes
conflict(string, Partition |
Utilisé pour lire, remplacer ou supprimer un conflit existant existant par ID. Utilisez exemple de
|
delete(Request |
Supprimer le conteneur exemple de
|
delete |
Supprimer tous les documents appartiennent au conteneur pour la valeur de clé de partition fournie exemple de
|
get |
exemple de
|
get |
Obtient d’abord la définition de clé de partition en examinant le cache autrement en lisant la collection. |
get |
|
initialize |
Réchauffe les caches liés au chiffrement pour le conteneur. exemple de
|
item(string, Partition |
Utilisé pour lire, remplacer ou supprimer un élément existant spécifique par ID. Utilisez exemple de Remplacer un élément
|
read(Request |
Lire la définition du conteneur exemple de
|
read |
Obtient l’offre sur le conteneur. S’il n’en existe aucun, retourne un OfferResponse avec undefined. exemple de
|
read |
Obtient les plages de clés de partition pour le conteneur. exemple de
|
replace(Container |
Remplacer la définition du conteneur exemple de
|
Détails de la propriété
conflicts
Opérations de lecture et d’interrogation de conflits pour le conteneur donné.
Pour lire ou supprimer un conflit spécifique, utilisez .conflict(id)
.
Conflicts conflicts
Valeur de propriété
database
id
id: string
Valeur de propriété
string
items
Opérations de création d’éléments et lecture/interrogation de tous les éléments
Pour lire, remplacer ou supprimer un élément existant, utilisez .item(id)
.
exemple de
Créer un élément
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
Valeur de propriété
scripts
Toutes les opérations pour les procédures stockées, les déclencheurs et les fonctions définies par l’utilisateur
Scripts scripts
Valeur de propriété
url
Retourne une URL de référence à la ressource. Utilisé pour la liaison dans Autorisations.
string url
Valeur de propriété
string
Détails de la méthode
conflict(string, PartitionKey)
Utilisé pour lire, remplacer ou supprimer un conflit existant existant par ID.
Utilisez .conflicts
pour créer de nouveaux conflits, ou interroger/lire tous les conflits.
exemple 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
Paramètres
- id
-
string
ID du conflit.
- partitionKey
- PartitionKey
Retours
delete(RequestOptions)
Supprimer le conteneur
exemple 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>
Paramètres
- options
- RequestOptions
Retours
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Supprimer tous les documents appartiennent au conteneur pour la valeur de clé de partition fournie
exemple 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>
Paramètres
- partitionKey
- PartitionKey
Valeur de clé de partition des éléments à supprimer
- options
- RequestOptions
Retours
Promise<ContainerResponse>
getFeedRanges()
exemple 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[]>
Retours
Promise<readonly FeedRange[]>
toutes les plages de flux pour lesquelles le flux de modification peut être récupéré.
getPartitionKeyDefinition()
Avertissement
Cette API est à présent déconseillée.
This method has been renamed to readPartitionKeyDefinition.
Obtient d’abord la définition de clé de partition en examinant le cache autrement en lisant la collection.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Retours
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Paramètres
- query
-
string | SqlQuerySpec
Retours
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Réchauffe les caches liés au chiffrement pour le conteneur.
exemple 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>
Retours
Promise<void>
item(string, PartitionKey)
Utilisé pour lire, remplacer ou supprimer un élément existant spécifique par ID.
Utilisez .items
pour créer des éléments, ou interroger/lire tous les éléments.
exemple de
Remplacer un élément
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
Paramètres
- partitionKeyValue
- PartitionKey
Valeur de la clé de partition Élément
Retours
read(RequestOptions)
Lire la définition du conteneur
exemple 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>
Paramètres
- options
- RequestOptions
Retours
Promise<ContainerResponse>
readOffer(RequestOptions)
Obtient l’offre sur le conteneur. S’il n’en existe aucun, retourne un OfferResponse avec undefined.
exemple 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>
Paramètres
- options
- RequestOptions
Retours
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Obtient les plages de clés de partition pour le conteneur.
exemple 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>
Paramètres
- feedOptions
- FeedOptions
Options de la demande.
Retours
QueryIterator<PartitionKeyRange>
Itérateur de plages de clés de partition.
replace(ContainerDefinition, RequestOptions)
Remplacer la définition du conteneur
exemple 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>
Paramètres
- body
- ContainerDefinition
- options
- RequestOptions
Retours
Promise<ContainerResponse>