Database class
Operazioni per la lettura o l'eliminazione di un database esistente.
Vedere Database per la creazione di nuovi database e la lettura/esecuzione di query su tutti i database; usare client.databases.
Nota: tutte queste operazioni effettuano chiamate a un budget fisso.
È consigliabile progettare il sistema in modo che queste chiamate scalano in modo secondario con l'applicazione.
Ad esempio, non chiamare database.read() prima di ogni singola chiamata item.read(), per assicurarsi che il database esista; eseguire questa operazione una volta all'avvio dell'applicazione.
Proprietà
| client | |
| containers | Usato per la creazione di nuovi contenitori o l'esecuzione di query o la lettura di tutti i contenitori. Usare esempio di Creare un nuovo contenitore
|
| id | |
| url | Restituisce un URL di riferimento alla risorsa. Usato per il collegamento in Autorizzazioni. esempio di
|
| users | Usato per la creazione di nuovi utenti o l'esecuzione di query/lettura di tutti gli utenti. Usare |
Metodi
| container(string) | Consente di leggere, sostituire o eliminare un database specifico per ID. Usare esempio di Eliminare un contenitore
|
| create |
Crea chiave di crittografia per l'account del database esempio di
|
| delete(Request |
Eliminare il database specificato. esempio di
|
| read(Request |
Leggere la definizione del database specificato. esempio di
|
| read |
Leggere la chiave di crittografia per l'account del database esempio di
|
| read |
Ottiene l'offerta nel database. Se non esiste alcun valore, restituisce un oggetto OfferResponse senza definizione. esempio di Leggi l'offerta sul database
|
| rewrap |
Esegue nuovamente il wrapping di una chiave di crittografia client con una nuova chiave di crittografia della chiave esempio di
|
| user(string) | Usato per leggere, sostituire o eliminare un utente specifico in base all'ID. Usare esempio di Eliminare un utente
|
Dettagli proprietà
client
containers
Usato per la creazione di nuovi contenitori o l'esecuzione di query o la lettura di tutti i contenitori.
Usare .database(id) per leggere, sostituire o eliminare un database esistente in base all'ID.
esempio di
Creare un nuovo contenitore
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
Valore della proprietà
id
id: string
Valore della proprietà
string
url
Restituisce un URL di riferimento alla risorsa. Usato per il collegamento in Autorizzazioni.
esempio di
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
Valore della proprietà
string
users
Usato per la creazione di nuovi utenti o l'esecuzione di query/lettura di tutti gli utenti.
Usare .user(id) per leggere, sostituire o eliminare uno specifico utente esistente in base all'ID.
users: Users
Valore della proprietà
Dettagli metodo
container(string)
Consente di leggere, sostituire o eliminare un database specifico per ID.
Usare .containers creare nuovi contenitori o eseguire query/leggere tutti i contenitori.
esempio di
Eliminare un contenitore
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
Parametri
- id
-
string
Restituisce
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Crea chiave di crittografia per l'account del database
esempio di
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>
Parametri
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Restituisce
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Eliminare il database specificato.
esempio di
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>
Parametri
- options
- RequestOptions
Restituisce
Promise<DatabaseResponse>
read(RequestOptions)
Leggere la definizione del database specificato.
esempio di
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>
Parametri
- options
- RequestOptions
Restituisce
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Leggere la chiave di crittografia per l'account del database
esempio di
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>
Parametri
- clientEncryptionKeyId
-
string
Restituisce
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Ottiene l'offerta nel database. Se non esiste alcun valore, restituisce un oggetto OfferResponse senza definizione.
esempio di
Leggi l'offerta sul database
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>
Parametri
- options
- RequestOptions
Restituisce
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Esegue nuovamente il wrapping di una chiave di crittografia client con una nuova chiave di crittografia della chiave
esempio di
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>
Parametri
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Nuovi metadati di wrapping della chiave di crittografia
Restituisce
Promise<ClientEncryptionKeyResponse>
Chiave di crittografia client di cui è stato eseguito il wrapping con la nuova chiave gestita dal cliente
user(string)
Usato per leggere, sostituire o eliminare un utente specifico in base all'ID.
Usare .users per creare nuovi utenti o eseguire query/leggere tutti gli utenti.
esempio di
Eliminare un utente
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
Parametri
- id
-
string