Database class
Operaciones para leer o eliminar una base de datos existente.
Consulte Bases de datos para crear nuevas bases de datos y leer y consultar todas las bases de datos; use client.databases
.
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 database.read()
antes de cada llamada item.read()
única, para asegurarse de que la base de datos existe; Haga esto una vez en el inicio de la aplicación.
Propiedades
client | |
containers | Se usa para crear nuevos contenedores o consultar o leer todos los contenedores. Use de ejemplo de Creación de un contenedor
|
id | |
url | Devuelve una dirección URL de referencia al recurso. Se usa para vincular en Permisos. de ejemplo de
|
users | Se usa para crear nuevos usuarios o consultar o leer todos los usuarios. Use |
Métodos
container(string) | Se usa para leer, reemplazar o eliminar un de base de datos de específico existente por identificador. Use de ejemplo de Eliminación de un contenedor
|
create |
Crear clave de cifrado para la cuenta de base de datos de ejemplo de
|
delete(Request |
Elimine la base de datos especificada. de ejemplo de
|
read(Request |
Lea la definición de la base de datos especificada. de ejemplo de
|
read |
Lectura de la clave de cifrado de la cuenta de base de datos de ejemplo de
|
read |
Obtiene la oferta en la base de datos. Si no existe ninguno, devuelve una offerResponse con undefined. de ejemplo de Lea la oferta en la base de datos
|
rewrap |
Vuelve a encapsular una clave de cifrado de cliente con una nueva clave de cifrado de clave de ejemplo de
|
user(string) | Se usa para leer, reemplazar o eliminar un usuario específico existente por identificador. Use de ejemplo de Eliminación de un usuario
|
Detalles de las propiedades
client
containers
Se usa para crear nuevos contenedores o consultar o leer todos los contenedores.
Use .database(id)
para leer, reemplazar o eliminar un de base de datos de específico existente por identificador.
de ejemplo de
Creación de un contenedor
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
Valor de propiedad
id
id: string
Valor de propiedad
string
url
Devuelve una dirección URL de referencia al recurso. Se usa para vincular en Permisos.
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 url = database.url;
string url
Valor de propiedad
string
users
Se usa para crear nuevos usuarios o consultar o leer todos los usuarios.
Use .user(id)
para leer, reemplazar o eliminar un de usuario de específico por identificador.
users: Users
Valor de propiedad
Detalles del método
container(string)
Se usa para leer, reemplazar o eliminar un de base de datos de específico existente por identificador.
Use .containers
crear nuevos contenedores o consultar o leer todos los contenedores.
de ejemplo de
Eliminación de un contenedor
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
Parámetros
- id
-
string
Devoluciones
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Crear clave de cifrado para la cuenta de base de datos
de ejemplo 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>
Parámetros
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Devoluciones
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Elimine la base de datos especificada.
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("<id here>").delete();
function delete(options?: RequestOptions): Promise<DatabaseResponse>
Parámetros
- options
- RequestOptions
Devoluciones
Promise<DatabaseResponse>
read(RequestOptions)
Lea la definición de la base de datos especificada.
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>").read();
function read(options?: RequestOptions): Promise<DatabaseResponse>
Parámetros
- options
- RequestOptions
Devoluciones
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Lectura de la clave de cifrado de la cuenta de base de datos
de ejemplo 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>
Parámetros
- clientEncryptionKeyId
-
string
Devoluciones
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Obtiene la oferta en la base de datos. Si no existe ninguno, devuelve una offerResponse con undefined.
de ejemplo de
Lea la oferta en la base de datos
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>
Parámetros
- options
- RequestOptions
Devoluciones
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Vuelve a encapsular una clave de cifrado de cliente con una nueva clave de cifrado de clave
de ejemplo 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>
Parámetros
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
nuevos metadatos de ajuste de clave de cifrado
Devoluciones
Promise<ClientEncryptionKeyResponse>
Clave de cifrado de cliente reajustada con la nueva clave administrada por el cliente
user(string)
Se usa para leer, reemplazar o eliminar un usuario específico existente por identificador.
Use .users
para crear nuevos usuarios o consultar o leer todos los usuarios.
de ejemplo de
Eliminación de un usuario
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
Parámetros
- id
-
string