行操作
所有文档
menu

云数据库 TableStorage

行操作

产品详情

单条写入PutRow

描述

写入一行数据,只能通过request body将写入数据的各项参数传递给云数据库 TableStorage。

请求

Verb URI
PUT /v{version}/instance/{instanceName}/table/{tableName}/row

请求参数

参数名称 是否必须 参数类型 说明
rowkey string 行主键,需rawurlencode
cells list 每个column,value对的列表
+column string 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254}
+value string rawurlencode后的string

响应参数

错误码

http_code code 说明
20x - 返回20x表示请求成功,例如200,204等
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
400 EmptyCell 请求的cell传递为空或未传递
413 PayloadTooLarge 请求列数/整行大小/单列大小超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

PUT /v1/instance/ins1/table/table1/row HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rowkey": "k1%E5%B8",
    "cells": [
        {
            "column": "c1",
            "value": "v1"
        },
        {
            "column": "c2",
            "value": "v2"
        }
    ]
}

注意:rowkey和value均需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{}

批量写入BatchPutRow

描述

批量写入多行数据,只能通过request body将写入数据的各项参数传递给云数据库 TableStorage。

请求

Verb URI
PUT /v{version}/instance/{instanceName}/table/{tableName}/rows

请求参数

参数名称 是否必须 参数类型 说明
rows list
+rowkey string 行主键,需rawurlencode
+cells list 每个column,value对的列表
++column string 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254}
++value string rawurlencode后的string

响应参数

错误码

http_code code 说明
20x - 返回20x表示请求成功,例如200,204等
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRows 请求的rows为空或未传递
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
400 EmptyCell 请求的cell传递为空或未传递
413 PayloadTooLarge 请求行数/列数/整行大小/单列大小超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

PUT /v1/instance/ins1/table/table1/rows HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rows": [
        {
            "rowkey": "k1%E5%B8",
            "cells": [
                {
                    "column": "c1",
                    "value": "v1"
                },
                {
                    "column": "c2",
                    "value": "v2"
                }
            ]
        }
    ]
}

注意:rowkey和value均需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{}

单条删除DeleteRow

描述

删除一整行数据或该行数据的部分列。

  • 删除指定的列:将待删除的列指定在columns字段。
  • 删除整行:cells参数传空list。

暂时无法支持return_old_value和condition_delete功能。

请求

Verb URI
DELETE /v{version}/instance/{instanceName}/table/{tableName}/row

请求参数

参数名称 是否必须 参数类型 说明
rowkey string 行主键,需rawurlencode
cells list 待删除column列表
+column string 待删除的列名称

响应参数

错误码

http_code code 说明
20x - 返回20x类表示请求成功
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
413 PayloadTooLarge 请求列数超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

DELETE /v1/instance/ins1/table/table1/row HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rowkey": "k1%E5%B8",
    "cells": [
        {
            "column": "c1"
        },
        {
            "column": "c2"
        }
    ]
}

注意:rowkey需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{}

注意:传递的字段只要有非法格式,即报错。

批量删除BatchDeleteRow

描述

批量删除若干行数据,只能通过request body将写入数据的各项参数传递给云数据库 TableStorage。

请求

Verb URI
DELETE /v{version}/instance/{instanceName}/table/{tableName}/rows

请求参数

参数名称 是否必须 参数类型 说明
rows list
+rowkey string 行主键,需rawurlencode
+cells list 待删除column列表
++column string 待删除的列名称

响应参数

错误码

http_code code 说明
20x - 返回20x类表示请求成功
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRows 请求的rows传递为空或未传递
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
413 PayloadTooLarge 请求行数/列数超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

DELETE /v1/instance/ins1/table/table1/rows HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rows": [
        {
            "rowkey": "k1%E5%B8",
            "cells": [
                {
                    "column": "c1"
                },
                {
                    "column": "c2"
                }
            ]
        }
    ]
}

注意:rowkey需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{}

单条随机读GetRow

描述

查询一行,或一行中的某些列。

请求

Verb URI
GET /v{version}/instance/{instanceName}/table/{tableName}/row

