全部产品
Search
文档中心

Tablestore:GetRow

更新时间:Nov 04, 2025

Membaca satu baris data berdasarkan kunci primer yang ditentukan.

Sintaks permintaan

message GetRowRequest {
    required string table_name = 1;
    required bytes primary_key = 2; // Data dienkripsi sebagai data biner dalam format PlainBuffer. 
    repeated string columns_to_get = 3; // Jika Anda tidak menentukan parameter ini, semua kolom akan dibaca. 
    optional TimeRange time_range = 4;
    optional int32 max_versions = 5;
    optional bytes filter = 7;
    optional string start_column = 8;
    optional string end_column = 9;
    optional bytes token = 10;
    optional string transaction_id = 11;
}

Parameter

Tipe

Diperlukan

Deskripsi

table_name

string

Ya

Nama tabel yang datanya ingin Anda baca.

primary_key

bytes

Ya

Semua kolom kunci primer dari baris tersebut, termasuk nama dan nilai kolom kunci primer. Kolom kunci primer dienkripsi dalam format PlainBuffer. Untuk informasi lebih lanjut, lihat PlainBuffer.

columns_to_get

string

Tidak

Nama kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan parameter ini, semua kolom dari baris tersebut dikembalikan. Nilai parameter ini dapat berisi hingga 128 string.

Jika kolom yang ditentukan tidak ada, data dari kolom yang ditentukan tidak dikembalikan. Jika Anda menentukan nama kolom duplikat, respons hanya menyertakan kolom ini sekali.

time_range

TimeRange

Tidak (Anda harus menentukan setidaknya salah satu dari time_range dan max_versions.)

Rentang waktu tempat Anda ingin membaca beberapa versi data. Nilai minimum adalah 0, dan nilai maksimum adalah INT64.MAX. Unit: milidetik.

Jika Anda ingin meminta data dalam rentang waktu tertentu, tentukan start_time dan end_time. Jika Anda ingin meminta data yang berisi timestamp tertentu, tentukan specific_time.

Sebagai contoh, jika nilai time_range adalah [100, 200), timestamp data pada kolom yang dikembalikan harus berada dalam rentang [100, 200).

max_versions

int32

Tidak (Anda harus menentukan setidaknya salah satu dari time_range dan max_versions.)

Jumlah maksimum versi data yang ingin Anda kembalikan.

Jika nilai max_versions adalah 2, hingga dua versi data akan dikembalikan untuk setiap kolom.

filter

bytes

Tidak

Ekspresi kondisi filter. Ekspresi kondisi filter diserialisasi sebagai data biner menggunakan Protobuf. Untuk informasi lebih lanjut, lihat Filter.

start_column

string

Tidak

Kolom tempat operasi pembacaan dimulai dalam baris. Parameter ini digunakan untuk membaca kolom lebar. Kolom diurutkan berdasarkan nama mereka dalam urutan abjad. Respons berisi kolom awal yang ditentukan.

Jika sebuah tabel berisi kolom a, b, dan c dan nilai start_column adalah b, operasi pembacaan dimulai dari kolom b, dan kolom b dan c dikembalikan.

end_column

string

Tidak

Kolom tempat operasi pembacaan berakhir. Respons tidak berisi kolom akhir yang ditentukan. Kolom diurutkan berdasarkan nama mereka dalam urutan abjad.

Contoh: Jika sebuah tabel berisi kolom a, b, dan c dan nilai end_column adalah b, operasi pembacaan berakhir pada kolom b, dan hanya kolom a yang dikembalikan.

token

bytes

Tidak

Posisi tempat operasi pembacaan berikutnya dimulai dalam kolom lebar. Parameter ini tidak tersedia.

transaction_id

string

Tidak

ID transaksi lokal. Parameter ini diperlukan jika Anda menggunakan fitur transaksi lokal untuk membaca data.

Sintaks respons

message GetRowResponse {
    required ConsumedCapacity consumed = 1;
    required bytes row = 2; // Data dienkripsi sebagai data biner dalam format PlainBuffer.
    optional bytes next_token = 3;
}

Parameter

Tipe

Deskripsi

consumed

ConsumedCapacity

Jumlah unit kapasitas (CUs) yang dikonsumsi oleh operasi. Untuk informasi lebih lanjut, lihat Konsumsi CU.

row

bytes

Data yang dibaca dari baris. Jika baris yang diminta tidak ada, tidak ada data yang dikembalikan.

Data yang dikembalikan dienkripsi dalam format PlainBuffer. Untuk informasi lebih lanjut tentang PlainBuffer, lihat PlainBuffer.

next_token

bytes

Token yang dikembalikan jika jumlah kolom dalam baris data melebihi 128 dalam permintaan.

Menggunakan SDK Tablestore

Gunakan SDK Tablestore berikut untuk membaca baris data:

Konsumsi CU

  • Jika baris yang diminta tidak ada, satu CU baca dikonsumsi.

  • Jika baris yang diminta ada, jumlah CU baca yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU baca yang dikonsumsi = (Ukuran data di semua kolom kunci primer baris + Ukuran data di kolom atribut yang dibaca)/4 KB. Untuk informasi lebih lanjut tentang cara menghitung ukuran data, lihat Ikhtisar Penagihan.

  • Jika permintaan habis waktu dan hasilnya tidak terdefinisi, CU mungkin dikonsumsi atau tidak.

  • Jika kode status HTTP 5xx dikembalikan, yang menunjukkan bahwa kesalahan internal terjadi, operasi tidak mengonsumsi CU. Jika kesalahan lain dikembalikan, satu CU baca dikonsumsi.