مشاركة عبر


Container class

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

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

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

الخصائص

conflicts

تتعارض عمليات القراءة والاستعلام للحاوية المحددة.

لقراءة تعارض معين أو حذفه، استخدم .conflict(id).

database
id
items

عمليات إنشاء عناصر جديدة وقراءة/الاستعلام عن كافة العناصر

لقراءة عنصر موجود أو استبداله أو حذفه، استخدم .item(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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resource: createdItem } = await container.items.create({
  id: "<item id>",
  properties: {},
});
scripts

كافة العمليات للإجراءات المخزنة والمشغلات والوظائف المعرفة من قبل المستخدم

url

إرجاع URL مرجع إلى المورد. يستخدم للارتباط في الأذونات.

الأساليب

conflict(string, PartitionKey)

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

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

المثال

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 container = database.container("Test Container");

const { resource: conflict } = await container.conflict("<conflict-id>").read();
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("<db id>").container("<container id>").delete();
deleteAllItemsForPartitionKey(PartitionKey, 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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({
  id: "Test Container",
  partitionKey: {
    paths: ["/state"],
  },
});

const cities = [
  { id: "1", name: "Olympia", state: "WA", isCapitol: true },
  { id: "2", name: "Redmond", state: "WA", isCapitol: false },
  { id: "3", name: "Olympia", state: "IL", isCapitol: false },
];
for (const city of cities) {
  await container.items.create(city);
}

await container.deleteAllItemsForPartitionKey("WA");
getFeedRanges()

المثال

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resources: ranges } = await container.getFeedRanges();
getPartitionKeyDefinition()

يحصل على تعريف مفتاح القسم أولا من خلال النظر في ذاكرة التخزين المؤقت بخلاف ذلك عن طريق قراءة المجموعة.

getQueryPlan(string | SqlQuerySpec)
initializeEncryption()

تسخين ذاكرات التخزين المؤقت المتعلقة بالتشفير للحاوية.

المثال

import { ClientSecretCredential } from "@azure/identity";
import {
  AzureKeyVaultEncryptionKeyResolver,
  CosmosClient,
  EncryptionType,
  EncryptionAlgorithm,
  ClientEncryptionIncludedPath,
  ClientEncryptionPolicy,
} 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 paths = ["/path1", "/path2", "/path3"].map(
  (path) =>
    ({
      path: path,
      clientEncryptionKeyId: "< cek - id >",
      encryptionType: EncryptionType.DETERMINISTIC,
      encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
    }) as ClientEncryptionIncludedPath,
);
const clientEncryptionPolicy: ClientEncryptionPolicy = {
  includedPaths: paths,
  policyFormatVersion: 2,
};
const containerDefinition = {
  id: "Test Container",
  partitionKey: {
    paths: ["/id"],
  },
  clientEncryptionPolicy: clientEncryptionPolicy,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);

await container.initializeEncryption();
item(string, PartitionKey)

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

استخدم .items لإنشاء عناصر جديدة أو الاستعلام عن كافة العناصر أو قراءتها.

المثال

استبدال عنصر

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { body: replacedItem } = await container
  .item("<item id>", "<partition key value>")
  .replace({ id: "<item id>", title: "Updated post", authorID: 5 });
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>").container("<container id>").read();
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>")
  .container("<container id>")
  .readOffer();
readPartitionKeyRanges(FeedOptions)

يحصل على نطاقات مفاتيح القسم للحاوية.

