本文介绍如何通过 Python SDK 更新表格存储数据表中的单行数据,您可以更新属性列的值、添加属性列、删除属性列的某个版本或整个属性列。
前提条件
方法说明
def update_row(self, table_name, row, condition, return_type=None, transaction_id=None)示例代码
以下示例代码用于修改 test_table 表中主键值为 row1 的行数据,将属性列 col1 的值修改为 changed_val1。
try:
# 构造主键
primary_key = [('id', 'row1')]
# 构造更新的属性列数据
attribute_columns = {
'PUT': [('col1', 'changed_val1')]
}
# 构造更新行数据
row = Row(primary_key, attribute_columns)
# 调用 update_row 方法更新行数据
# 更新行数据时必须指定更新条件 (RowExistenceExpectation.IGNORE,表示不做行存在性判断)
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)您也可以参照示例代码进行以下行数据操作。
添加一个属性列。
attribute_columns = { 'PUT': [('col2', 'val2')] }设置属性列数据版本号。
attribute_columns = { 'PUT': [('col2', 'val2', int(time.time() * 1000))] }删除属性列指定版本的数据。
attribute_columns = { 'DELETE': [('col2', None, 1747893563831)] }删除整个属性列数据。
attribute_columns = { 'DELETE_ALL': ['col2'] }