Container class
عمليات لقراءة حاوية معينة موجودة أو استبدالها أو حذفها حسب المعرف.
راجع الحاويات لإنشاء حاويات جديدة، وقراءة/الاستعلام عن جميع الحاويات؛ استخدم .containers.
ملاحظة: تجري جميع هذه العمليات مكالمات مقابل ميزانية ثابتة.
يجب عليك تصميم النظام الخاص بك بحيث يتم تغيير حجم هذه المكالمات بشكل فرعي مع التطبيق الخاص بك.
على سبيل المثال، لا تتصل container(id).read() قبل كل استدعاء item.read() واحد، للتأكد من وجود الحاوية؛ قم بذلك مرة واحدة على بدء تشغيل التطبيق.
الخصائص
| conflicts | تتعارض عمليات القراءة والاستعلام للحاوية المحددة. لقراءة تعارض معين أو حذفه، استخدم |
| database | |
| id | |
| items | عمليات إنشاء عناصر جديدة وقراءة/الاستعلام عن كافة العناصر لقراءة عنصر موجود أو استبداله أو حذفه، استخدم المثال إنشاء عنصر جديد
|
| scripts | كافة العمليات للإجراءات المخزنة والمشغلات والوظائف المعرفة من قبل المستخدم |
| url | إرجاع URL مرجع إلى المورد. يستخدم للارتباط في الأذونات. |
الأساليب
| conflict(string, Partition |
يستخدم لقراءة تعارض معين أو استبداله أو حذفه حسب المعرف. استخدم المثال
|
| delete(Request |
حذف الحاوية المثال
|
| delete |
حذف كافة المستندات تنتمي إلى الحاوية لقيمة مفتاح القسم المتوفرة المثال
|
| get |
المثال
|
| get |
يحصل على تعريف مفتاح القسم أولا من خلال النظر في ذاكرة التخزين المؤقت بخلاف ذلك عن طريق قراءة المجموعة. |
| get |
|
| initialize |
تسخين ذاكرات التخزين المؤقت المتعلقة بالتشفير للحاوية. المثال
|
| item(string, Partition |
يستخدم لقراءة عنصر موجود أو استبداله أو حذفه حسب المعرف. استخدم المثال استبدال عنصر
|
| read(Request |
قراءة تعريف الحاوية المثال
|
| read |
الحصول على عرض على الحاوية. إذا لم يكن هناك أي منها، فترجع OfferResponse مع غير معرف. المثال
|
| read |
يحصل على نطاقات مفاتيح القسم للحاوية. المثال
|
| replace(Container |
استبدال تعريف الحاوية المثال
|
تفاصيل الخاصية
conflicts
تتعارض عمليات القراءة والاستعلام للحاوية المحددة.
لقراءة تعارض معين أو حذفه، استخدم .conflict(id).
Conflicts conflicts
قيمة الخاصية
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
المعلمات
- 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
المرتجعات
Promise<ContainerResponse>
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
المرتجعات
Promise<ContainerResponse>
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>>
المرتجعات
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
المعلمات
- 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
المرتجعات
Promise<ContainerResponse>
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>
المعلمات
- body
- ContainerDefinition
- options
- RequestOptions
المرتجعات
Promise<ContainerResponse>