Database class
Operações para ler ou excluir um banco de dados existente.
Consulte Bancos de Dados para criar novos bancos de dados e ler/consultar todos os bancos de dados; use client.databases.
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 database.read() antes de cada chamada item.read(), para garantir que o banco de dados exista; faça isso uma vez na inicialização do aplicativo.
Propriedades
| client | |
| containers | Usado para criar novos contêineres ou consultar/ler todos os contêineres. Use exemplo Criar um novo contêiner
|
| id | |
| url | Retorna uma URL de referência para o recurso. Usado para vincular em Permissões. exemplo
|
| users | Usado para criar novos usuários ou consultar/ler todos os usuários. Use |
Métodos
| container(string) | Usado para ler, substituir ou excluir um banco de dados existente específico por ID. Use exemplo Excluir um contêiner
|
| create |
Criar chave de criptografia para conta de banco de dados exemplo
|
| delete(Request |
Exclua o banco de dados especificado. exemplo
|
| read(Request |
Leia a definição do banco de dados especificado. exemplo
|
| read |
Ler chave de criptografia para conta de banco de dados exemplo
|
| read |
Obtém oferta no banco de dados. Se nenhum existir, retornará um OfferResponse com indefinido. exemplo Leia a oferta no banco de dados
|
| rewrap |
Reencapsula uma chave de criptografia do cliente com uma nova chave de criptografia de chave exemplo
|
| user(string) | Usado para ler, substituir ou excluir um usuário existente específico por ID. Use exemplo Excluir um usuário
|
Detalhes da propriedade
client
containers
Usado para criar novos contêineres ou consultar/ler todos os contêineres.
Use .database(id) para ler, substituir ou excluir uma de Banco de Dados específica por ID.
exemplo
Criar um novo contêiner
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 da propriedade
id
id: string
Valor da propriedade
string
url
Retorna uma URL de referência para o recurso. Usado para vincular em Permissões.
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 url = database.url;
string url
Valor da propriedade
string
users
Usado para criar novos usuários ou consultar/ler todos os usuários.
Use .user(id) para ler, substituir ou excluir um de usuário existente específico por ID.
users: Users
Valor da propriedade
Detalhes do método
container(string)
Usado para ler, substituir ou excluir um banco de dados existente específico por ID.
Use .containers criar novos contêineres ou consultar/ler todos os contêineres.
exemplo
Excluir um contêiner
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
Retornos
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Criar chave de criptografia para conta de banco de dados
exemplo
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
Retornos
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Exclua o banco de dados especificado.
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("<id here>").delete();
function delete(options?: RequestOptions): Promise<DatabaseResponse>
Parâmetros
- options
- RequestOptions
Retornos
Promise<DatabaseResponse>
read(RequestOptions)
Leia a definição do banco de dados especificado.
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>").read();
function read(options?: RequestOptions): Promise<DatabaseResponse>
Parâmetros
- options
- RequestOptions
Retornos
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Ler chave de criptografia para conta de banco de dados
exemplo
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
Retornos
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Obtém oferta no banco de dados. Se nenhum existir, retornará um OfferResponse com indefinido.
exemplo
Leia a oferta no banco de dados
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
Retornos
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Reencapsula uma chave de criptografia do cliente com uma nova chave de criptografia de chave
exemplo
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
Novos metadados de encapsulamento de chave de criptografia
Retornos
Promise<ClientEncryptionKeyResponse>
Chave de criptografia do cliente reencapsulada com nova chave gerenciada pelo cliente
user(string)
Usado para ler, substituir ou excluir um usuário existente específico por ID.
Use .users para criar novos usuários ou consultar/ler todos os usuários.
exemplo
Excluir um usuário
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