المثال

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resources: ranges } = await container.readPartitionKeyRanges().fetchAll();
replace(ContainerDefinition, 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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const containerDefinition = {
  id: "Test Container",
  partitionKey: {
    paths: ["/key1"],
  },
  throughput: 1000,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);

containerDefinition.throughput = 400;
const { container: replacedContainer } = await container.replace(containerDefinition);

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

conflicts

تتعارض عمليات القراءة والاستعلام للحاوية المحددة.

لقراءة تعارض معين أو حذفه، استخدم .conflict(id).

Conflicts conflicts

قيمة الخاصية

database

database: Database

قيمة الخاصية

id

id: string

قيمة الخاصية

string

items

عمليات إنشاء عناصر جديدة وقراءة/الاستعلام عن كافة العناصر

لقراءة عنصر موجود أو استبداله أو حذفه، استخدم .item(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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resource: createdItem } = await container.items.create({
  id: "<item id>",
  properties: {},
});
Items items

قيمة الخاصية

scripts

كافة العمليات للإجراءات المخزنة والمشغلات والوظائف المعرفة من قبل المستخدم

Scripts scripts

قيمة الخاصية

url

إرجاع URL مرجع إلى المورد. يستخدم للارتباط في الأذونات.

string url

قيمة الخاصية

string

تفاصيل الأسلوب

conflict(string, PartitionKey)

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

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

المثال

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 container = database.container("Test Container");

const { resource: conflict } = await container.conflict("<conflict-id>").read();
function conflict(id: string, partitionKey?: PartitionKey): Conflict

المعلمات

id

string

معرف تعارض .

partitionKey
PartitionKey

المرتجعات

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("<db id>").container("<container id>").delete();
function delete(options?: RequestOptions): Promise<ContainerResponse>

المعلمات

options
RequestOptions

المرتجعات

deleteAllItemsForPartitionKey(PartitionKey, 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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({
  id: "Test Container",
  partitionKey: {
    paths: ["/state"],
  },
});

const cities = [
  { id: "1", name: "Olympia", state: "WA", isCapitol: true },
  { id: "2", name: "Redmond", state: "WA", isCapitol: false },
  { id: "3", name: "Olympia", state: "IL", isCapitol: false },
];
for (const city of cities) {
  await container.items.create(city);
}

await container.deleteAllItemsForPartitionKey("WA");
function deleteAllItemsForPartitionKey(partitionKey: PartitionKey, options?: RequestOptions): Promise<ContainerResponse>

المعلمات

partitionKey
PartitionKey

قيمة مفتاح القسم للعناصر المراد حذفها

options
RequestOptions

المرتجعات

getFeedRanges()

المثال

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resources: ranges } = await container.getFeedRanges();
function getFeedRanges(): Promise<readonly FeedRange[]>

المرتجعات

Promise<readonly FeedRange[]>

جميع نطاقات الموجزات التي يمكن إحضار ملف التغيير لها.

getPartitionKeyDefinition()

تحذير

واجهة برمجة التطبيقات هذه مهملة الآن.

This method has been renamed to readPartitionKeyDefinition.

يحصل على تعريف مفتاح القسم أولا من خلال النظر في ذاكرة التخزين المؤقت بخلاف ذلك عن طريق قراءة المجموعة.

function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>

المرتجعات

getQueryPlan(string | SqlQuerySpec)

function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>

المعلمات

query

string | SqlQuerySpec

المرتجعات

Promise<Response<PartitionedQueryExecutionInfo>>

initializeEncryption()

تسخين ذاكرات التخزين المؤقت المتعلقة بالتشفير للحاوية.

المثال

import { ClientSecretCredential } from "@azure/identity";
import {
  AzureKeyVaultEncryptionKeyResolver,
  CosmosClient,
  EncryptionType,
  EncryptionAlgorithm,
  ClientEncryptionIncludedPath,
  ClientEncryptionPolicy,
} 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 paths = ["/path1", "/path2", "/path3"].map(
  (path) =>
    ({
      path: path,
      clientEncryptionKeyId: "< cek - id >",
      encryptionType: EncryptionType.DETERMINISTIC,
      encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
    }) as ClientEncryptionIncludedPath,
);
const clientEncryptionPolicy: ClientEncryptionPolicy = {
  includedPaths: paths,
  policyFormatVersion: 2,
};
const containerDefinition = {
  id: "Test Container",
  partitionKey: {
    paths: ["/id"],
  },
  clientEncryptionPolicy: clientEncryptionPolicy,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);

await container.initializeEncryption();
function initializeEncryption(): Promise<void>

المرتجعات

Promise<void>

item(string, PartitionKey)

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

استخدم .items لإنشاء عناصر جديدة أو الاستعلام عن كافة العناصر أو قراءتها.

المثال

استبدال عنصر

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { body: replacedItem } = await container
  .item("<item id>", "<partition key value>")
  .replace({ id: "<item id>", title: "Updated post", authorID: 5 });
function item(id: string, partitionKeyValue?: PartitionKey): Item

المعلمات

id

string

معرف عنصر .

partitionKeyValue
PartitionKey

قيمة مفتاح القسم عنصر

المرتجعات

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>").container("<container id>").read();
function read(options?: RequestOptions): Promise<ContainerResponse>

المعلمات

options
RequestOptions

المرتجعات

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>")
  .container("<container id>")
  .readOffer();
function readOffer(options?: RequestOptions): Promise<OfferResponse>

المعلمات

options
RequestOptions

المرتجعات

Promise<OfferResponse>

readPartitionKeyRanges(FeedOptions)

يحصل على نطاقات مفاتيح القسم للحاوية.

المثال

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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resources: ranges } = await container.readPartitionKeyRanges().fetchAll();
function readPartitionKeyRanges(feedOptions?: FeedOptions): QueryIterator<PartitionKeyRange>

المعلمات

feedOptions
FeedOptions

خيارات الطلب.

المرتجعات

QueryIterator<PartitionKeyRange>

مكرر نطاقات مفاتيح القسم.

replace(ContainerDefinition, 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 { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const containerDefinition = {
  id: "Test Container",
  partitionKey: {
    paths: ["/key1"],
  },
  throughput: 1000,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);

containerDefinition.throughput = 400;
const { container: replacedContainer } = await container.replace(containerDefinition);
function replace(body: ContainerDefinition, options?: RequestOptions): Promise<ContainerResponse>

المعلمات

options
RequestOptions

المرتجعات