Database class
Åtgärder för att läsa eller ta bort en befintlig databas.
Se Databaser för att skapa nya databaser och läsa/köra frågor mot alla databaser. använd client.databases.
Obs! Alla dessa åtgärder anropar en fast budget.
Du bör utforma systemet så att dessa anrop skalas sublinearly med ditt program.
Anropa till exempel inte database.read() före varje enskilt item.read()-anrop för att säkerställa att databasen finns. gör detta en gång när programmet startas.
Egenskaper
| client | |
| containers | Används för att skapa nya containrar eller fråga/läsa alla containrar. Använd Exempel Skapa en ny container
|
| id | |
| url | Returnerar en referens-URL till resursen. Används för länkning i Behörigheter. Exempel
|
| users | Används för att skapa nya användare eller fråga/läsa alla användare. Använd |
Metoder
| container(string) | Används för att läsa, ersätta eller ta bort en specifik befintlig Database med ID. Använd Exempel Ta bort en container
|
| create |
Skapa krypteringsnyckel för databaskonto Exempel
|
| delete(Request |
Ta bort den angivna databasen. Exempel
|
| read(Request |
Läs definitionen av den angivna databasen. Exempel
|
| read |
Läskrypteringsnyckel för databaskonto Exempel
|
| read |
Hämtar erbjudande om databas. Om ingen finns returnerar ett OfferResponse med odefinierat. Exempel Läs erbjudandet i databasen
|
| rewrap |
Omsluter en klientkrypteringsnyckel på nytt med en ny nyckelkrypteringsnyckel Exempel
|
| user(string) | Används för att läsa, ersätta eller ta bort en specifik befintlig användare med ID. Använd Exempel Ta bort en användare
|
Egenskapsinformation
client
containers
Används för att skapa nya containrar eller fråga/läsa alla containrar.
Använd .database(id) för att läsa, ersätta eller ta bort en specifik befintlig Database med ID.
Exempel
Skapa en ny container
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
Egenskapsvärde
id
id: string
Egenskapsvärde
string
url
Returnerar en referens-URL till resursen. Används för länkning i Behörigheter.
Exempel
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
Egenskapsvärde
string
users
Metodinformation
container(string)
Används för att läsa, ersätta eller ta bort en specifik befintlig Database med ID.
Använd .containers att skapa nya containrar eller fråga/läsa alla containrar.
Exempel
Ta bort en container
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
Parametrar
- id
-
string
Returer
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Skapa krypteringsnyckel för databaskonto
Exempel
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>
Parametrar
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Returer
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Ta bort den angivna databasen.
Exempel
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>
Parametrar
- options
- RequestOptions
Returer
Promise<DatabaseResponse>
read(RequestOptions)
Läs definitionen av den angivna databasen.
Exempel
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>
Parametrar
- options
- RequestOptions
Returer
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Läskrypteringsnyckel för databaskonto
Exempel
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>
Parametrar
- clientEncryptionKeyId
-
string
Returer
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Hämtar erbjudande om databas. Om ingen finns returnerar ett OfferResponse med odefinierat.
Exempel
Läs erbjudandet i databasen
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>
Parametrar
- options
- RequestOptions
Returer
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Omsluter en klientkrypteringsnyckel på nytt med en ny nyckelkrypteringsnyckel
Exempel
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>
Parametrar
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Ny omslutning av krypteringsnyckel metadata
Returer
Promise<ClientEncryptionKeyResponse>
Ompaketerad klientkrypteringsnyckel med ny kundhanterad nyckel
user(string)
Används för att läsa, ersätta eller ta bort en specifik befintlig användare med ID.
Använd .users för att skapa nya användare eller fråga/läsa alla användare.
Exempel
Ta bort en användare
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
Parametrar
- id
-
string