All Products
Search
Document Center

Tablestore:PutRow

Last Updated:May 01, 2026

Panggil operasi PutRow untuk memasukkan satu baris ke dalam tabel.

Catatan
  • Jika baris tersebut tidak ada, PutRow akan membuatnya. Jika baris tersebut sudah ada, PutRow akan menimpanya.

  • Pemanggilan yang berhasil tidak mengembalikan error.

Struktur pesan permintaan

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // Plainbuffer-encoded binary data.
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}           

Name

Type

Required

Description

table_name

string

Yes

Nama tabel tempat data akan ditulis.

row

bytes

Yes

Data baris yang akan ditulis, mencakup kolom kunci primer dan kolom atribut. Diencode dalam format Plainbuffer. Untuk informasi selengkapnya, lihat Plainbuffer.

condition

Condition

Yes

Mengontrol apakah Tablestore memeriksa keberadaan baris sebelum menulis. Nilai yang valid:

  • IGNORE (default): Melewati pemeriksaan keberadaan.

  • EXPECT_EXIST: Mengharuskan baris sudah ada sebelum penulisan.

  • EXPECT_NOT_EXIST: Mengharuskan baris belum ada sebelum penulisan.

return_content

ReturnContent

No

Jenis data yang dikembalikan setelah penulisan berhasil. Hanya kunci primer yang dapat dikembalikan. Gunakan parameter ini bersama fitur kolom kunci utama auto-increment.

transaction_id

string

No

ID transaksi lokal. Diperlukan saat menulis data dalam transaksi lokal.

Struktur pesan respons

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

Name

Type

Description

consumed

ConsumedCapacity

Unit kapasitas yang dikonsumsi oleh operasi ini. Untuk detailnya, lihat Konsumsi unit kapasitas.

row

bytes

Data baris yang dikembalikan. Hanya tersedia ketika return_content diatur. Jika return_content tidak diatur atau tidak ada data yang dikembalikan, bidang ini bernilai NULL.

Data yang dikembalikan diencode dalam format PlainBuffer. Untuk informasi selengkapnya tentang PlainBuffer, lihat PlainBuffer.

Gunakan SDK

SDK berikut mendukung pemasukan satu baris data.

Konsumsi unit kapasitas

  • Jika baris tidak ada, konsumsi unit kapasitas bergantung pada pemeriksaan kondisi.

    • IGNORE: Mengonsumsi write capacity units (WCUs). WCUs = ceil((ukuran kunci primer + ukuran kolom atribut) / 4 KB).

    • EXPECT_NOT_EXIST: Mengonsumsi WCUs dan read capacity units (RCUs). WCUs = ceil((ukuran kunci primer + ukuran kolom atribut) / 4 KB). RCUs = ceil(ukuran kunci primer / 4 KB).

    • EXPECT_EXIST: Penulisan gagal dan mengonsumsi 1 WCU serta 1 RCU.

  • Jika baris sudah ada, konsumsi unit kapasitas bergantung pada pemeriksaan kondisi.

    • IGNORE: Mengonsumsi WCUs. WCUs = ceil((ukuran kunci primer + ukuran kolom atribut) / 4 KB).

    • EXPECT_EXIST: Mengonsumsi WCUs dan RCUs. WCUs = ceil((ukuran kunci primer + ukuran kolom atribut) / 4 KB). RCUs = ceil(ukuran kunci primer / 4 KB).

    • EXPECT_NOT_EXIST: Penulisan gagal dan mengonsumsi 1 WCU serta 1 RCU.

    Untuk informasi tentang cara menghitung ukuran data, lihat Pricing.

  • Untuk pembaruan bersyarat, konsumsi dihitung seperti di atas jika berhasil. Jika gagal, operasi mengonsumsi 1 WCU dan 1 RCU.

  • Jika permintaan timeout dan hasilnya tidak terdefinisi, CUs mungkin dikonsumsi atau tidak.

  • Error internal (kode status HTTP 5xx) tidak mengonsumsi unit kapasitas. Semua error lainnya mengonsumsi 1 WCU.