Bagikan melalui


Membuat item di Azure Cosmos DB untuk NoSQL menggunakan .NET

BERLAKU UNTUK: NoSQL

Item di Azure Cosmos DB mewakili entitas tertentu yang disimpan dalam kontainer. Dalam API untuk NoSQL, item terdiri dari data berformat JSON dengan pengidentifikasi unik.

Membuat pengidentifikasi unik untuk item

Pengidentifikasi unik adalah string berbeda yang mengidentifikasi item dalam kontainer. Properti id adalah satu-satunya properti yang diperlukan saat membuat dokumen JSON baru. Misalnya, dokumen JSON ini adalah item yang valid di Azure Cosmos DB:

{
  "id": "unique-string-2309509"
}

Dalam cakupan kontainer, dua item tidak dapat berbagi pengidentifikasi unik yang sama.

Penting

Properti id ini peka huruf besar/kecil. Properti bernama ID, Id, iD, dan _id akan diperlakukan sebagai properti JSON arbitrer.

Setelah dibuat, URI untuk item berada dalam format ini:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>

Saat mereferensikan item menggunakan URI, gunakan pengidentifikasi sumber daya yang dihasilkan sistem alih-alih bidang id. Untuk informasi selengkapnya tentang properti item yang dihasilkan sistem di Azure Cosmos DB untuk NoSQL, lihat properti item

Membuat item

Catatan

Contoh dalam artikel ini mengasumsikan bahwa Anda telah menentukan jenis C# untuk mewakili data Anda bernama Produk:

// C# record type for items in the container
public record Product(
    string id,
    string category,
    string name,
    int quantity,
    bool sale
);

Contohnya juga mengasumsikan bahwa Anda telah membuat objek baru jenis Produk bernama newItem:

// Create new item and add to container
Product item = new(
    id: "68719518388",
    category: "gear-surf-surfboards",
    name: "Sunnox Surfboard",
    quantity: 8,
    sale: true
);

Untuk membuat item, panggil salah satu metode berikut:

Membuat item secara asinkron

Contoh berikut membuat item baru secara asinkron:

Product createdItem = await container.CreateItemAsync<Product>(
    item: item,
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

Metode Container.CreateItemAsync<> ini akan memberikan pengecualian jika ada konflik dengan pengidentifikasi unik item yang ada. Untuk mempelajari selengkapnya tentang potensi pengecualian, lihat CreateItemAsync<> pengecualian.

Mengganti item secara asinkron

Contoh berikut menggantikan item yang ada secara asinkron:

Product replacedItem = await container.ReplaceItemAsync<Product>(
    item: item,
    id: "68719518388",
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

Metode Container.ReplaceItemAsync<> ini memerlukan string yang disediakan untuk parameter id agar sesuai dengan pengidentifikasi unik parameter item.

Membuat atau mengganti item secara asinkron

Contoh berikut akan membuat item baru atau mengganti item yang sudah ada jika item sudah ada dengan pengidentifikasi unik yang sama:

Product upsertedItem = await container.UpsertItemAsync<Product>(
    item: item,
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

Metode Container.UpsertItemAsync<> ini akan menggunakan pengidentifikasi unik parameter item untuk menentukan apakah ada konflik dengan item yang ada dan untuk mengganti item dengan tepat.

Langkah berikutnya

Sekarang setelah Anda membuat berbagai item, gunakan panduan berikutnya untuk membaca item.