赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 开发参考
  5. API参考(数据管理)
  6. API概览
  7. 基础数据操作
  8. PutRow

PutRow

  • 基础数据操作
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

调用PutRow接口插入数据到指定的行。

说明
  • 如果指定行不存在,则新增一行;如果指定行存在,则覆盖原有行。

  • 返回结果中如果没有出现报错,则表示本次操作成功。

请求消息结构

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // Plainbuffer编码为二进制。
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}           

名称

类型

是否必选

描述

table_name

string

是

请求写入数据的表名。

row

bytes

是

写入的行数据,包括主键和属性列,由Plainbuffer编码。更多信息,请参见Plainbuffer。

condition

Condition

是

在数据写入前是否进行存在性检查。取值范围如下:

  • IGNORE(默认):不做行存在性检查。

  • EXPECT_EXIST:期望行存在。

  • EXPECT_NOT_EXIST:期望行不存在。

return_content

ReturnContent

否

写入成功后返回的数据类型。目前仅支持返回主键,主要用于主键列自增功能。

transaction_id

string

否

局部事务ID。当使用局部事务功能写入数据时必须设置此参数。

响应消息结构

message PutRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}         

名称

类型

描述

consumed

ConsumedCapacity

本次操作消耗的服务能力单元。更多信息,请参见消耗的服务能力单元。

row

bytes

当设置了return_content后,返回的数据。如果未设置return_content或者没返回数据,此处为NULL。

返回的数据为Plainbuffer格式。关于Plainbuffer编码的更多信息,请参见Plainbuffer。

使用SDK

您可以使用如下语言的SDK插入单行数据。

  • Java SDK:插入单行数据

  • Go SDK:插入单行数据

  • Python SDK:插入单行数据

  • Node.js SDK:插入单行数据

  • .NET SDK:插入单行数据

  • PHP SDK:插入单行数据

服务能力单元消耗

  • 当插入的行不存在时,根据指定的条件检查不同,插入数据消耗的服务能力单元不同。

    • 如果指定条件检查为IGNORE时,则消耗写服务能力单元的数值为本行的主键数据大小与要插入属性列数据大小之和除以4 KB向上取整。

    • 如果指定条件检查为EXPECT_NOT_EXIST,则除了消耗本行的主键数据大小与要插入属性列数据大小之和除以4 KB向上取整的写CU,还需消耗该行主键数据大小除以4 KB向上取整的读CU。

    • 如果指定条件检查为EXPECT_EXIST,则本次插入失败并且消耗1单位写CU和1单位读CU。

  • 当插入的行存在时,根据指定的条件检查不同,插入数据消耗的服务能力单元不同。

    • 如果指定条件检查为IGNORE,则消耗写服务能力单元的数值为本行的主键数据大小与要插入属性列数据大小之和除以4 KB向上取整。

    • 如果指定条件检查为EXPECT_EXIST,则除了消耗本行的主键数据大小与要插入属性列数据大小之和除以4 KB向上取整的写CU,还需消耗该行主键数据大小除以4 KB向上取整的读CU。

    • 如果指定条件检查为EXPECT_NOT_EXIST,则本次插入失败并且消耗1单位写CU和1单位读CU。

    关于数据大小计算的更多信息,请参见产品定价。

  • 使用条件更新(Conditional Update)时,如果操作成功,按照上述消耗服务能力单元方式进行计算。如果操作失败,则消耗1单位写CU和1单位读CU。

  • 如果请求超时,结果未定义,则服务能力单元有可能被消耗,也可能未被消耗。

  • 如果返回内部错误(HTTP状态码:5xx),则此次操作不消耗服务能力单元,其他错误情况消耗1写服务能力单元。

相关文章

GetRow 2025-04-22 14:34

调用GetRow接口根据指定的主键读取单行数据。 请求消息结构

PutRow 2025-04-22 14:34

调用PutRow接口插入数据到指定的行。

UpdateRow 2025-04-22 14:34

调用UpdateRow接口更新指定行的数据。

DeleteRow 2025-04-22 14:34

调用DeleteRow接口删除一行数据。 请求消息结构

GetRange 2025-04-22 14:34

调用GetRange接口读取指定主键范围内的数据。 请求消息结构

BatchGetRow 2025-04-22 14:34

调用BatchGetRow接口批量读取一个表或多个表中的若干行数据。 BatchGetRow操作可视为多个GetRow操作的集合,各个操作独立执行,独立返回结果,独立计算服务能力单元。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号