All Products
Search
Document Center

Tablestore:UpdateRow

Last Updated:Apr 30, 2026

Operasi UpdateRow memperbarui data pada baris tertentu.

Catatan

Jika baris yang ditentukan tidak ada, baris baru akan disisipkan. Jika baris tersebut sudah ada, UpdateRow menambahkan, mengubah, atau menghapus nilai kolom atribut tertentu sesuai permintaan.

Struktur pesan permintaan

message UpdateRowRequest {
    required string table_name = 1;
    required bytes row_change = 2;
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}

Name

Type

Required

Description

table_name

string

Yes

Nama tabel yang akan diperbarui.

row_change

bytes

Yes

Data pembaruan, termasuk kunci primary dan kolom atribut, yang dikodekan dalam format PlainBuffer. Untuk informasi selengkapnya, lihat PlainBuffer.

Tablestore menambahkan, mengubah, atau menghapus nilai kolom atribut tertentu berdasarkan UpdateType dalam row_change. Kolom atribut yang tidak termasuk dalam row_change tidak terpengaruh.

Nilai valid untuk UpdateType:

  • PUT: Nilainya harus merupakan nilai kolom atribut yang valid. Jika kolom tidak ada, kolom baru akan dibuat. Jika kolom sudah ada, nilainya akan ditimpa.

  • DELETE: Nilainya harus kosong. Tentukan timestamp untuk menghapus versi spesifik dari kolom tersebut.

  • DELETE_ALL: Nilai dan timestamp keduanya harus kosong. Ini akan menghapus semua versi kolom tersebut.

    Catatan

    Menghapus semua kolom atribut dalam suatu baris tidak sama dengan menghapus baris tersebut. Untuk menghapus baris, gunakan operasi DeleteRow.

condition

Condition

Yes

Apakah akan memeriksa keberadaan baris sebelum memperbarui. Nilai valid:

  • IGNORE (default): Melewati pemeriksaan keberadaan. Operasi berhasil baik baris ada maupun tidak.

  • EXPECT_EXIST: Mengharuskan baris ada. Jika baris tidak ada, operasi gagal dan mengembalikan error.

return_content

ReturnContent

No

Jenis data yang dikembalikan setelah penulisan berhasil. Hanya pengembalian kunci primary yang didukung, terutama untuk fitur kolom kunci utama auto-increment.

transaction_id

string

No

ID transaksi lokal. Atur parameter ini saat menggunakan fitur transaksi lokal.

Struktur pesan respons

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

Name

Type

Description

consumed

ConsumedCapacity

Unit kapasitas yang dikonsumsi oleh operasi. Untuk informasi selengkapnya, lihat Capacity unit consumption.

row

bytes

Data yang dikembalikan saat return_content diatur. Jika return_content tidak diatur atau tidak ada nilai yang dikembalikan, parameter ini bernilai NULL.

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

Gunakan SDK

Gunakan SDK untuk salah satu bahasa berikut guna memperbarui satu baris.

Konsumsi unit kapasitas

  • Jika baris tidak ada, unit kapasitas yang dikonsumsi bergantung pada pengaturan pemeriksaan kondisi.

    • IGNORE: CU write yang dikonsumsi sama dengan jumlah ukuran data kunci primary dan ukuran data kolom atribut, dibagi 4 KB dan dibulatkan ke atas. Untuk kolom atribut yang dihapus, hanya panjang nama kolom yang dihitung sebagai ukuran data.

    • EXPECT_EXIST: Operasi gagal dan mengonsumsi 1 CU write serta 1 CU read.

  • Jika baris sudah ada, unit kapasitas yang dikonsumsi bergantung pada pengaturan pemeriksaan kondisi.

    • IGNORE: CU write yang dikonsumsi sama dengan jumlah ukuran data kunci primary dan ukuran data kolom atribut, dibagi 4 KB dan dibulatkan ke atas. Untuk kolom atribut yang dihapus, hanya panjang nama kolom yang dihitung sebagai ukuran data.

    • EXPECT_EXIST: Mengonsumsi CU write yang sama seperti IGNORE, ditambah CU read tambahan. CU read yang dikonsumsi sama dengan ukuran data kunci primary dibagi 4 KB dan dibulatkan ke atas.

    Untuk informasi selengkapnya tentang cara menghitung ukuran data, lihat Pricing.

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

  • Jika terjadi error internal (kode status HTTP: 5xx), tidak ada unit kapasitas yang dikonsumsi. Untuk error lainnya, 1 CU write dan 1 CU read dikonsumsi.