全部产品
Search
文档中心

Tablestore:Operasi Data

更新时间:Jul 02, 2025

Gunakan CLI Tablestore untuk menyisipkan, membaca, memperbarui, menghapus, memindai, mengekspor, dan mengimpor data.

Menyisipkan Data

Anda dapat menyisipkan satu baris data ke dalam tabel atau menggunakan file konfigurasi JSON untuk menyisipkan data tersebut.

Sintaks Perintah

put --pk '[primaryKeyValue, primaryKeyValue]' --attr '[{"c":"attributeColumnName", "v":"attributeColumnValue"}, {"c":"attributeColumnName", "v":"attributeColumnValue", "ts":timestamp}]' --condition condition

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-k,--pk

Ya

["86", 6771]

Nilai kolom kunci utama dari baris tersebut. Nilai parameter ini adalah array.

Penting
  • Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama di tabel data.

  • Jika kolom kunci utama adalah kolom kunci utama auto-increment, Anda hanya perlu menetapkan nilai kolom kunci utama auto-increment ke placeholder null.

-a,--attr

Ya

[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "t":"string", "ts":15327798534}]

Kolom atribut dari baris tersebut. Nilai parameter ini adalah array JSON. Setiap kolom atribut ditentukan menggunakan bidang berikut:

  • c: diperlukan. Nama kolom atribut.

  • v: diperlukan. Nilai kolom atribut.

  • t: opsional. Tipe kolom atribut. Nilai valid: integer, string, binary, boolean, dan double. Jika Anda menetapkan bidang ini ke string, nilai kolom atribut adalah string yang dikodekan dalam UTF-8. Bidang ini diperlukan untuk kolom atribut bertipe binary.

  • ts: opsional. Timestamp yang digunakan sebagai nomor versi data. Timestamp dapat dibuat secara otomatis atau dikonfigurasi. Jika Anda tidak mengonfigurasi bidang ini, Tablestore akan secara otomatis menghasilkan timestamp. Untuk informasi lebih lanjut, lihat Versi Data dan TTL.

--condition

Tidak

ignore

Kondisi keberadaan baris pembaruan bersyarat yang digunakan untuk menentukan apakah akan memperbarui baris data. Nilai default: ignore. Nilai valid:

  • ignore: Data disisipkan tanpa memedulikan apakah baris ada. Jika baris ada, data yang ada akan ditimpa oleh data yang disisipkan.

  • exist: Data disisipkan hanya jika baris ada. Data yang ada akan ditimpa oleh data yang disisipkan.

  • not_exist: Data disisipkan hanya jika baris tidak ada.

Untuk informasi lebih lanjut, lihat Pembaruan Bersyarat.

-i, --input

Tidak

/temp/inputdata.json

Path file konfigurasi JSON yang digunakan untuk menyisipkan data.

Sintaks perintah untuk menyisipkan data dengan file konfigurasi bervariasi berdasarkan sistem operasi.

  • Windows

    put -i D:\\localpath\\filename.json
  • Linux dan macOS

    put -i /localpath/filename.json

Contoh berikut menunjukkan isi file konfigurasi:

{
    "PK":{
        "Values":[
            "86",
            6771
        ]
    },
    "Attr":{
        "Values":[
            {
                "C":"age",
                "V":32,
                "TS":1626860801604,
                "IsInt":true
            }
        ]
    }
}

Contoh

  • Contoh 1

    Kode berikut menunjukkan cara menyisipkan satu baris data dengan nilai kolom kunci utama pertama "86" dan nilai kolom kunci utama kedua 6771. Baris tersebut memiliki dua kolom atribut (nama dan negara) bertipe STRING.

    put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'
  • Contoh 2

    Kode berikut menunjukkan cara menyisipkan satu baris data tanpa memeriksa keberadaan baris. Jika baris sudah ada, data baru akan menimpa data yang ada.

    put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'  --condition ignore
  • Contoh 3

    Kode berikut menunjukkan cara menyisipkan satu baris data dengan timestamp tertentu di kolom negara (15327798534).

    put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "t":"string", "ts":15327798534}]'
  • Contoh 4

    Kode berikut menunjukkan cara menyisipkan satu baris data dengan kolom kunci utama auto-increment. Nilai kolom kunci utama pertama adalah "86", sedangkan kolom kunci utama kedua bernilai null.

    put --pk '["86", null]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'

