146
汽车大全
BatchWriteRow__API 概览_API 参考_表格存储-阿里云
行为:
批量插入、修改或删除一个或多个表中的若干行数据。
BatchWriteRow 操作可视为多个 PutRow、UpdateRow、DeleteRow 操作的集合。各个操作独立执行,独立返回结果,独立计算服务能力单元。
与执行大量的单行写操作相比,使用 BatchWriteRow 操作可以有效减少请求的响应时间,提高数据的写入速率。
请求结构:
message BatchWriteRowRequest {
repeated TableInBatchWriteRowRequest tables = 1;
}
tables:
类型:repeated TableInBatchWriteRowRequest。
是否必要参数:是。
指定了需要要执行写操作的行信息。
以下情况都会返回整体错误:
tables 中任一表不存在。
tables 中包含同名的表。
tables 中任一表名表名不符合表名命名规范。
tables 中任一行操作未指定主键、主键列名称不符合规范或者主键列类型不正确。
tables 中任一属性列名称不符合列名命名规范。
tables 中任一行操作存在与主键列同名的属性列。
tables 中任一主键列或者属性列的值大小超过上限。
tables 中任一表中存在主键完全相同的请求。
tables 中所有表总的行操作个数超过 200 个,或者其含有的总数据大小超过 4 M。
tables 中任一表内没有包含行操作,则返回 OTSParameterInvalidException 的错误。
tables 中任一 PutRowInBatchWriteRowRequest 包含的 Column 个数超过 1024 个。
tables 中任一 UpdateRowInBatchWriteRowRequest 包含的 ColumnUpdate 个数超过 1024 个。
响应消息结构:
message BatchWriteRowResponse {
repeated TableInBatchWriteRowResponse tables = 1;
}
tables:
对应了每个 table 下各操作的响应信息,包括是否成功执行,错误码和消耗的服务能力单元。
响应消息中 TableInBatchWriteRowResponse 对象的顺序与 BatchWriteRowRequest 中的 TableInBatchWriteRowRequest 对象的顺序相同;每个 TableInBatchWriteRowRequest 中 put_rows、update_rows、delete_rows 包含的 RowInBatchWriteRowResponse 对象的顺序分别与 TableInBatchWriteRowRequest 中 put_rows、update_rows、delete_rows 包含的 PutRowInBatchWriteRowRequest、UpdateRowInBatchWriteRowRequest 和 DeleteRowInBatchWriteRowRequest 对象的顺序相同。
若某行读取失败,该行所对应的 RowInBatchWriteRowResponse 中 is_ok 将为 false。
注意:BatchWriteRow 操作可能会在行级别部分失败,此时返回的 HTTP 状态码仍为 200。应用程序必须对 RowInBatchWriteRowResponse 中的 error 进行检查,确认每一行的执行结果并进行相应的处理。
服务能力单元消耗:
如果本次操作整体失败,不消耗任何服务能力单元。
如果请求超时,结果未定义,服务能力单元有可能被消耗,也可能未被消耗。
其他情况将每个 PutRowInBatchWriteRowRequest、UpdateRowInBatchWriteRowRequestDelete、RowInBatchWriteRowRequest 依次视作相对应的写操作独立计算读服务能力单元。PutRow 服务能力单元消耗、UpdateRow 服务能力单元消耗、DeleteRow 服务能力单元消耗。
请求示例:
BatchWriteRowRequest {
tables {
table_name: "consume_history"
put_rows {
condition {
row_existence: IGNORE
}
primary_key {
name: "CardID"
value {
type: STRING
v_string: "2007035023"
}
}
primary_key {
name: "SellerID"
value {
type: STRING
v_string: "00022"
}
}
primary_key {
name: "DeviceID"
value {
type: STRING
v_string: "061104"
}
}
primary_key {
name: "OrderNumber"
value {
type: INTEGER
v_int: 142857
}
}
attribute_columns {
name: "Amount"
value {
type: DOUBLE
v_double: 2.5
}
}
attribute_columns {
name: "Remarks"
value {
type: STRING
v_string: "ice cream"
}
}
}
update_rows {
condition {
row_existence: EXPECT_EXIST
}
primary_key {
name: "CardID"
value {
type: STRING
v_string: "2007035023"
}
}
primary_key {
name: "SellerID"
value {
type: STRING
v_string: "00026"
}
}
primary_key {
name: "DeviceID"
value {
type: STRING
v_string: "065499"
}
}
primary_key {
name: "OrderNumber"
value {
type: INTEGER
v_int: 153846
}
}
attribute_columns {
type: PUT
name: "Amount"
value {
type: DOUBLE
v_double: 1
}
}
attribute_columns {
type: DELETE
name: "Remarks"
}
}
delete_rows {
condition {
row_existence: IGNORE
}
primary_key {
name: "CardID"
value {
type: STRING
v_string: "2007035023"
}
}
primary_key {
name: "SellerID"
value {
type: STRING
v_string: "00026"
}
}
primary_key {
name: "DeviceID"
value {
type: STRING
v_string: "065499"
}
}
primary_key {
name: "OrderNumber"
value {
type: INTEGER
v_int: 166666
}
}
}
}
}
响应示例:
tables {
table_name: "consume_history"
put_rows {
is_ok: true
consumed {
capacity_unit {
write: 1
}
}
}
update_rows {
consumed {
capacity_unit {
write: 1
}
}
}
delete_rows {
consumed {
capacity_unit {
write: 1
}
}
}
}
最后更新:2016-11-23 16:03:56
上一篇:
BatchGetRow__API 概览_API 参考_表格存储-阿里云
下一篇:
CreateTable__API 概览_API 参考_表格存储-阿里云
工作流程__工作原理_用户指南_弹性伸缩-阿里云
apache日志__常见日志格式_用户指南_日志服务-阿里云
一分钟创建伸缩方案__快速入门_弹性伸缩-阿里云
获取应用操作记录__应用管理类 API_Open API 参考_企业级分布式应用服务 EDAS-阿里云
标签表达式__附录_OpenAPI 1.0_移动推送-阿里云
线路说明___购买指导_DDoS 高防IP-阿里云
订阅消息__快速入门_消息队列 MQ-阿里云
使用Dashboard__快速入门_云监控-阿里云
升级RDS实例版本__实例管理_API 参考_云数据库 RDS 版-阿里云
旋转__图片_图片处理指南_对象存储 OSS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云