Database class
عمليات لقراءة قاعدة بيانات موجودة أو حذفها.
راجع قواعد البيانات لإنشاء قواعد بيانات جديدة، وقراءة/الاستعلام عن جميع قواعد البيانات؛ استخدم client.databases.
ملاحظة: تجري جميع هذه العمليات مكالمات مقابل ميزانية ثابتة.
يجب عليك تصميم النظام الخاص بك بحيث يتم تغيير حجم هذه المكالمات بشكل فرعي مع التطبيق الخاص بك.
على سبيل المثال، لا تتصل database.read() قبل كل استدعاء item.read() واحد، للتأكد من وجود قاعدة البيانات؛ قم بذلك مرة واحدة على بدء تشغيل التطبيق.
الخصائص
| client | |
| containers | يستخدم لإنشاء حاويات جديدة، أو الاستعلام/قراءة جميع الحاويات. استخدم المثال إنشاء حاوية جديدة
|
| id | |
| url | إرجاع URL مرجع إلى المورد. يستخدم للارتباط في الأذونات. المثال
|
| users | يستخدم لإنشاء مستخدمين جدد، أو الاستعلام/قراءة جميع المستخدمين. استخدم |
الأساليب
| container(string) | يستخدم لقراءة قاعدة بيانات موجودة أو استبدالها أو حذفها حسب المعرف. استخدم المثال حذف حاوية
|
| create |
إنشاء مفتاح تشفير لحساب قاعدة البيانات المثال
|
| delete(Request |
حذف قاعدة البيانات المحددة. المثال
|
| read(Request |
اقرأ تعريف قاعدة البيانات المحددة. المثال
|
| read |
قراءة مفتاح التشفير لحساب قاعدة البيانات المثال
|
| read |
الحصول على عرض على قاعدة البيانات. إذا لم يكن هناك أي منها، فترجع OfferResponse مع غير معرف. المثال اقرأ العرض في قاعدة البيانات
|
| rewrap |
يعيد تغليف مفتاح تشفير العميل بمفتاح تشفير مفتاح جديد المثال
|
| user(string) | يستخدم لقراءة مستخدم موجود أو استبداله أو حذفه حسب المعرف. استخدم المثال حذف مستخدم
|
تفاصيل الخاصية
client
containers
يستخدم لإنشاء حاويات جديدة، أو الاستعلام/قراءة جميع الحاويات.
استخدم .database(id) لقراءة قاعدة بيانات موجودة أو استبدالها أو حذفها حسب المعرف.
المثال
إنشاء حاوية جديدة
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
قيمة الخاصية
id
id: string
قيمة الخاصية
string
url
إرجاع URL مرجع إلى المورد. يستخدم للارتباط في الأذونات.
المثال
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
قيمة الخاصية
string
users
تفاصيل الأسلوب
container(string)
يستخدم لقراءة قاعدة بيانات موجودة أو استبدالها أو حذفها حسب المعرف.
استخدم .containers إنشاء حاويات جديدة، أو الاستعلام/قراءة جميع الحاويات.
المثال
حذف حاوية
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
المعلمات
- id
-
string
المرتجعات
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
إنشاء مفتاح تشفير لحساب قاعدة البيانات
المثال
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>
المعلمات
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
المرتجعات
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
حذف قاعدة البيانات المحددة.
المثال
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>
المعلمات
- options
- RequestOptions
المرتجعات
Promise<DatabaseResponse>
read(RequestOptions)
اقرأ تعريف قاعدة البيانات المحددة.
المثال
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>
المعلمات
- options
- RequestOptions
المرتجعات
Promise<DatabaseResponse>
readClientEncryptionKey(string)
قراءة مفتاح التشفير لحساب قاعدة البيانات
المثال
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>
المعلمات
- clientEncryptionKeyId
-
string
المرتجعات
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
الحصول على عرض على قاعدة البيانات. إذا لم يكن هناك أي منها، فترجع OfferResponse مع غير معرف.
المثال
اقرأ العرض في قاعدة البيانات
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>
المعلمات
- options
- RequestOptions
المرتجعات
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
يعيد تغليف مفتاح تشفير العميل بمفتاح تشفير مفتاح جديد
المثال
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>
المعلمات
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
البيانات الوصفية الجديدة لالتفاف مفتاح التشفير
المرتجعات
Promise<ClientEncryptionKeyResponse>
مفتاح تشفير العميل المعاد تغليفه باستخدام مفتاح مدار جديد للعميل
user(string)
يستخدم لقراءة مستخدم موجود أو استبداله أو حذفه حسب المعرف.
استخدم .users لإنشاء مستخدمين جدد، أو الاستعلام/قراءة جميع المستخدمين.
المثال
حذف مستخدم
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
المعلمات
- id
-
string