Operasi UpdateRow memperbarui data pada baris tertentu.
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:
|
|
condition |
Yes |
Apakah akan memeriksa keberadaan baris sebelum memperbarui. Nilai valid:
|
|
|
return_content |
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 |
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.