Container class
Operasi untuk membaca, mengganti, atau menghapus kontainer tertentu yang ada menurut id.
Lihat Kontainer untuk membuat kontainer baru, dan membaca/mengkueri semua kontainer; gunakan .containers.
Catatan: semua operasi ini melakukan panggilan terhadap anggaran tetap.
Anda harus merancang sistem Anda sih sehingga panggilan ini menskalakan secara sublinear dengan aplikasi Anda.
Misalnya, jangan memanggil container(id).read() sebelum setiap panggilan item.read(), untuk memastikan kontainer ada; lakukan ini setelah aplikasi dimulai.
Properti
| conflicts | Operasi untuk membaca dan mengkueri konflik untuk kontainer yang diberikan. Untuk membaca atau menghapus konflik tertentu, gunakan |
| database | |
| id | |
| items | Operasi untuk membuat item baru, dan membaca/mengkueri semua item Untuk membaca, mengganti, atau menghapus item yang ada, gunakan Contoh Membuat item baru
|
| scripts | Semua operasi untuk Prosedur Tersimpan, Pemicu, dan Fungsi yang Ditentukan Pengguna |
| url | Mengembalikan URL referensi ke sumber daya. Digunakan untuk menautkan di Izin. |
Metode
| conflict(string, Partition |
Digunakan untuk membaca, mengganti, atau menghapus Konflik tertentu yang ada menurut id. Gunakan Contoh
|
| delete(Request |
Menghapus kontainer Contoh
|
| delete |
Menghapus semua dokumen milik kontainer untuk nilai kunci partisi yang disediakan Contoh
|
| get |
Contoh
|
| get |
Mendapatkan definisi kunci partisi terlebih dahulu dengan melihat ke cache jika tidak dengan membaca koleksi. |
| get |
|
| initialize |
Menghangatkan cache terkait enkripsi untuk kontainer. Contoh
|
| item(string, Partition |
Digunakan untuk membaca, mengganti, atau menghapus Item tertentu yang sudah ada menurut id. Gunakan Contoh Mengganti item
|
| read(Request |
Membaca definisi kontainer Contoh
|
| read |
Mendapatkan penawaran pada kontainer. Jika tidak ada, mengembalikan OfferResponse dengan tidak terdefinisi. Contoh
|
| read |
Mendapatkan rentang kunci partisi untuk kontainer. Contoh
|
| replace(Container |
Mengganti definisi kontainer Contoh
|
Detail Properti
conflicts
Operasi untuk membaca dan mengkueri konflik untuk kontainer yang diberikan.
Untuk membaca atau menghapus konflik tertentu, gunakan .conflict(id).
Conflicts conflicts
Nilai Properti
database
id
id: string
Nilai Properti
string
items
Operasi untuk membuat item baru, dan membaca/mengkueri semua item
Untuk membaca, mengganti, atau menghapus item yang ada, gunakan .item(id).
Contoh
Membuat item baru
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
Nilai Properti
scripts
Semua operasi untuk Prosedur Tersimpan, Pemicu, dan Fungsi yang Ditentukan Pengguna
Scripts scripts
Nilai Properti
url
Mengembalikan URL referensi ke sumber daya. Digunakan untuk menautkan di Izin.
string url
Nilai Properti
string
Detail Metode
conflict(string, PartitionKey)
Digunakan untuk membaca, mengganti, atau menghapus Konflik tertentu yang ada menurut id.
Gunakan .conflicts untuk membuat konflik baru, atau mengkueri/membaca semua konflik.
Contoh
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
Parameter
- id
-
string
Id Konflik.
- partitionKey
- PartitionKey
Mengembalikan
delete(RequestOptions)
Menghapus kontainer
Contoh
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>
Parameter
- options
- RequestOptions
Mengembalikan
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Menghapus semua dokumen milik kontainer untuk nilai kunci partisi yang disediakan
Contoh
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>
Parameter
- partitionKey
- PartitionKey
Nilai kunci partisi item yang akan dihapus
- options
- RequestOptions
Mengembalikan
Promise<ContainerResponse>
getFeedRanges()
Contoh
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[]>
Mengembalikan
Promise<readonly FeedRange[]>
semua rentang umpan tempat changefeed dapat diambil.
getPartitionKeyDefinition()
Peringatan
API ini sudah tidak digunakan lagi.
This method has been renamed to readPartitionKeyDefinition.
Mendapatkan definisi kunci partisi terlebih dahulu dengan melihat ke cache jika tidak dengan membaca koleksi.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Mengembalikan
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parameter
- query
-
string | SqlQuerySpec
Mengembalikan
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Menghangatkan cache terkait enkripsi untuk kontainer.
Contoh
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>
Mengembalikan
Promise<void>
item(string, PartitionKey)
Digunakan untuk membaca, mengganti, atau menghapus Item tertentu yang sudah ada menurut id.
Gunakan .items untuk membuat item baru, atau mengkueri/membaca semua item.
Contoh
Mengganti item
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
Parameter
- id
-
string
Id Item.
- partitionKeyValue
- PartitionKey
Nilai kunci partisi Item
Mengembalikan
read(RequestOptions)
Membaca definisi kontainer
Contoh
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>
Parameter
- options
- RequestOptions
Mengembalikan
Promise<ContainerResponse>
readOffer(RequestOptions)
Mendapatkan penawaran pada kontainer. Jika tidak ada, mengembalikan OfferResponse dengan tidak terdefinisi.
Contoh
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>
Parameter
- options
- RequestOptions
Mengembalikan
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Mendapatkan rentang kunci partisi untuk kontainer.
Contoh
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>
Parameter
- feedOptions
- FeedOptions
Opsi untuk permintaan.
Mengembalikan
QueryIterator<PartitionKeyRange>
Iterator rentang kunci partisi.
replace(ContainerDefinition, RequestOptions)
Mengganti definisi kontainer
Contoh
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>
Parameter
- body
- ContainerDefinition
- options
- RequestOptions
Mengembalikan
Promise<ContainerResponse>