请求头:x-bce-if-none-match 响应头:ETag

请求参数

参数名称 是否必须 参数类型 说明
rowkey string 行主键,需rawurlencode
cells list 待查询的column列表
+column string 待查询的列名称
maxVersions int 最多保留版本数,取值范围[1, 50000]

响应参数

参数名称 参数类型 说明
result list 查询到的行结果,GetRow最多只会有一个result
+rowkey string rawurlencode(rowkey),用户需rawurldecode
+cells list 查询到的column列表
++column string 属性列名称
++value string rawurlencode(属性列值),用户需rawurldecode
++timestamp int 指定列的版本号,毫秒级的时间戳

错误码

http_code code 说明
200 - 请求成功
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
413 PayloadTooLarge 请求列数超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

GET /v1/instance/ins1/table/table1/row HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rowkey": "k1%E5%B8",
    "cells": [
        {
            "column": "c1"
        },
        {
            "column": "c2"
        }
    ]
}

注意:rowkey需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
ETag: 3f80f-1b6-3e1cb03b
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{
    "result": [
    {
        "rowkey": "k1%E5%B8",
            "cells": [
            {
                "column": "c1",
                "value": "v1",
                "timestamp": 1571049818321
            },
            {
                "column": "c2",
                "value": "v2",
                "timestamp": 1571049818321
            }
        ]
    }
    ]
}

注意:rowkey和value均需要rawurldecode。

批量读BatchGetRow

描述

查询多行,或多行中的某些列,只能通过request body将写入数据的各项参数传递给云数据库 TableStorage。

请求

Verb URI
GET /v{version}/instance/{instanceName}/table/{tableName}/rows

请求头: x-bce-if-none-match 响应头: ETag

请求参数

参数名称 是否必须 参数类型 说明
rows list
+rowkey string 行主键,需rawurlencode
+cells list 待查询的column列表
++column string 待查询的列名称
maxVersions int 最多保留版本数,取值范围[1, 50000]

响应参数

参数名称 参数类型 说明
result list 查询到的行结果
+rowkey string rawurlencode(rowkey),用户需rawurldecode
+cells list 查询到的column列表
++column string 属性列名称
++value string rawurlencode(属性列值),用户需rawurldecode
++timestamp int 指定列的版本号,毫秒级的时间戳

错误码

http_code code 说明
200 - 请求成功
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
400 EmptyRows 请求的rows传递为空或未传递
400 EmptyRowkey 请求的rowkey传递为空值或未传递
400 EmptyColumn 请求的column传递为空值或未传递
400 InvalidColumnName 请求的column名称不合法
413 PayloadTooLarge 请求行数/列数超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

GET /v1/instance/ins1/table/table1/row/k1%E5%B8 HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "rows": [
        {
            "rowkey": "k1%E5%B8",
            "cells": [
                {
                    "column": "c1"
                },
                {
                    "column": "c2"
                }
            ]
        },
        {
            "rowkey": "k2%E5%B8",
            "cells": [
                {
                    "column": "c3"
                },
                {
                    "column": "c4"
                }
            ]
        }
    ]
}

注意:rowkey需要rawurlencode。

响应示例

HTTP/1.1 200 OK
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
ETag: 3f80f-1b6-3e1cb03b
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{
    "result": [
        {
            "rowkey": "k1%E5%B8",
            "cells": [
                {
                    "column": "c1",
                    "value": "v1",
                    "timestamp": 1571049818321
                },
                {
                    "column": "c2",
                    "value": "v2",
                    "timestamp": 1571049818321
                }
            ]
        },
        {
            "rowkey": "k2%E5%B8",
            "cells": [
                {
                    "column": "c3",
                    "value": "v3",
                    "timestamp": 1571049818321
                },
                {
                    "column": "c4",
                    "value": "v4",
                    "timestamp": 1571049818321
                }
            ]
        }
    ]
}

注意:rowkey和value均需要rawurldecode。

区间读Scan

描述

顺序扫描若干行数据。

请求

Verb URI
GET /v{version}/instance/{instanceName}/table/{tableName}/rows

