Tablestore menyediakan berbagai operasi untuk membaca data. Anda dapat menggunakan operasi GetRow untuk membaca satu baris data, BatchGetRow untuk membaca beberapa baris sekaligus, dan GetRange untuk membaca data dengan nilai kunci primer dalam rentang tertentu.
Metode Kueri
Tablestore menyediakan operasi GetRow, BatchGetRow, dan GetRange untuk membaca data. Pilih metode kueri yang sesuai berdasarkan skenario penggunaan Anda.
Jika Anda ingin membaca data dari tabel yang memiliki kolom kunci primer auto-increment, pastikan semua nilai kolom kunci primer termasuk nilai auto-increment telah ditentukan. Untuk informasi lebih lanjut, lihat Konfigurasi kolom kunci primer auto-increment. Jika nilai kolom kunci primer auto-increment tidak tersedia, gunakan operasi GetRange untuk menentukan rentang pembacaan berdasarkan nilai kunci primer dari kolom pertama.
Metode Kueri | Deskripsi | Skenario |
Gunakan operasi GetRow untuk membaca satu baris data. | Metode ini cocok jika semua kolom kunci primer dapat ditentukan dan jumlah baris yang dibaca sedikit. | |
Gunakan operasi BatchGetRow untuk membaca beberapa baris data dari satu atau lebih tabel. Operasi BatchGetRow terdiri dari beberapa operasi GetRow. Proses pembuatannya sama dengan pemanggilan operasi GetRow. | Metode ini cocok jika semua kolom kunci primer dapat ditentukan dan jumlah baris yang dibaca banyak atau data berasal dari beberapa tabel. | |
Gunakan operasi GetRange untuk membaca data dengan nilai kunci primer dalam rentang tertentu. Operasi GetRange memungkinkan pembacaan data ke arah maju atau mundur dengan batasan jumlah baris. Jika rentang besar, pemindaian akan berhenti ketika batas tercapai, dan baris yang dibaca serta informasi kunci primer baris berikutnya dikembalikan. Anda dapat melanjutkan dari posisi terakhir menggunakan informasi tersebut. | Metode ini cocok jika rentang atau awalan kolom kunci primer dapat ditentukan. Penting Jika awalan kolom kunci primer tidak dapat ditentukan, gunakan INF_MIN dan INF_MAX untuk menentukan rentang semua kolom kunci primer. Operasi ini memindai seluruh tabel tetapi mengonsumsi banyak sumber daya komputasi. Gunakan dengan hati-hati. |
Persyaratan Awal
Instansi OTSClient harus diinisialisasi. Untuk detailnya, lihat Inisialisasi instansi OTSClient.
Tabel data harus dibuat dan berisi data. Untuk detailnya, lihat Buat tabel data.
Membaca satu baris data
Gunakan operasi GetRow untuk membaca satu baris data. Setelah memanggil operasi ini, salah satu hasil berikut mungkin diperoleh:
Operasi API
/**
* Membaca baris data.
* @api
* @param [] $request Parameter permintaan.
* @return [] Respons.
* @throws OTSClientException Pengecualian yang dilempar jika terjadi kesalahan parameter atau server Tablestore mengembalikan kesalahan verifikasi.
* @throws OTSServerException Pengecualian yang dilempar jika server Tablestore mengembalikan kesalahan.
*/
public function getRow(array $request); Parameter Permintaan
Parameter | Deskripsi |
table_name | Nama tabel. |
primary_key | Informasi kunci primer dari baris. Informasi kunci primer terdiri dari nama kolom kunci primer, tipe kunci primer, dan nilai kunci primer. Penting Jumlah dan tipe kolom kunci primer yang Anda tentukan harus sama dengan jumlah dan tipe kolom kunci primer aktual dalam tabel. |
max_versions | Jumlah maksimum versi data yang dapat dibaca. Penting Anda harus menentukan setidaknya salah satu parameter max_versions dan time_range.
|
time_range | Rentang waktu versi atau versi spesifik yang ingin Anda baca. Untuk informasi lebih lanjut, lihat TimeRange. Penting Anda harus menentukan setidaknya salah satu parameter max_versions dan time_range.
Hanya salah satu dari specific_time dan Nilai valid parameter time_range: 0 hingga |
columns_to_get | Kolom yang ingin Anda baca. Anda dapat menentukan nama kolom kunci primer atau kolom atribut.
Catatan
|
start_column | Kolom tempat operasi pembacaan kolom lebar dimulai. Respons mencakup kolom awal. Kolom diurutkan berdasarkan nama mereka secara alfabetis. Misalnya, sebuah tabel berisi tiga kolom: a, b, dan c. Jika nilai parameter start_column adalah b, operasi pembacaan dimulai dari Kolom b, dan Kolom b dan c dikembalikan. |
end_column | Kolom tempat operasi pembacaan kolom lebar berakhir. Respons mengecualikan kolom akhir. Kolom diurutkan berdasarkan nama mereka secara alfabetis. Misalnya, sebuah tabel berisi tiga kolom: a, b, dan c. Jika nilai parameter end_column adalah b, operasi pembacaan berakhir pada Kolom b, dan Kolom a dikembalikan. |
token | Posisi tempat operasi pembacaan kolom lebar berikutnya dimulai. Parameter ini tidak tersedia. |
column_filter | Filter yang ingin Anda gunakan untuk menyaring hasil kueri di sisi server. Hanya baris yang memenuhi kondisi filter yang dikembalikan. Untuk informasi lebih lanjut, lihat Gunakan filter. Catatan Jika Anda menentukan parameter columns_to_get dan column_filter, Tablestore menanyakan kolom yang ditentukan oleh parameter columns_to_get, dan kemudian mengembalikan baris yang memenuhi kondisi filter. |
Sintaksis Permintaan
$result = $client->getRow([
'table_name' => '<string>', // Tentukan nama tabel.
'primary_key' => [ // Tentukan informasi kunci primer.
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'max_versions' => <integer>,
'time_range' => [
'start_time' => <integer>,
'end_time' => <integer>,
'specific_time' => <integer>
],
'start_column' => '<string>',
'end_column' => '<string>',
'token' => '<string>',
'columns_to_get' => [
'<string>',
'<string>',
//...
],
'column_filter' => <ColumnCondition>
]); Parameter Respons
Parameter | Deskripsi |
consumed | Jumlah unit kapasitas (CUs) yang dikonsumsi oleh operasi. capacity_unit: jumlah CUs baca/tulis yang dikonsumsi. Parameter:
|
primary_key | Nilai kunci primer, yang sama dengan yang ditentukan dalam permintaan. Catatan Jika baris tidak ada, daftar kosong [] dikembalikan untuk parameter primary_key. |
attribute_columns | Kolom atribut. Catatan Jika baris tidak ada, daftar kosong [] dikembalikan untuk parameter attribute_columns.
|
next_token | Posisi tempat operasi pembacaan kolom lebar berikutnya dimulai. Parameter ini tidak tersedia. |
Format Respons
[
'consumed' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'primary_key' => [
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'attribute_columns' => [
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
],
'next_token' => '<string>'
] Kode Contoh
Baca data versi terbaru dari kolom tertentu dari sebuah baris
Contoh berikut menunjukkan cara membaca data versi terbaru dari kolom tertentu:
$request = [
'table_name' => 'MyTable',
'primary_key' => [ // Tentukan informasi kunci primer.
['PK0', 123],
['PK1', 'abc']
],
'max_versions' => 1, // Atur parameter ini ke 1 untuk membaca data versi terbaru.
'columns_to_get' => ['Col0'] // Tentukan kolom yang ingin Anda baca.
];
$response = $otsClient->getRow ($request); Baca baris data menggunakan filter
Contoh berikut menunjukkan cara membaca baris data dengan filter:
$request = [
'table_name' => 'MyTable',
'primary_key' => [ // Tentukan informasi kunci primer.
['PK0', 123],
['PK1', 'abc']
],
'max_versions' => 1, // Atur parameter ini ke 1 untuk membaca data versi terbaru.
'column_filter' => [ // Konfigurasikan filter untuk mengembalikan baris yang nilainya pada kolom Col0 adalah 0.
'column_name' => 'Col0',
'value' => 0,
'comparator' => ComparatorTypeConst::CONST_EQUAL,
'pass_if_missing' => false // Jika baris tidak mengandung kolom Col0, baris tersebut tidak dikembalikan.
]
];
$response = $otsClient->getRow ($request); Membaca beberapa baris data sekaligus
Gunakan operasi BatchGetRow untuk membaca beberapa baris data dari satu atau lebih tabel secara bersamaan. Operasi ini terdiri dari beberapa operasi GetRow.
Setiap operasi GetRow dilakukan secara independen. Tablestore mengembalikan respons untuk setiap operasi GetRow secara terpisah.
Catatan Penggunaan
Saat memanggil operasi BatchGetRow untuk membaca beberapa baris sekaligus, ada kemungkinan beberapa baris gagal dibaca. Jika hal ini terjadi, Tablestore tidak mengembalikan pengecualian, melainkan mengembalikan BatchGetRowResponse yang mencakup informasi tentang baris yang gagal. Oleh karena itu, saat menggunakan operasi BatchGetRow, Anda harus memeriksa nilai pengembalian untuk memastikan keberhasilan pembacaan data dari setiap baris.
Operasi BatchGetRow menggunakan parameter yang sama untuk semua baris. Misalnya, jika parameter
ColumnsToGetdiatur ke [colA], hanya nilai kolom colA yang dibaca dari semua baris.Anda dapat membaca maksimal 100 baris sekaligus menggunakan BatchGetRow.
Operasi API
/**
* Baca baris data yang ditentukan.
* Ketika Anda memanggil operasi BatchGetRow untuk membaca beberapa baris sekaligus, beberapa baris mungkin gagal dibaca. Jika ini terjadi, sistem tidak mengembalikan pengecualian tetapi mengembalikan informasi tentang baris yang gagal dalam $response. Untuk informasi lebih lanjut, lihat respons sampel untuk operasi BatchGetRow.
* @api
* @param [] $request Parameter permintaan.
* @return [] Respons.
* @throws OTSClientException Pengecualian yang dikembalikan jika terjadi kesalahan parameter atau server Tablestore mengembalikan kesalahan verifikasi.
* @throws OTSServerException Pengecualian yang dikembalikan jika server Tablestore mengembalikan kesalahan.
*/
public function batchGetRow(array $request);
Parameter Permintaan
Dibandingkan dengan GetRow, BatchGetRow memiliki perubahan berikut:
Hierarki dibuat untuk tabel, memungkinkan pembacaan data dari beberapa tabel sekaligus.
Gunakan parameter tables untuk menentukan informasi tabel dan baris yang ingin dibaca.
Parameter primary_key diubah menjadi primary_keys, memungkinkan pembacaan data dari beberapa baris sekaligus.
Sintaksis Permintaan
$result = $client->batchGetRow([
'tables' => [ // Tentukan hierarki tabel.
[
'table_name' => '<string>', // Tentukan nama tabel.
'primary_keys' => [ // Tentukan informasi kunci primer.
[
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
// Tentukan parameter lainnya.
]
'max_versions' => <integer>,
'time_range' => [
'start_time' => <integer>,
'end_time' => <integer>,
'specific_time' => <integer>
],
'start_column' => '<string>',
'end_column' => '<string>',
'token' => '<string>',
'columns_to_get' => [
'<string>',
'<string>',
//...
],
'column_filter' => <ColumnCondition>
],
// Tentukan tabel lainnya.
]
]); Parameter Respons
Setiap tabel dalam respons sesuai dengan tabel dalam permintaan. Tabel berikut menjelaskan parameter dalam respons.
Parameter | Deskripsi |
table_name | Nama tabel. |
is_ok | Menunjukkan apakah operasi pada baris berhasil.
|
error | Informasi kesalahan dalam respons jika operasi pada baris gagal. Parameter:
|
consumed | Jumlah CU yang dikonsumsi oleh operasi. capacity_unit: jumlah CU baca/tulis yang dikonsumsi. Parameter:
|
primary_key | Nilai kunci primer, yang sama dengan yang ditentukan dalam permintaan. Catatan Jika baris tidak ada, daftar kosong [] dikembalikan untuk parameter primary_key. |
attribute_columns | Kolom atribut. Catatan Jika baris tidak ada, daftar kosong [] dikembalikan untuk parameter attribute_columns.
|
next_token | Posisi tempat operasi pembacaan kolom lebar berikutnya dimulai. Parameter ini tidak tersedia. |
Format Respons
[
'tables' => [
[
'table_name' => '<string>',
'rows' => [
[
'is_ok' => true || false,
'error' => [
'code' => '<string>',
'message' => '<string>',
]
'consumed' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'primary_key' => [
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'attribute_columns' => [
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
],
'next_token' => '<string>'
],
// Baris lainnya.
]
],
// Tabel lainnya.
]
] Kode Contoh
Contoh berikut menunjukkan cara membaca 30 baris data dari tiga tabel sekaligus (10 baris per tabel):
// Baca data dari tiga tabel. Sepuluh baris dibaca dari setiap tabel.
$tables = array();
for($i = 0; $i < 3; $i++) {
$primary_keys = array();
for($j = 0; $j < 10; $j++) {
$primary_keys[] = [
['pk0', $i],
['pk1', $j]
];
}
$tables[] = [
'table_name' => 'SampleTable' . $i,
'max_versions' => 1,
'primary_keys' => $primary_keys
];
}
$request = [
'tables' => $tables
];
$response = $otsClient->batchGetRow ($request);
// Proses data yang dikembalikan dari setiap tabel.
foreach ($response['tables'] as $tableData) {
print "Memproses tabel {$tableData['table_name']} ...\n";
// Proses setiap baris data dalam tabel.
foreach ($tableData['rows'] as $rowData) {
if ($rowData['is_ok']) {
// Proses data yang dibaca.
$row = json_encode($rowData['primary_key']);
print "Memproses baris: {$row}\n";
} else {
// Tangani kesalahan.
print "Kesalahan: {$rowData['error']['code']} {$rowData['error']['message']}\n";
}
}
} Tabel berikut menjelaskan contoh kode rinci:
Contoh | Deskripsi |
Menunjukkan cara memanggil operasi BatchGetRow untuk membaca beberapa baris dari sebuah tabel. | |
Menunjukkan cara memanggil operasi BatchGetRow untuk membaca beberapa baris dari beberapa tabel. | |
Menunjukkan cara memanggil operasi BatchGetRow untuk membaca kolom tertentu dari beberapa baris dari sebuah tabel. | |
Menunjukkan cara memanggil operasi BatchGetRow untuk memproses hasil yang dikembalikan. | |
Menunjukkan cara memanggil operasi BatchGetRow bersama dengan filter. |
Membaca data yang nilai kunci primernya berada dalam rentang tertentu
Gunakan operasi GetRange untuk membaca data dengan nilai kunci primer dalam rentang tertentu.
Operasi GetRange memungkinkan pembacaan data ke arah maju atau mundur dengan batasan jumlah baris. Jika rentang besar, pemindaian berhenti ketika batas tercapai, dan baris yang dibaca serta informasi kunci primer baris berikutnya dikembalikan. Anda dapat melanjutkan dari posisi terakhir menggunakan informasi tersebut.
Di Tablestore, semua baris diurutkan berdasarkan kunci primer. Kunci primer terdiri dari semua kolom kunci primer secara berurutan.
Catatan Penggunaan
Operasi GetRange mengikuti prinsip pencocokan paling kiri. Tablestore membandingkan nilai kolom kunci primer secara berurutan untuk membaca data dalam rentang tertentu. Misalnya, jika kunci primer terdiri dari PK1, PK2, dan PK3, Tablestore pertama-tama memeriksa apakah nilai PK1 berada dalam rentang yang ditentukan. Jika ya, baris tersebut dikembalikan tanpa memeriksa kolom lainnya.
Jumlah data yang dipindai mencapai 4 MB.
Jumlah baris yang dipindai mencapai 5.000.
Jumlah baris yang dikembalikan mencapai batas atas.
Throughput baca tidak cukup untuk membaca baris data berikutnya karena semua throughput baca yang dicadangkan telah habis.
Operasi API
/**
* Baca data yang nilai kunci primernya berada dalam rentang yang ditentukan oleh informasi kunci primer awal dan informasi kunci primer akhir.
* Server mungkin memotong rentang ini. Jika ini terjadi, Anda harus menentukan apakah akan memanggil operasi GetRange lagi berdasarkan nilai parameter next_start_primary_key yang dikembalikan dalam respons.
* Anda dapat menentukan jumlah maksimum baris yang ingin dibaca.
* Saat Anda menentukan informasi kunci primer awal dan informasi kunci primer akhir, Anda dapat menggunakan INF_MIN untuk menentukan nilai minimum dan menggunakan INF_MAX untuk menentukan nilai maksimum. Untuk informasi lebih lanjut, lihat kode contoh berikut.
* @api
* @param [] $request Parameter permintaan.
* @return [] Respons.
* @throws OTSClientException Pengecualian yang dikembalikan jika terjadi kesalahan parameter atau server Tablestore mengembalikan kesalahan verifikasi.
* @throws OTSServerException Pengecualian yang dikembalikan jika server Tablestore mengembalikan kesalahan.
*/
public function getRange(array $request); Parameter
Dibandingkan dengan GetRow, GetRange memiliki perubahan berikut:
Parameter primary_key diubah menjadi inclusive_start_primary_key dan exclusive_end_primary_key, mendefinisikan rentang tertutup kiri dan terbuka kanan.
Parameter direction ditambahkan untuk menentukan arah pembacaan.
Parameter limit ditambahkan untuk membatasi jumlah baris yang dikembalikan.
Parameter | Deskripsi |
table_name | Nama tabel. |
inclusive_start_primary_key | Informasi kunci primer awal dan informasi kunci primer akhir dari rentang yang ingin Anda baca. Kolom kunci primer awal dan kolom kunci primer akhir harus berupa kolom kunci primer yang valid atau kolom virtual yang datanya bertipe INF_MIN dan INF_MAX. Jumlah kolom dalam rentang yang ditentukan oleh kolom virtual harus sama dengan jumlah kolom kunci primer dari tabel yang ditentukan. INF_MIN menunjukkan nilai yang sangat kecil. Semua nilai tipe lainnya lebih besar dari nilai tipe INF_MIN. INF_MAX menunjukkan nilai yang sangat besar. Semua nilai tipe lainnya lebih kecil dari nilai tipe INF_MAX.
Baris dalam tabel diurutkan secara menaik berdasarkan nilai kunci primer. Rentang yang digunakan untuk membaca data adalah interval tertutup kiri, terbuka kanan. Jika data dibaca ke arah maju, baris yang nilai kunci primernya lebih besar dari atau sama dengan nilai kunci primer awal tetapi lebih kecil dari nilai kunci primer akhir dikembalikan. |
exclusive_end_primary_key | |
direction | Urutan Anda ingin menyortir baris dalam respons.
Misalnya, sebuah tabel memiliki dua nilai kunci primer A dan B, dan Nilai A lebih kecil dari Nilai B. Jika Anda mengatur parameter direction ke DirectionConst::CONST_FORWARD dan menentukan rentang |
limit | Jumlah maksimum baris yang dapat dikembalikan. Nilai parameter ini harus lebih besar dari 0. Tablestore menghentikan operasi setelah jumlah maksimum baris yang dapat dikembalikan ke arah maju atau mundur tercapai, meskipun beberapa baris dalam rentang yang ditentukan belum dikembalikan. Anda dapat menggunakan nilai parameter next_start_primary_key yang dikembalikan dalam respons untuk membaca data dalam permintaan berikutnya. |
max_versions | Jumlah maksimum versi data yang dapat dibaca. Penting Anda harus menentukan setidaknya salah satu parameter max_versions dan time_range.
|
time_range | Rentang waktu versi atau versi spesifik yang ingin Anda baca. Untuk informasi lebih lanjut, lihat TimeRange. Penting Anda harus menentukan setidaknya salah satu parameter max_versions dan time_range.
Hanya salah satu dari specific_time dan Nilai valid parameter time_range: 0 hingga |
columns_to_get | Kolom yang ingin Anda baca. Anda dapat menentukan nama kolom kunci primer atau kolom atribut.
Catatan
|
start_column | Kolom tempat operasi pembacaan kolom lebar dimulai. Respons mencakup kolom awal. Kolom diurutkan berdasarkan nama mereka secara alfabetis. Misalnya, sebuah tabel berisi tiga kolom: a, b, dan c. Jika nilai parameter start_column adalah b, operasi pembacaan dimulai dari Kolom b, dan Kolom b dan c dikembalikan. |
end_column | Kolom tempat operasi pembacaan kolom lebar berakhir. Respons mengecualikan kolom akhir. Kolom diurutkan berdasarkan nama mereka secara alfabetis. Misalnya, sebuah tabel berisi tiga kolom: a, b, dan c. Jika nilai parameter end_column adalah b, operasi pembacaan berakhir pada Kolom b, dan Kolom a dikembalikan. |
token | Posisi tempat operasi pembacaan kolom lebar berikutnya dimulai. Parameter ini tidak tersedia. |
column_filter | Filter yang ingin Anda gunakan untuk menyaring hasil kueri di sisi server. Hanya baris yang memenuhi kondisi filter yang dikembalikan. Untuk informasi lebih lanjut, lihat Konfigurasikan filter. Catatan Jika Anda menentukan parameter columns_to_get dan column_filter, Tablestore menanyakan kolom yang ditentukan oleh parameter columns_to_get, dan kemudian mengembalikan baris yang memenuhi kondisi filter. |
Sintaksis Permintaan
$result = $client->getRange([
'table_name' => '<string>', // Tentukan nama tabel.
'inclusive_start_primary_key' => [ // Tentukan informasi kunci primer awal.
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'exclusive_end_primary_key' => [ // Tentukan informasi kunci primer akhir.
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'direction' => <Direction>, // Tentukan urutan Anda ingin menyortir baris dalam respons.
'limit' => <Direction>,
'max_versions' => <integer>,
'time_range' => [
'start_time' => <integer>,
'end_time' => <integer>,
'specific_time' => <integer>
],
'start_column' => '<string>',
'end_column' => '<string>',
'token' => '<string>',
'columns_to_get' => [
'<string>',
'<string>',
//...
],
'column_filter' => <ColumnCondition>
]); Parameter Respons
Parameter | Deskripsi |
consumed | Jumlah CU yang dikonsumsi oleh operasi. capacity_unit: jumlah CU baca/tulis yang dikonsumsi. Parameter:
|
primary_key | Nilai kunci primer, yang sama dengan yang ditentukan dalam permintaan. |
attribute_columns | Kolom atribut.
|
next_start_primary_key | Informasi kunci primer awal untuk permintaan baca berikutnya. Nilai parameter next_start_primary_key dapat digunakan untuk menentukan apakah semua data telah dibaca.
|
Format Respons
[
'consumed' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'next_start_primary_key' => [
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'rows' => [
[
'primary_key' => [
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'attribute_columns' => [
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
['<string>', <ColumnValue>, <ColumnType>, <integer>]
]
],
// Baris lainnya.
]
]
Kode Contoh
Contoh berikut menunjukkan cara membaca data dalam rentang tertentu:
// Kueri baris yang nilainya pada kolom PK0 berada dalam rentang [1, 4).
// Anda harus menyediakan kolom kunci primer lengkap untuk menentukan rentang. Jika rentang kueri tidak melibatkan nilai kolom, atur nilai kolom ke nilai sangat besar (INF_MAX) atau nilai sangat kecil (INF_MIN).
$startPK = [
['PK0', 1],
['PK1', null, PrimaryKeyTypeConst::CONST_INF_MIN] // INF_MIN menunjukkan nilai yang sangat kecil.
];
// Anda harus menyediakan kolom kunci primer lengkap untuk menentukan rentang. Jika rentang kueri tidak melibatkan nilai kolom, atur nilai kolom ke nilai sangat besar (INF_MAX) atau nilai sangat kecil (INF_MIN).
$endPK = [
['PK0', 4],
['PK1', null, PrimaryKeyTypeConst::CONST_INF_MAX] // INF_MAX menunjukkan nilai yang sangat besar.
];
$request = [
'table_name' => 'SampleTable',
'max_versions' => 1, // Atur parameter ini ke 1 untuk membaca versi terbaru.
'direction' => DirectionConst::CONST_FORWARD, // Kueri data ke arah maju.
'inclusive_start_primary_key' => $startPK, // Tentukan informasi kunci primer awal.
'exclusive_end_primary_key' => $endPK, // Tentukan informasi kunci primer akhir.
'limit' => 10 // Atur parameter ini ke 10 untuk menentukan bahwa maksimal 10 baris data dapat dikembalikan.
];
$response = $otsClient->getRange ($request);
print "CU Baca Terpakai: {$response['consumed']['capacity_unit']['read']}\n";
foreach ($response['rows'] as $rowData) {
// Proses setiap baris data.
} Tabel berikut menjelaskan contoh kode rinci:
Contoh | Deskripsi |
Menunjukkan cara memanggil operasi GetRange. | |
Menunjukkan cara memanggil operasi GetRange untuk mendapatkan kolom tertentu. | |
Menunjukkan cara memanggil operasi GetRange untuk mendapatkan jumlah baris tertentu. | |
Menunjukkan cara Anda memanggil operasi GetRange bersama dengan filter. |