全部产品
Search
文档中心

Tablestore:Baca satu baris data

更新时间:Jul 06, 2025

Topik ini menjelaskan cara membaca satu baris data dari tabel Tablestore menggunakan Tablestore SDK for Java.

Catatan penggunaan

Saat membaca data dari tabel, Anda harus menyediakan primary key lengkap, termasuk nilai kolom primary key auto-increment.

Prasyarat

Klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.

Deskripsi metode

public GetRowResponse getRow(GetRowRequest getRowRequest) throws TableStoreException, ClientException

Parameter GetRowRequest

  • rowQueryCriteria (wajib) SingleRowQueryCriteria: Informasi tentang baris data yang ingin dibaca, termasuk parameter berikut.

    Parameter

    Tipe

    Deskripsi

    tableName (wajib)

    String

    Nama tabel data.

    primaryKey (wajib)

    PrimaryKey

    Informasi primary key, termasuk nama dan nilai kolom primary key.

    • Tipe data kolom primary key meliputi STRING, INTEGER, dan BINARY.

    • Jumlah dan tipe kolom primary key yang Anda tentukan harus sesuai dengan tabel tersebut.

    maxVersions (opsional)

    OptionalValue<Integer>

    Jumlah maksimum versi.

    • Anda harus mengonfigurasi setidaknya salah satu parameter maxVersions atau timeRange.

    • Jika jumlah versi yang memenuhi kondisi query melebihi jumlah maksimum versi yang ditentukan, data dengan jumlah versi yang ditentukan akan dikembalikan mulai dari versi terbaru hingga versi paling lama.

    timeRange (opsional)

    OptionalValue<TimeRange>

    Rentang versi data.

    • Anda harus mengonfigurasi setidaknya salah satu parameter maxVersions atau timeRange.

    • Setiap kolom atribut dalam tabel Tablestore dapat memiliki versi data yang berbeda. Setelah Anda menentukan rentang versi, hanya data dalam rentang versi tersebut yang akan dikembalikan.

    columnsToGet (opsional)

    Set<String>

    Kolom yang akan dibaca, yang bisa berupa kolom primary key atau kolom atribut.

    • Jika Anda tidak mengonfigurasi parameter columnsToGet, seluruh baris data akan dikembalikan.

    • Jika Anda mengonfigurasi parameter columnsToGet dan baris tidak berisi salah satu kolom yang ditentukan, null akan dikembalikan.

    filter (opsional)

    OptionalValue<Filter>

    Kondisi filter. Untuk informasi lebih lanjut, lihat Konfigurasikan filter.

    • Jika Anda mengonfigurasi parameter columnsToGet dan filter, baris akan difilter berdasarkan kondisi yang ditentukan oleh parameter columnsToGet, kemudian difilter berdasarkan kondisi yang ditentukan oleh parameter filter.

Contoh kode

Berikut adalah contoh kode untuk membaca satu baris data dengan nilai primary key row1.

public static void getRowExample(SyncClient client) {
    // Konstruksi primary key.
    PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
    primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("row1"));
    PrimaryKey primaryKey = primaryKeyBuilder.build();

    // Konstruksi data baris untuk dibaca.
    SingleRowQueryCriteria singleRowQueryCriteria = new SingleRowQueryCriteria("test_table", primaryKey);
    singleRowQueryCriteria.setMaxVersions(1);

    // Panggil metode getRow untuk membaca data baris.
    GetRowRequest getRowRequest = new GetRowRequest(singleRowQueryCriteria);
    GetRowResponse getRowResponse = client.getRow(getRowRequest);

    // Kembalikan hasil.
    System.out.println("RequestId: " + getRowResponse.getRequestId());
    System.out.println("Biaya CU Baca: " + getRowResponse.getConsumedCapacity().getCapacityUnit().getReadCapacityUnit());
    System.out.println("Biaya CU Tulis: " + getRowResponse.getConsumedCapacity().getCapacityUnit().getWriteCapacityUnit());
    System.out.println("Data Baris: \n" + getRowResponse.getRow());
}
  • Tentukan rentang versi data untuk dibaca. Hanya data dalam rentang versi yang akan dikembalikan.

    // Tetapkan rentang versi data untuk dibaca satu hari sebelum waktu saat ini.
    singleRowQueryCriteria.setTimeRange(new TimeRange(System.currentTimeMillis() - 86400*1000, System.currentTimeMillis()));
  • Tentukan kolom atribut untuk dibaca.

    singleRowQueryCriteria.addColumnsToGet("col2");

Referensi