All Products
Search
Document Center

Tablestore:Perbarui satu baris

Last Updated:Apr 21, 2026

Gunakan Python SDK untuk memperbarui satu baris dalam tabel data Tablestore. Metode ini mendukung pembaruan nilai kolom atribut, penambahan kolom atribut, penghapusan versi tertentu dari kolom atribut, atau penghapusan seluruh kolom atribut.

Prasyarat

Inisialisasi client Tablestore

Metode

def update_row(self, table_name, row, condition, return_type=None, transaction_id=None)

Parameter

Parameter

Tipe

Deskripsi

table_name (Wajib)

str

Nama tabel data.

row (Wajib)

Row

Baris yang akan diperbarui. Parameter ini mencakup hal berikut:

  • primary_key (Wajib)List[Tuple]: Kunci primer, yang mencakup nama dan nilai setiap kolom kunci primer.

    • Tipe data kolom kunci primer dapat berupa STRING, INTEGER, atau BINARY.

    • Jumlah dan tipe data kolom kunci primer harus sesuai dengan skema kunci primer tabel.

  • attribute_columns (Wajib)dict: Kolom atribut yang akan diperbarui dan operasi yang akan dilakukan.

condition (Wajib)

Condition

Kondisi pembaruan. Untuk informasi selengkapnya, lihat Pembaruan bersyarat.

return_type (Opsional)

ReturnType

Tipe nilai kembalian.

  • RT_NONE (Default): Tidak ada data yang dikembalikan.

  • RT_PK: Mengembalikan kolom kunci primer.

transaction_id (Opsional)

str

ID transaksi lokal. Untuk informasi selengkapnya, lihat Transaksi lokal.

Contoh

Contoh berikut memperbarui baris dalam tabel test_table dengan kunci primer row1, mengubah nilai col1 menjadi changed_val1.

try:
    # Membuat kunci primer.
    primary_key = [('id', 'row1')]
    # Membuat kolom atribut yang akan diperbarui.
    attribute_columns = {
        'PUT': [('col1', 'changed_val1')]
    }

    # Membuat baris yang akan diperbarui.
    row = Row(primary_key, attribute_columns)

    # Memanggil metode update_row untuk memperbarui baris.
    # Anda harus menentukan kondisi untuk memperbarui baris.
    # RowExistenceExpectation.IGNORE berarti sistem tidak memeriksa apakah baris tersebut ada sebelum pembaruan.
    consumed, return_row = client.update_row('test_table', row, Condition(RowExistenceExpectation.IGNORE))
    print('Read CU Cost: %s' % consumed.read)
    print('Write CU Cost: %s' % consumed.write)
except Exception as e:
    print("Update row failed with error: %s" % e)

Lakukan operasi berikut sesuai kebutuhan:

  • Tambahkan kolom atribut.

    attribute_columns = {
        'PUT': [('col2', 'val2')]
    }
  • Tetapkan nomor versi untuk kolom atribut.

    attribute_columns = {
        'PUT': [('col2', 'val2', int(time.time() * 1000))]
    }
  • Hapus versi tertentu dari kolom atribut.

    attribute_columns = {
        'DELETE': [('col2', None, 1747893563831)]
    }
  • Hapus seluruh kolom atribut.

    attribute_columns = {
        'DELETE_ALL': ['col2']
    }

Referensi