Membaca Data

Anda dapat membaca data dari tabel dan mengekspornya ke file JSON lokal.

Catatan

Jika baris yang ingin dibaca tidak ditemukan, hasil kosong akan dikembalikan.

Sintaks Perintah

get --pk '[primaryKeyValue,primaryKeyValue]'

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-k,--pk

Ya

["86",6771]

Nilai kolom kunci utama dari baris tersebut. Nilai parameter ini adalah array.

Penting

Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama di tabel data.

-c,--columns

Tidak

name,uid

Kolom yang ingin Anda baca. Anda dapat menentukan nama kolom kunci utama atau kolom atribut. Jika Anda tidak menentukan kolom, semua data dalam baris akan dikembalikan.

--max_version

Tidak

1

Jumlah maksimum versi data yang dapat dibaca.

--time_range_start

Tidak

1626860469000

Rentang versi data yang ingin Anda baca. Parameter time_range_start menentukan timestamp awal dan parameter time_range_end menentukan timestamp akhir. Rentang mencakup nilai awal dan mengecualikan nilai akhir.

--time_range_end

Tidak

1626865270000

--time_range_specific

Tidak

1626862870000

Versi spesifik data yang ingin Anda baca.

-o, --output

Tidak

/tmp/querydata.json

Path lokal file JSON tempat hasil query diekspor.

Contoh

Kode berikut menunjukkan cara membaca satu baris data dengan nilai kolom kunci utama pertama "86" dan nilai kolom kunci utama kedua 6771.

get --pk '["86",6771]'

Memperbarui Data

Anda dapat memperbarui satu baris data dalam tabel atau menggunakan file konfigurasi JSON untuk memperbaruinya.

Sintaks Perintah

update --pk '[primaryKeyValue, primaryKeyValue]' --attr '[{"c":"attributeColumnName", "v":"attributeColumnValue"}, {"c":"attributeColumnName", "v":"attributeColumnValue", "ts":timestamp}]' --condition condition

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-k,--pk

Ya

["86", 6771]

Nilai kolom kunci utama dari baris tersebut. Nilai parameter ini adalah array.

Penting

Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama di tabel data.

--attr

Ya

