Database class
Opérations de lecture ou de suppression d’une base de données existante.
Consultez bases de données pour créer de nouvelles bases de données et lire/interroger toutes les bases de données ; utilisez client.databases
.
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 database.read()
avant chaque appel de item.read()
unique, pour vous assurer que la base de données existe ; effectuez cette opération une fois sur le démarrage de l’application.
Propriétés
client | |
containers | Utilisé pour créer de nouveaux conteneurs, ou interroger/lire tous les conteneurs. Utilisez exemple de Créer un conteneur
|
id | |
url | Retourne une URL de référence à la ressource. Utilisé pour la liaison dans Autorisations. exemple de
|
users | Utilisé pour créer de nouveaux utilisateurs, ou interroger/lire tous les utilisateurs. Utilisez |
Méthodes
container(string) | Utilisé pour lire, remplacer ou supprimer une base de données existante par ID. Utilisez exemple de Supprimer un conteneur
|
create |
Création d’une clé de chiffrement pour le compte de base de données exemple de
|
delete(Request |
Supprimez la base de données donnée. exemple de
|
read(Request |
Lisez la définition de la base de données donnée. exemple de
|
read |
Lire Clé de chiffrement pour le compte de base de données exemple de
|
read |
Obtient l’offre sur la base de données. S’il n’en existe aucun, retourne un OfferResponse avec undefined. exemple de Lire l’offre sur la base de données
|
rewrap |
réencapsule une clé de chiffrement client avec une nouvelle clé de chiffrement exemple de
|
user(string) | Utilisé pour lire, remplacer ou supprimer un utilisateur existant par ID. Utilisez exemple de Supprimer un utilisateur
|
Détails de la propriété
client
containers
Utilisé pour créer de nouveaux conteneurs, ou interroger/lire tous les conteneurs.
Utilisez .database(id)
pour lire, remplacer ou supprimer une base de données existante par ID.
exemple de
Créer un conteneur
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 { body: containerDefinition, container } = await client
.database("<db id>")
.containers.create({ id: "<container id>" });
containers: Containers
Valeur de propriété
id
id: string
Valeur de propriété
string
url
Retourne une URL de référence à la ressource. Utilisé pour la liaison dans Autorisations.
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 url = database.url;
string url
Valeur de propriété
string
users
Utilisé pour créer de nouveaux utilisateurs, ou interroger/lire tous les utilisateurs.
Utilisez .user(id)
pour lire, remplacer ou supprimer un utilisateur spécifique par ID.
users: Users
Valeur de propriété
Détails de la méthode
container(string)
Utilisé pour lire, remplacer ou supprimer une base de données existante par ID.
Utilisez .containers
la création de nouveaux conteneurs ou l’interrogation/lecture de tous les conteneurs.
exemple de
Supprimer un conteneur
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 container(id: string): Container
Paramètres
- id
-
string
Retours
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Création d’une clé de chiffrement pour le compte de base de données
exemple de
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionKeyWrapMetadata,
EncryptionKeyResolverName,
KeyEncryptionAlgorithm,
EncryptionAlgorithm,
} 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 metadata: EncryptionKeyWrapMetadata = {
type: EncryptionKeyResolverName.AzureKeyVault,
name: "<key-name>",
value: "<key-vault-url>",
algorithm: KeyEncryptionAlgorithm.RSA_OAEP,
};
await database.createClientEncryptionKey(
"<cek-id>",
EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
metadata,
);
function createClientEncryptionKey(clientEncryptionKeyId: string, encryptionAlgorithm: AEAD_AES_256_CBC_HMAC_SHA256, keyWrapMetadata: EncryptionKeyWrapMetadata): Promise<ClientEncryptionKeyResponse>
Paramètres
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Retours
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Supprimez la base de données donnée.
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("<id here>").delete();
function delete(options?: RequestOptions): Promise<DatabaseResponse>
Paramètres
- options
- RequestOptions
Retours
Promise<DatabaseResponse>
read(RequestOptions)
Lisez la définition de la base de données donnée.
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>").read();
function read(options?: RequestOptions): Promise<DatabaseResponse>
Paramètres
- options
- RequestOptions
Retours
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Lire Clé de chiffrement pour le compte de base de données
exemple de
import { ClientSecretCredential } from "@azure/identity";
import { AzureKeyVaultEncryptionKeyResolver, CosmosClient } 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 { resource: clientEncryptionKey } = await database.readClientEncryptionKey("<cek-id>");
function readClientEncryptionKey(clientEncryptionKeyId: string): Promise<ClientEncryptionKeyResponse>
Paramètres
- clientEncryptionKeyId
-
string
Retours
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Obtient l’offre sur la base de données. S’il n’en existe aucun, retourne un OfferResponse avec undefined.
exemple de
Lire l’offre sur la base de données
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>").readOffer();
function readOffer(options?: RequestOptions): Promise<OfferResponse>
Paramètres
- options
- RequestOptions
Retours
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
réencapsule une clé de chiffrement client avec une nouvelle clé de chiffrement
exemple de
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionKeyWrapMetadata,
EncryptionKeyResolverName,
KeyEncryptionAlgorithm,
} 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 newMetadata: EncryptionKeyWrapMetadata = {
type: EncryptionKeyResolverName.AzureKeyVault,
name: "<key-name>",
value: "<key-vault-url>",
algorithm: KeyEncryptionAlgorithm.RSA_OAEP,
};
await database.rewrapClientEncryptionKey("<new-cek-id>", newMetadata);
function rewrapClientEncryptionKey(clientEncryptionKeyId: string, newKeyWrapMetadata: EncryptionKeyWrapMetadata): Promise<ClientEncryptionKeyResponse>
Paramètres
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Métadonnées d’encapsulation de nouvelle clé de chiffrement
Retours
Promise<ClientEncryptionKeyResponse>
Clé de chiffrement client réencapsulée avec une nouvelle clé gérée par le client
user(string)
Utilisé pour lire, remplacer ou supprimer un utilisateur existant par ID.
Utilisez .users
pour créer des utilisateurs, ou interroger/lire tous les utilisateurs.
exemple de
Supprimer un utilisateur
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>").user("<user id>").delete();
function user(id: string): User
Paramètres
- id
-
string