Database class
Operace čtení nebo odstranění existující databáze
Viz Databáze pro vytváření nových databází a čtení a dotazování všech databází; použít client.databases.
Poznámka: Všechny tyto operace vyžadují pevné rozpočty.
Systém byste měli navrhnout tak, aby tato volání škálovat podlineárně s vaší aplikací.
Například nevolejte database.read() před každým voláním item.read(), aby se zajistilo, že databáze existuje; proveďte to jednou při spuštění aplikace.
Vlastnosti
| client | |
| containers | Slouží k vytváření nových kontejnerů nebo dotazování/čtení všech kontejnerů. Pomocí příklad Vytvoření nového kontejneru
|
| id | |
| url | Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních. příklad
|
| users | Používá se k vytváření nových uživatelů nebo dotazování/ čtení všech uživatelů. Pomocí |
Metody
| container(string) | Slouží ke čtení, nahrazení nebo odstranění konkrétní existující databáze databáze podle ID. Použijte příklad Odstranění kontejneru
|
| create |
Vytvoření šifrovacího klíče pro databázový účet příklad
|
| delete(Request |
Odstraňte danou databázi. příklad
|
| read(Request |
Přečtěte si definici dané databáze. příklad
|
| read |
Čtení šifrovacího klíče pro databázový účet příklad
|
| read |
Získá nabídku pro databázi. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným. příklad Přečtěte si nabídku v databázi
|
| rewrap |
Znovu zalomí šifrovací klíč klienta novým šifrovacím klíčem příklad
|
| user(string) | Slouží ke čtení, nahrazení nebo odstranění konkrétního existujícího uživatele podle ID. Pomocí příklad Odstranění uživatele
|
Podrobnosti vlastnosti
client
containers
Slouží k vytváření nových kontejnerů nebo dotazování/čtení všech kontejnerů.
Pomocí .database(id) můžete číst, nahrazovat nebo odstraňovat konkrétní existující databáze podle ID.
příklad
Vytvoření nového kontejneru
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
Hodnota vlastnosti
id
id: string
Hodnota vlastnosti
string
url
Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních.
příklad
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
Hodnota vlastnosti
string
users
Podrobnosti metody
container(string)
Slouží ke čtení, nahrazení nebo odstranění konkrétní existující databáze databáze podle ID.
Použijte .containers vytváření nových kontejnerů nebo dotazování/čtení všech kontejnerů.
příklad
Odstranění kontejneru
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
Parametry
- id
-
string
Návraty
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Vytvoření šifrovacího klíče pro databázový účet
příklad
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>
Parametry
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Návraty
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Odstraňte danou databázi.
příklad
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>
Parametry
- options
- RequestOptions
Návraty
Promise<DatabaseResponse>
read(RequestOptions)
Přečtěte si definici dané databáze.
příklad
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>
Parametry
- options
- RequestOptions
Návraty
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Čtení šifrovacího klíče pro databázový účet
příklad
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>
Parametry
- clientEncryptionKeyId
-
string
Návraty
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Získá nabídku pro databázi. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným.
příklad
Přečtěte si nabídku v databázi
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>
Parametry
- options
- RequestOptions
Návraty
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Znovu zalomí šifrovací klíč klienta novým šifrovacím klíčem
příklad
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>
Parametry
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Nová metadata zalomení šifrovacího klíče
Návraty
Promise<ClientEncryptionKeyResponse>
Znovu zabalený šifrovací klíč klienta pomocí nového klíče spravovaného zákazníkem
user(string)
Slouží ke čtení, nahrazení nebo odstranění konkrétního existujícího uživatele podle ID.
Pomocí .users můžete vytvářet nové uživatele nebo dotazovat nebo číst všechny uživatele.
příklad
Odstranění uživatele
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
Parametry
- id
-
string