[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china", "ts":15327798534}]

Kolom atribut dari baris tersebut. Nilai parameter ini adalah array JSON. Setiap kolom atribut ditentukan menggunakan bidang berikut:

  • c: diperlukan. Nama kolom atribut.

  • v: diperlukan. Nilai kolom atribut.

  • t: opsional. Tipe kolom atribut. Nilai valid: integer, string, binary, boolean, dan double. Jika Anda menetapkan bidang ini ke string, nilai kolom atribut adalah string yang dikodekan dalam UTF-8. Bidang ini diperlukan untuk kolom atribut bertipe binary.

  • ts: opsional. Timestamp yang digunakan sebagai nomor versi data. Timestamp dapat dibuat secara otomatis atau dikonfigurasi. Jika Anda tidak mengonfigurasi bidang ini, Tablestore akan secara otomatis menghasilkan timestamp.

--condition

Tidak

ignore

Kondisi keberadaan baris pembaruan bersyarat yang digunakan untuk menentukan apakah akan memperbarui baris data. Nilai default: ignore. Nilai valid:

  • ignore: Data disisipkan tanpa memedulikan apakah baris ada. Jika baris ada, data yang ada akan ditimpa oleh data yang disisipkan.

  • exist: Data disisipkan hanya jika baris ada. Data yang ada akan ditimpa oleh data yang disisipkan.

  • not_exist: Data disisipkan hanya jika baris tidak ada.

Untuk informasi lebih lanjut, lihat Pembaruan Bersyarat.

-i, --input

Tidak

/tmp/inputdata.json

Path file konfigurasi JSON yang digunakan untuk memperbarui data.

Sintaks perintah untuk memperbarui data dengan file konfigurasi bervariasi berdasarkan sistem operasi.

  • Windows

    update -i D:\\localpath\\filename.json
  • Linux dan macOS

    update -i /localpath/filename.json

Contoh berikut menunjukkan isi file konfigurasi:

{
    "PK":{
        "Values":[
            "86",
            6771
        ]
    },
    "Attr":{
        "Values":[
            {
                "C":"age",
                "V":32,
                "TS":1626860801604,
                "IsInt":true
            }
        ]
    }
}

Contoh

Kode berikut menunjukkan cara memperbarui satu baris data dengan nilai kolom kunci utama pertama "86" dan nilai kolom kunci utama kedua 6771. Jika baris sudah ada, data baru akan menimpa data yang ada.

update --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'  --condition ignore

Menghapus Data

Anda dapat menghapus satu baris data berdasarkan kunci utamanya.

Sintaks Perintah

delete --pk '[primaryKeyValue,primaryKeyValue]'

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-k,--pk

Ya

["86", 6771]

Nilai kolom kunci utama dari baris tersebut. Nilai parameter ini adalah array.

Penting

Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama di tabel data.

Contoh

Kode berikut menunjukkan cara menghapus satu baris data dengan nilai kolom kunci utama pertama "86" dan nilai kolom kunci utama kedua 6771.

delete --pk '["86", 6771]'

Memindai Data

Anda dapat memindai tabel untuk mendapatkan semua data atau sejumlah baris tertentu.

Sintaks Perintah

scan --limit limit

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

--limit

Tidak

10

Jumlah maksimum baris yang ingin Anda pindai. Jika Anda tidak mengonfigurasi parameter ini, semua data dalam tabel data akan dipindai.

Contoh

Kode berikut menunjukkan cara memindai hingga 10 baris data dalam tabel.

scan --limit 10

Mengekspor Data

Anda dapat mengekspor data dari tabel ke file JSON lokal.

Sintaks Perintah

scan -o /localpath/filename.json -c attributeColumnName,attributeColumnName,attributeColumnName

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-c, --columns

Ya

uid,name

Himpunan kolom yang ingin Anda ekspor. Anda dapat menentukan nama kolom kunci utama atau kolom atribut. Jika Anda tidak menentukan nama kolom, semua data dalam baris akan diekspor.

--max_version

Tidak

1

Jumlah maksimum versi data yang dapat diekspor.

--time_range_start

Tidak

1626865596000

Rentang versi data yang ingin Anda ekspor. Parameter time_range_start menentukan timestamp awal dan parameter time_range_end menentukan timestamp akhir. Rentang mencakup nilai awal dan mengecualikan nilai akhir.

--time_range_end

Tidak

1626869196000

--time_range_specific

Tidak

1626867396000

Versi spesifik data yang ingin Anda ekspor.

--backward

Tidak

N/A

Menentukan bahwa sistem mengurutkan data yang diekspor dalam urutan menurun berdasarkan kunci utama.

-o, --output

Ya

/tmp/mydata.json

Path lokal file JSON tempat hasil query diekspor.

-l, --limit

Tidak

10

Jumlah maksimum baris yang ingin Anda kembalikan dari query.

-b, --begin

Tidak

'["86", 6771]'

Rentang nilai data yang ingin Anda ekspor. Rentang kunci utama adalah interval tertutup di sebelah kiri dan terbuka di sebelah kanan.

Catatan
  • Jika nilai parameter --begin adalah [null,null], nilai awal rentang data yang ingin Anda ekspor adalah [INF_MIN,INF_MIN]. Ini menentukan bahwa nilai awal di kolom kunci utama pertama dan kedua adalah tak terbatas kecil.

  • Jika nilai parameter --end adalah [null,null], nilai akhir rentang data yang ingin Anda ekspor adalah [INF_MAX,INF_MAX]. Ini menentukan bahwa nilai akhir di kolom kunci utama pertama dan kedua adalah tak terbatas besar.

-e, --end

Tidak

'["86", 6775]'

Contoh

  • Contoh 1

    Kode berikut menunjukkan cara mengekspor semua data dari tabel saat ini ke file mydata.json.

    scan -o /tmp/mydata.json
  • Contoh 2

    Kode berikut menunjukkan cara mengekspor data di kolom uid dan name dari tabel saat ini ke file mydata.json.

    scan -o /tmp/mydata.json -c uid,name
  • Contoh 3

    Kode berikut menunjukkan cara mengekspor data dengan nilai kunci utama dalam rentang tertentu. Rentang dimulai dari nilai kolom kunci utama pertama "86" dan kedua 6771, serta berakhir pada nilai kolom kunci utama pertama "86" dan kedua 6775.

    scan -o D:\\0testreport\\mydata.json -b '["86", 6771]' -e '["86", 6775]'
  • Contoh 4

    Kode berikut menunjukkan cara mengekspor data dengan nilai kunci utama dalam rentang tertentu. Rentang dimulai dari nilai kolom kunci utama pertama "50" dan berakhir pada nilai kolom kunci utama pertama "100". Rentang nilai kolom kunci utama kedua tidak ditentukan.

    scan -o /tmp/mydata.json -b '["50",null]' -e '["100",null]'

Mengimpor Data

Anda dapat mengimpor data dari file JSON lokal ke tabel.

Penting

Jika path file JSON lokal berisi karakter Cina, kesalahan akan terjadi saat mengimpor data.

Sintaks Perintah

import -i /localpath/filename.json --ignore_version

Tabel berikut menjelaskan parameter dalam perintah ini.

Parameter

Diperlukan

Contoh

Deskripsi

-a, --action

Tidak

put

Mode di mana data diimpor. Nilai default: put. Nilai valid:

  • put: Jika baris ada, semua versi data di semua kolom baris yang ada akan dihapus dan baris data baru akan ditulis ke tabel data.

  • update: Jika baris ada, kolom atribut dapat ditambahkan ke atau dihapus dari baris, versi data tertentu dalam kolom atribut dapat dihapus, atau data yang ada dalam kolom atribut dapat diperbarui. Jika baris tidak ada, baris data baru akan ditambahkan.

-i, --input

Ya

/tmp/inputdata.json

Path file JSON lokal dari mana data diimpor ke tabel data saat ini.

Penting
  • Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama di tabel.

  • Jika kolom kunci utama adalah kolom kunci utama auto-increment, Anda hanya perlu menetapkan nilai kolom kunci utama auto-increment ke placeholder null.

--ignore_version

Tidak

N/A

Mengabaikan pemeriksaan timestamp dan menggunakan waktu saat ini sebagai timestamp.

Contoh berikut menunjukkan isi file konfigurasi lokal:

{"PK":{"Values":["redchen",0]},"Attr":{"Values":[{"C":"country","V":"china0"},{"C":"name","V":"redchen0"}]}}
{"PK":{"Values":["redchen",1]},"Attr":{"Values":[{"C":"country","V":"china1"},{"C":"name","V":"redchen1"}]}}                              

Contoh

  • Contoh 1

    Kode berikut menunjukkan cara mengimpor data dari file mydata.json ke tabel saat ini.

    import -i /tmp/mydata.json
  • Contoh 2

    Kode berikut menunjukkan cara mengimpor data dari file mydata.json ke tabel saat ini dengan waktu saat ini digunakan sebagai timestamp.

    import -i /tmp/mydata.json --ignore_version