Bagikan melalui


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:

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.