Membaca item di Azure Cosmos DB untuk Tabel menggunakan .NET
BERLAKU UNTUK: Meja
Item di Azure Cosmos DB mewakili entitas tertentu yang disimpan dalam kontainer. Dalam API untuk Tabel, item terdiri dari sekumpulan pasangan kunci-nilai yang diidentifikasi secara unik oleh komposit kunci baris dan partisi.
Membaca item menggunakan kunci komposit
Setiap item di Azure Cosmos DB for Table memiliki pengidentifikasi unik yang ditentukan oleh komposit kunci baris dan partisi . Kunci komposit ini disimpan sebagai properti RowKey
dan PartitionKey
masing-masing. Dalam cakupan kontainer, dua item tidak dapat berbagi pengidentifikasi unik yang sama.
Namun, Azure Cosmos DB memerlukan pengidentifikasi unik dan nilai kunci partisi item untuk melakukan pembacaan titik cepat item tersebut. Secara khusus, menyediakan kunci komposit akan melakukan pembacaan titik cepat dari item tersebut dengan biaya yang dapat diprediksi dalam unit permintaan (RU).
Baca item
Untuk melakukan pembacaan titik item, gunakan salah satu strategi berikut:
- Mengembalikan
TableEntity
objek menggunakanGetEntityAsync<>
- Mengembalikan objek dari jenis Anda sendiri menggunakan
GetEntityAsync<>
Membaca item menggunakan kelas bawaan
Contoh poin berikut membaca satu item secara asinkron dan mengembalikan hasil yang dideserialisasi ke dalam kamus menggunakan jenis bawaan TableEntity
:
// Read existing item from server-side table
TableEntity readItem = await tableClient.GetEntityAsync<TableEntity>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
Metode TableClient.GetEntityAsync<TableEntity>
membaca item dan mengembalikan objek jenis Response<TableEntity>
. Jenis Respons<> berisi operator konversi implisit untuk mengonversi objek menjadi objek **TableEntity''.
Membaca item menggunakan jenis Anda sendiri
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 table
public record Product : ITableEntity
{
public string RowKey { get; set; } = default!;
public string PartitionKey { get; set; } = default!;
public string Name { get; init; } = default!;
public int Quantity { get; init; }
public bool Sale { get; init; }
public ETag ETag { get; set; } = default!;
public DateTimeOffset? Timestamp { get; set; } = default!;
}
Contoh titik berikut membaca satu item secara asinkron dan mengembalikan item yang dideserialisasi menggunakan jenis generik yang disediakan:
// Read existing item from server-side table
Product readItem = await tableClient.GetEntityAsync<Product>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
Penting
Jenis generik yang Anda gunakan dengan metode TableClient.GetEntityAsync<> harus mengimplementasikan ITableEntity
antarmuka.
Metode TableClient.GetEntityAsync<>
membaca item dan mengembalikan objek jenis Response<>
. Jenis Response<> berisi operator konversi implisit untuk mengonversi objek menjadi jenis generik. Untuk mempelajari selengkapnya tentang operator implisit, lihat operator konversi yang ditentukan pengguna.
Langkah berikutnya
Sekarang setelah Anda membaca berbagai item, coba salah satu tutorial kami tentang mengkueri data Azure Cosmos DB for Table.