Membuat dokumen

Selesai

Untuk membuat item baru, pertama-tama kita harus membuat variabel baru dalam kode C# jenis Produk.

Product saddle = new()
{
    id = "027D0B9A-F9D9-4C96-8213-C8546C4AAE71",
    categoryId = "26C74104-40BC-4541-8EF5-9892F7F03D72",
    name = "LL Road Seat/Saddle",
    price = 27.12d,
    tags = new string[] 
    {
        "brown",
        "weathered"
    }
};

Mari kita simpulkan bahwa sudah ada variabel jenis Microsoft.Azure.Cosmos.Container bernama container.

Kita dapat memanggil metode CreateItemAsync<> secara asinkron dengan meneruskan jenis Produk generik dan variabel item baru ke dalam konstruktor.

await container.CreateItemAsync<Product>(saddle);

Pemanggilan metode ini akan membuat item baru, tetapi Anda tidak akan memiliki metadata apa pun tentang hasil operasi. Atau, Anda dapat menyimpan hasil operasi dalam variabel berjenis ItemResponse<>.

ItemResponse<Product> response = await container.CreateItemAsync<Product>(saddle);

HttpStatusCode status = response.StatusCode;
double requestUnits = response.RequestCharge;

Product item = response.Resource;

Jika Anda menggunakan blok coba-tangkap, Anda dapat menangani jenis CosmosException, yang menyertakan properti StatusCode untuk nilai kode status HTTP. Ada beberapa kode status HTTP umum yang harus Anda pertimbangkan dalam kode aplikasi Anda:

Kode Judul Alasan
400 Permintaan Buruk Ada yang salah dengan item di isi permintaan
403 Terlarang Kontainer kemungkinan penuh
409 Konflik Item dalam kontainer kemungkinan sudah memiliki id yang cocok
413 RequestEntityTooLarge Item melebihi ukuran entitas maks
429 TooManyRequests Permintaan saat ini melebihi RU/dtk maksimum yang disediakan untuk kontainer

Dalam contoh ini

try
{
    await container.CreateItemAsync<Product>(saddle);
}
catch(CosmosException ex) when (ex.StatusCode == HttpStatusCode.Conflict)
{
    // Add logic to handle conflicting ids
}
catch(CosmosException ex) 
{
    // Add general exception handling logic
}