请求头: x-bce-if-none-match 响应头: ETag

请求参数

参数名称 是否必须 参数类型 说明
startRowkey string scan的起始rowkey,需rawurlencode,不填时默认为表的第一个rowkey
includeStart bool 是否包含起始rowkey,默认包含
stopRowkey string scan的终止rowkey,需rawurlencode,不填时默认为表的最后一个rowkey
includeStop bool 是否包含终止rowkey,默认不包含
selector list 待查询的column列表,不写默认返回全部列
+column string 待查询的列名称
limit int 限定查询行数,其值必须为整型,设为其他类型无效
maxVersions int 最多保留版本数,取值范围[1, 50000]

注意:startRowkey和stopRowkey指定的区间只需要包含用户所读数据即可,不需要一定是真实存在于表中的rowkey。

响应参数

参数名称 参数类型 说明
result list 记录列表
+rowkey string rawurlencode(rowkey),用户需rawurldecode
+cells list cell列表
++column string 列名
++value string rawurlencode(列值),用户需rawurldecode
++timestamp int 指定列的版本号,毫秒级的时间戳
nextStartKey string 若本次扫描未结束(返回206),后端会返回nextStartKey作为下一次扫描的起始key,用户应使用此值填充至startRowkey发起下一次scan操作

错误码

http_code code 说明
200 - 请求成功
206 - 请求成功,但是后端未返回全部数据,需要用户发起下一次请求来读取剩余数据
401 AuthenticationFailed 认证失败
400 InvalidURI URI非法
405 MethodNotAllowed 传递了不支持的HTTP方法
400 InvalidContentType 请求头域Content-Type是不支持的类型
400 InvalidAutherization 请求头域Autherization没有传递
400 EmptyDate 请求头域Date或x-bce-date都没有传递
400 InvalidContentLength 请求头域Content-Length没有传递
400 ContentLengthMismatchBodySize 请求头域的Content-Length和实际Request body大小不等
400 MalformedJSON 请求体传递的json无法解析
500 InternalError 服务内部错误,需联系技术人员解决
503 ServerBusy 请求过于频繁,需要降低请求频率
404 InstanceNotExist Instance不存在
404 TableNotExist Table不存在
403 AccessDenied 请求了不属于自己创建的Instance
413 PayloadTooLarge 请求列数超过限制
403 InstanceCreating 实例创建中,请稍候
403 AccountOverdue 账号欠费,请充值后访问

请求示例

GET /v1/instance/instance/table/table1/rows HTTP/1.1
HOST: bts.bd.baidubce.com
Authorization: bce-auth-v1/table-access-key/2018-05-24T13:41:13Z/1800/x-bce-date/{signature}
Content-Type: application/json
Content-Length: {payloadSizeBytes}
x-bce-date: 2018-05-24T13:41:13Z

{
    "startRowkey": "k1%E5%B8",
    "includeStart": true,
    "stopRowkey": "k5%E5%B8",
    "includeStop": false,
    "selector": [
        "column": "c1",
        "column": "c2",
        "column": "c3"
    ],
    "limit": 1000
}

注意:rowkey需要rawurlencode。

响应示例

HTTP/1.1 206 Partial Content
Date: Sat, 18 Aug 2018 18:18:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: {payloadSizeBytes}
ETag: 3f80f-1b6-3e1cb03b
x-bce-request-id: 7869616F-7A68-6977-656E-406261696475

{
    "result": [
        {
            "rowkey": "k1%E5%B8",
            "cells": [
                {
                    "column": "c1",
                    "value": "v1",
                    "timestamp": 1571049818321
                },
                {
                    "column": "c2",
                    "value": "v2",
                    "timestamp": 1571049818321
                }
            ]
        },
        {
            "rowkey": "k2%E5%B8",
            "cells": [
                {
                    "column": "c3",
                    "value": "v3",
                    "timestamp": 1571049818321
                }
            ]
        }
    ],
    "nextStartKey": "k3%E5B8"
}

注意:rowkey和value均需要rawurldecode。

上一篇
表操作
下一篇
时序模式相关接口