示例
插入一行数据。
说明 如下示例中属性列age的版本为1498184687000,此值是2017年06月23日,如果当前时间-max_time_deviation(max_time_deviation由创建数据表时指定)大于1498184687000时,则PutRow时会被禁止。## 主键的第一个主键列是gid,值是整数1,第二个主键列是uid,值是整数101。
primary_key = [('gid',1), ('uid',101)]
## 属性列包括五个:
## 第一个属性列的名字是name,值是字符串John,版本号没有指定,使用系统当前时间作为版本号。
## 第二个属性列的名字是mobile,值是整数15100000000,版本号没有指定,使用系统当前时间作为版本号。
## 第三个属性列的名字是address,值是二进制的China,版本号没有指定,使用系统当前时间作为版本号。
## 第四个属性列的名字是female,值是布尔值False,版本号没有指定,使用系统当前时间作为版本号。
## 第五个属性列的名字是age,值是29.7,指定版本号为1498184687000。
attribute_columns = [('name','John'), ('mobile',15100000000),('address', bytearray('China')),('female', False), ('age', 29.7, 1498184687000)]
## 通过primary_key和attribute_columns构造Row。
row = Row(primary_key, attribute_columns)
# 设置条件更新,行条件检查为期望行不存在。如果行存在会出现Condition Update Failed错误。
condition = Condition(RowExistenceExpectation.EXPECT_NOT_EXIST)
try :
# 调用put_row方法,如果没有指定ReturnType,则return_row为None。
consumed, return_row = client.put_row(table_name, row, condition)
# 打印此次请求消耗的写CU。
print ('put row succeed, consume %s write cu.' % consumed.write)
# 客户端异常,一般为参数错误或者网络异常。
except OTSClientError as e:
print "put row failed, http_status:%d, error_message:%s" % (e.get_http_status(), e.get_error_message())
# 服务端异常,一般为参数错误或者流控错误。
except OTSServiceError as e:
print "put row failed, http_status:%d, error_code:%s, error_message:%s, request_id:%s" % (e.get_http_status(), e.get_error_code(), e.get_error_message(), e.get_request_id())