مشاركة عبر


Database class

عمليات لقراءة قاعدة بيانات موجودة أو حذفها.

راجع قواعد البيانات لإنشاء قواعد بيانات جديدة، وقراءة/الاستعلام عن جميع قواعد البيانات؛ استخدم client.databases.

ملاحظة: تجري جميع هذه العمليات مكالمات مقابل ميزانية ثابتة. يجب عليك تصميم النظام الخاص بك بحيث يتم تغيير حجم هذه المكالمات بشكل فرعي مع التطبيق الخاص بك. على سبيل المثال، لا تتصل database.read() قبل كل استدعاء item.read() واحد، للتأكد من وجود قاعدة البيانات؛ قم بذلك مرة واحدة على بدء تشغيل التطبيق.

الخصائص

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>" });
id
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;
users

يستخدم لإنشاء مستخدمين جدد، أو الاستعلام/قراءة جميع المستخدمين.

استخدم .user(id) لقراءة مستخدم موجود أو استبداله أو حذفه حسب المعرف.

الأساليب

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();
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,
);
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();
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();
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>");
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();
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);
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();

تفاصيل الخاصية

client

client: CosmosClient

قيمة الخاصية

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

يستخدم لإنشاء مستخدمين جدد، أو الاستعلام/قراءة جميع المستخدمين.

استخدم .user(id) لقراءة مستخدم موجود أو استبداله أو حذفه حسب المعرف.

users: 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

المرتجعات

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

المرتجعات

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

البيانات الوصفية الجديدة لالتفاف مفتاح التشفير

المرتجعات

مفتاح تشفير العميل المعاد تغليفه باستخدام مفتاح مدار جديد للعميل

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

المرتجعات