Database class
Mevcut veritabanını okuma veya silme işlemleri.
Yeni veritabanları oluşturmak ve tüm veritabanlarını okumak/sorgulamak için bkz. Veritabanları; client.databaseskullanın.
Not: Tüm bu işlemler sabit bir bütçeye göre çağrı yapar.
Sisteminizi, bu çağrıların uygulamanızla birlikte alt satır olarak ölçeklendirilmesi için tasarlamanız gerekir.
Örneğin, veritabanının mevcut olduğundan emin olmak için her database.read() çağrısından önce item.read() çağırmayın; uygulama başlatılırken bunu bir kez yapın.
Özellikler
| client | |
| containers | Yeni kapsayıcılar oluşturmak veya tüm kapsayıcıları sorgulamak/okumak için kullanılır. Belirli bir Örnek Yeni kapsayıcı oluşturma
|
| id | |
| url | Kaynağa bir başvuru URL'si döndürür. İzinler'de bağlantı için kullanılır. Örnek
|
| users | Yeni kullanıcılar oluşturmak veya tüm kullanıcıları sorgulamak/okumak için kullanılır. Kimliğine göre kullanıcı |
Yöntemler
| container(string) | Kimliğe göre belirli bir Veritabanını okumak, değiştirmek veya silmek için kullanılır. Yeni kapsayıcılar oluşturmak veya tüm kapsayıcıları sorgulamak/okumak Örnek Kapsayıcıyı silme
|
| create |
Veritabanı hesabı için şifreleme anahtarı oluşturma Örnek
|
| delete(Request |
Verilen Veritabanını silin. Örnek
|
| read(Request |
Verilen Veritabanının tanımını okuyun. Örnek
|
| read |
Okuma Veritabanı hesabı için şifreleme anahtarı Örnek
|
| read |
Veritabanında teklif alır. Yoksa, tanımlanmamış bir OfferResponse döndürür. Örnek Veritabanındaki teklifi okuyun
|
| rewrap |
İstemci şifreleme anahtarını yeni anahtar şifreleme anahtarıyla yeniden sarmalar Örnek
|
| user(string) | Kimliğe göre kullanıcı belirli bir okumak, değiştirmek veya silmek için kullanılır. Yeni kullanıcılar oluşturmak veya tüm kullanıcıları sorgulamak/okumak için Örnek Kullanıcıyı silme
|
Özellik Ayrıntıları
client
containers
Yeni kapsayıcılar oluşturmak veya tüm kapsayıcıları sorgulamak/okumak için kullanılır.
Belirli bir .database(id) kimliğe göre okumak, değiştirmek veya silmek için kullanın.
Örnek
Yeni kapsayıcı oluşturma
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
Özellik Değeri
id
id: string
Özellik Değeri
string
url
Kaynağa bir başvuru URL'si döndürür. İzinler'de bağlantı için kullanılır.
Örnek
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
Özellik Değeri
string
users
Yöntem Ayrıntıları
container(string)
Kimliğe göre belirli bir Veritabanını okumak, değiştirmek veya silmek için kullanılır.
Yeni kapsayıcılar oluşturmak veya tüm kapsayıcıları sorgulamak/okumak .containers kullanın.
Örnek
Kapsayıcıyı silme
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
Parametreler
- id
-
string
Döndürülenler
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Veritabanı hesabı için şifreleme anahtarı oluşturma
Örnek
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>
Parametreler
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Döndürülenler
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Verilen Veritabanını silin.
Örnek
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>
Parametreler
- options
- RequestOptions
Döndürülenler
Promise<DatabaseResponse>
read(RequestOptions)
Verilen Veritabanının tanımını okuyun.
Örnek
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>
Parametreler
- options
- RequestOptions
Döndürülenler
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Okuma Veritabanı hesabı için şifreleme anahtarı
Örnek
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>
Parametreler
- clientEncryptionKeyId
-
string
Döndürülenler
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Veritabanında teklif alır. Yoksa, tanımlanmamış bir OfferResponse döndürür.
Örnek
Veritabanındaki teklifi okuyun
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>
Parametreler
- options
- RequestOptions
Döndürülenler
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
İstemci şifreleme anahtarını yeni anahtar şifreleme anahtarıyla yeniden sarmalar
Örnek
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>
Parametreler
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Yeni şifreleme anahtarı sarma meta verileri
Döndürülenler
Promise<ClientEncryptionKeyResponse>
İstemci şifreleme anahtarı yeni müşteri tarafından yönetilen anahtarla yeniden sarmalanmış
user(string)
Kimliğe göre kullanıcı belirli bir okumak, değiştirmek veya silmek için kullanılır.
Yeni kullanıcılar oluşturmak veya tüm kullanıcıları sorgulamak/okumak için .users kullanın.
Örnek
Kullanıcıyı silme
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
Parametreler
- id
-
string