Buat dan kelola secondary indexes menggunakan Tablestore CLI.
Prasyarat
Tablestore CLI telah diinstal dan dikonfigurasi dengan kredensial akses. Untuk informasi selengkapnya, lihat Tablestore CLI.
Tabel data harus memiliki kolom pradefinisi dan jumlah versi maksimum (max versions) bernilai 1. Untuk informasi selengkapnya, lihat Data table operations.
Buat secondary index
Buat secondary index global atau lokal untuk tabel data.
create_index -t <tableName> -n <indexName> -i <indexType> --pk <primaryKeyName> --attr <definedColumn>
|
Parameter |
Wajib |
Deskripsi |
|
-t, --table |
Tidak |
Nama tabel data. Tidak diperlukan jika tabel data sudah dipilih dengan |
|
-n, --name |
Ya |
Nama secondary index. |
|
-i, --index_type |
Tidak |
Jenis secondary index. Nilai yang valid:
|
|
-k, --pk |
Ya |
Kolom yang diindeks pada tabel indeks, terdiri dari kolom kunci primer dan kolom pradefinisi dari tabel data. Pisahkan beberapa kolom dengan koma. Untuk local secondary index, kolom kunci primer pertama pada tabel indeks harus sama dengan kolom kunci primer pertama pada tabel data. |
|
-a, --attr |
Ya |
Kolom atribut pada tabel indeks, yaitu kolom pradefinisi dari tabel data. Pisahkan beberapa kolom dengan koma. |
|
-b, --without_base_data |
Tidak |
Mengecualikan data yang sudah ada dari tabel data saat secondary index dibuat. Secara default, data yang sudah ada disertakan. |
Contoh
-
Buat global secondary index bernama index0 untuk tabel data mytable, termasuk data yang sudah ada.
create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0 -
Buat global secondary index bernama index1 untuk tabel data mytable, tanpa menyertakan data yang sudah ada.
create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -b -
Buat local secondary index bernama index2 untuk tabel data mytable.
create_index -t mytable -n index2 -i local --pk uid,name -a col0,col1
Gunakan tabel indeks
Pilih tabel indeks untuk operasi kueri dan ekspor berikutnya.
use --wc -t <indexName>
|
Parameter |
Wajib |
Deskripsi |
|
--wc |
Tidak |
Menunjukkan bahwa tabel yang ditentukan adalah tabel data atau tabel indeks, bukan search index. |
|
-t, --table |
Ya |
Nama tabel indeks. |
Contoh
Gunakan tabel indeks index0.
use -t index0
Lihat informasi indeks
Jalankan perintah desc untuk melihat informasi tentang tabel data dan secondary indexes-nya.
desc -t <tableName>
|
Parameter |
Wajib |
Deskripsi |
|
-t, --table |
Tidak |
Nama tabel data atau tabel indeks. Tidak diperlukan jika tabel sudah dipilih dengan |
|
-f, --print_format |
Tidak |
Format output. Nilai yang valid: json (default) dan table. |
|
-o, --output |
Tidak |
Menyimpan informasi tabel ke file JSON lokal. |
Contoh
-
Lihat informasi tentang tabel saat ini.
desc -
Simpan informasi tabel ke file lokal.
desc -o /tmp/describe_table_meta.json
Baca data
Baca satu baris data dari tabel indeks berdasarkan kunci primer.
Jika baris yang ditentukan tidak ada, hasil kosong akan dikembalikan.
get --pk '<pk_values>'
|
Parameter |
Wajib |
Deskripsi |
|
-k, --pk |
Ya |
Nilai kunci primer dari tabel indeks, dinyatakan sebagai array JSON. Jumlah dan tipe kolom kunci primer harus sesuai dengan tabel indeks. |
|
-c, --columns |
Tidak |
Kolom yang akan dibaca. Tentukan kolom kunci primer atau kolom atribut. Pisahkan beberapa kolom dengan koma. Jika tidak ditentukan, seluruh baris dikembalikan. |
|
--max_version |
Tidak |
Jumlah maksimum versi yang akan dibaca. |
|
--time_range_start |
Tidak |
Membaca data dalam rentang nomor versi. |
|
--time_range_end |
Tidak |
|
|
--time_range_specific |
Tidak |
Membaca data dari nomor versi tertentu. |
|
-o, --output |
Tidak |
Menyimpan hasil kueri ke file JSON lokal. |
Contoh
Baca satu baris dari tabel indeks dengan nilai kunci primer "86" dan 6771.
get --pk '["86", 6771]'
Pindai data
Pindai tabel indeks untuk mengambil semua data atau sejumlah baris tertentu.
scan --limit <n>
|
Parameter |
Wajib |
Deskripsi |
|
--limit |
Tidak |
Jumlah maksimum baris yang dikembalikan. Jika tidak ditentukan, semua baris dalam tabel dipindai. |
Contoh
Pindai hingga 10 baris dari tabel indeks.
scan --limit 10
Ekspor data
Ekspor data dari tabel indeks ke file JSON lokal.
scan -o /localpath/filename.json
|
Parameter |
Wajib |
Deskripsi |
|
-c, --columns |
Tidak |
Kolom yang akan diekspor. Tentukan kolom kunci primer atau kolom atribut. Pisahkan beberapa kolom dengan koma. Jika tidak ditentukan, seluruh baris diekspor. |
|
--max_version |
Tidak |
Jumlah maksimum versi yang akan diekspor. |
|
--time_range_start |
Tidak |
Mengekspor data dalam rentang nomor versi. |
|
--time_range_end |
Tidak |
|
|
--time_range_specific |
Tidak |
Mengekspor data dari nomor versi tertentu. |
|
--backward |
Tidak |
Mengekspor data dalam urutan menurun berdasarkan kunci primer. |
|
-o, --output |
Ya |
Jalur file lokal tempat data diekspor. |
|
-l, --limit |
Tidak |
Jumlah maksimum baris yang diekspor. |
|
-b, --begin |
Tidak |
Titik awal dan akhir rentang ekspor. Rentang kunci primer merupakan interval tertutup di kiri dan terbuka di kanan: [start, end). Catatan
|
|
-e, --end |
Tidak |
Contoh
-
Ekspor semua data dari tabel indeks ke file lokal.
scan -o /tmp/mydata.json -
Ekspor hanya kolom uid dan name.
scan -o /tmp/mydata.json -c uid,name -
Ekspor data dalam rentang kunci primer tertentu.
scan -o /tmp/mydata.json -b '["86", 6771]' -e '["86", 6775]'
Hapus secondary index
Hapus tabel indeks yang tidak lagi diperlukan.
drop_index -t <tableName> -i <indexName> -y
|
Parameter |
Wajib |
Deskripsi |
|
-t, --table |
Tidak |
Nama tabel data. Tidak diperlukan jika tabel data sudah dipilih dengan |
|
-i, --index |
Ya |
Nama secondary index. |
|
-y, --yes |
Ya |
Mengonfirmasi penghapusan tanpa meminta konfirmasi tambahan. |
Contoh
-
Hapus tabel indeks index0 dari tabel data saat ini.
drop_index -i index0 -y -
Hapus tabel indeks index0 dari tabel data mytable.
drop_index -t mytable -i index0 -y