全部产品
Search
文档中心

Tablestore:PutRow

更新时间:Jul 02, 2025

Menulis data ke baris.

Catatan
  • Jika baris yang ditentukan tidak ada, baris baru akan ditambahkan. Jika baris tersebut sudah ada, baris tersebut akan ditimpa.

  • Jika respons terhadap permintaan tidak mengandung kesalahan, permintaan berhasil.

Sintaksis permintaan

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // Data dikodekan sebagai data biner dalam format PlainBuffer. 
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}           

Parameter

Tipe

Diperlukan

Deskripsi

table_name

string

Ya

Nama tabel tempat Anda ingin menulis data.

row

bytes

Ya

Data yang ingin Anda tulis ke baris, termasuk kolom primary key dan kolom atribut. Data dikodekan dalam format PlainBuffer. Untuk informasi lebih lanjut tentang PlainBuffer, lihat PlainBuffer.

condition

Condition

Ya

Menentukan apakah akan memeriksa keberadaan baris sebelum data ditulis. Nilai default: IGNORE. Nilai valid:

  • IGNORE: Keberadaan baris tidak diperiksa.

  • EXPECT_EXIST: Baris diharapkan ada.

  • EXPECT_NOT_EXIST: Baris diharapkan tidak ada.

return_content

ReturnContent

Tidak

Tipe data yang dikembalikan setelah baris berhasil ditulis. Hanya primary key yang dapat dikembalikan. Dalam banyak kasus, parameter ini digunakan oleh fitur kolom primary key auto-increment.

transaction_id

string

Tidak

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

Sintaksis respons

message PutRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}         

Parameter

Tipe

Deskripsi

consumed

ConsumedCapacity

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

row

bytes

Data yang dikembalikan ketika return_content ditentukan. Jika return_content tidak ditentukan atau tidak ada nilai pengembalian, NULL dikembalikan.

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

Menggunakan SDK Tablestore

Anda dapat menulis satu baris data menggunakan SDK Tablestore berikut:

Konsumsi CU

  • Jika baris tempat Anda ingin menulis data tidak ada, jumlah CU yang dikonsumsi bervariasi berdasarkan nilai parameter condition.

    • Jika nilai parameter condition adalah IGNORE, jumlah CU penulisan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU penulisan yang dikonsumsi = (Ukuran data di semua kolom primary key baris + Ukuran data di kolom atribut tempat Anda ingin menulis data) / 4 KB.

    • Jika nilai parameter condition adalah EXPECT_NOT_EXIST, baik CU penulisan maupun CU pembacaan dikonsumsi. Jumlah CU penulisan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU penulisan yang dikonsumsi = (Ukuran data di semua kolom primary key baris + Ukuran data di kolom atribut tempat Anda ingin menulis data) / 4 KB. Jumlah CU pembacaan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU pembacaan yang dikonsumsi = Ukuran data di semua kolom primary key baris / 4 KB.

    • Jika nilai parameter condition adalah EXPECT_EXIST, data gagal ditulis ke baris. Satu CU penulisan dan satu CU pembacaan dikonsumsi.

  • Jika baris tempat Anda ingin menulis data ada, jumlah CU yang dikonsumsi bervariasi berdasarkan nilai parameter condition.

    • Jika nilai parameter condition adalah IGNORE, jumlah CU penulisan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU penulisan yang dikonsumsi = (Ukuran data di semua kolom primary key baris + Ukuran data di kolom atribut tempat Anda ingin menulis data) / 4 KB.

    • Jika nilai parameter condition adalah EXPECT_EXIST, baik CU penulisan maupun CU pembacaan dikonsumsi. Jumlah CU penulisan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU penulisan yang dikonsumsi = (Ukuran data di semua kolom primary key baris + Ukuran data di kolom atribut tempat Anda ingin menulis data) / 4 KB. Jumlah CU pembacaan yang dikonsumsi dibulatkan ke atas dari nilai yang dihitung menggunakan rumus berikut: Jumlah CU pembacaan yang dikonsumsi = Ukuran data di semua kolom primary key baris / 4 KB.

    • Jika nilai parameter condition adalah EXPECT_NOT_EXIST, data gagal ditulis ke baris. Satu CU penulisan dan satu CU pembacaan dikonsumsi.

    Untuk informasi lebih lanjut tentang cara menghitung ukuran data, lihat Ikhtisar Penagihan.

  • Ketika menggunakan pembaruan bersyarat, jumlah CU yang dikonsumsi dihitung menggunakan rumus sebelumnya jika operasi berhasil. Jika operasi gagal, satu CU penulisan dan satu CU pembacaan dikonsumsi.

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

  • Jika terjadi kesalahan internal dan kode status HTTP 5xx dikembalikan, operasi tidak mengonsumsi CU. Jika kesalahan lain terjadi, satu CU penulisan dikonsumsi.