【TcaplusDB知识库】RESTfulAPI. for Generic表-[PB] ReplaceRecord.介绍


【TcaplusDB知识库】RESTfulAPI2.0 for Generic表-[PB] UpdateRecord2.0介绍

简介

添加一条新记录或者用新记录替换旧纪录。如果数据库中存在记录和新记录的key信息相同,那么就用新记录替换旧记录。如果不存在,那么返回错误信息。

POST http://{Tcaplus_REST_URL}

请求语法

Http请求

#腾讯云控制台 RESTful Endpoint, ip:80, 端口默认80
http://172.17.0.22
#TcaplusDB本地docker版 RESTful Endpoint, ip:31001, 端口默认31001
http://9.135.8.93:31001

Http头

名称是否必填限制条件说明
x-tcaplus-target Tcaplus.UpdateRecord
x-tcaplus-version Tcaplus3.50.0
x-tcaplus-app-id 对应业务id编号(aka,集群接入id)
x-tcaplus-zone-id 对应zone编号(aka,表格组id)
x-tcaplus-protocol-version 对应protocol版本号,默认2.0
x-tcaplus-table-name 对应表名
x-tcaplus-pwd-md5 业务密码(aka,集群访问密码),传入计算后的md5值
x-tcaplus-idl-type protobuf
x-tcaplus-result-flag 0:操作成功后不返回数据1:操作成功后返回和请求一致的数据2:操作成功后返回本次update操作后的数据3:操作成功后返回tcapsvr端操作前的数据
x-tcaplus-data-version-check   1:检测记录版本号,只有当该版本号与服务器端的版本号相同时,该版本号才会自增2:不检测记录版本号,强制把客户端的记录版本号写入到服务器中3:不检测记录版本号,将服务器端的版本号自增
x-tcaplus-data-version   具体的version值

 

示例:

x-tcaplus-target:Tcaplus.UpdateRecord
x-tcaplus-app-id:3
x-tcaplus-zone-id:1
x-tcaplus-protocol-version:2.0
x-tcaplus-table-name:game_players
x-tcaplus-pwd-md5:4e81984efccfb4982333aeb1ff7968d5
x-tcaplus-result-flag:2
x-tcaplus-version:Tcaplus3.50.0
x-tcaplus-data-version-check: 3
x-tcaplus-idl-type:protobuf

Data

使用json格式表示记录相关信息。参数说明:

  • Record: 必选,要更新的记录数据

{
  "Record": {
      "player_id":4,
      "player_name":"4",
      "player_email":"4",
      "game_server_id":4,
      "login_timestamp":["123456"],
      "logout_timestamp":["123456"],
      "is_online":true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}

完整请求示例

curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.UpdateRecord' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: game_players' -H 'x-tcaplus-pwd-md5: 0972ad76decf4d11a69e2e0d9af335da' -H 'x-tcaplus-result-flag: 3' -H 'x-tcaplus-version: Tcaplus3.50.0' -H 'x-tcaplus-data-version-check: 2' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
  "Record": {
      "player_id":4,
      "player_name":"4",
      "player_email":"4",
      "game_server_id":4,
      "login_timestamp":["123456"],
      "logout_timestamp":["123456"],
      "is_online":true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}'

返回语法

返回参数说明

参数名说明
参数名 说明
ErrorCode 返回码
ErrorMsg 返回信息
RecordVersion 返回更新后记录的版本号
Record json格式,成功的记录数据

 

返回示例

成功返回示例

{
  "ErrorCode": 0,
  "ErrorMsg": "Succeed",
  "RecordVersion": 2,
  "Record": {
      "player_id": 4,
      "player_name": "4",
      "player_email": "4",
      "game_server_id": 4,
      "login_timestamp": ["123456"],
      "logout_timestamp": ["123456"],
      "is_online": true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}

失败返回示例

【TcaplusDB知识库】RESTfulAPI2.0 for Generic表-[PB] ReplaceRecord2.0介绍

简介

添加一条新记录或者用新记录替换旧纪录。如果记录已存在,则更新;如果记录不存在,则插入新记录。

POST http://{Tcaplus_REST_URL}

请求语法

Http请求

#腾讯云控制台 RESTful Endpoint, ip:80, 端口默认80
http://172.17.0.22
#TcaplusDB本地docker版 RESTful Endpoint, ip:31001, 端口默认31001
http://9.135.8.93:31001

Http头

名称是否必填限制条件说明
x-tcaplus-target Tcaplus.ReplaceRecord
x-tcaplus-version Tcaplus3.50.0
x-tcaplus-app-id 对应业务id编号(aka,集群接入id)
x-tcaplus-zone-id 对应zone编号(aka,表格组id)
x-tcaplus-protocol-version 对应protocol版本号,默认2.0
x-tcaplus-table-name 对应表名
x-tcaplus-pwd-md5 业务密码(aka,集群访问密码),传入计算后的md5值
x-tcaplus-idl-type protobuf
x-tcaplus-result-flag 0:操作成功后不返回数据1:操作成功后返回和请求一致的数据2:操作成功后返回本次update操作后的数据3:操作成功后返回tcapsvr端操作前的数据
x-tcaplus-data-version-check   1:检测记录版本号,只有当该版本号与服务器端的版本号相同时,该版本号才会自增2:不检测记录版本号,强制把客户端的记录版本号写入到服务器中3:不检测记录版本号,将服务器端的版本号自增
x-tcaplus-data-version   具体的version值

 

示例:

x-tcaplus-target:Tcaplus.ReplaceRecord
x-tcaplus-app-id:3
x-tcaplus-zone-id:1
x-tcaplus-protocol-version:2.0
x-tcaplus-table-name:game_players
x-tcaplus-pwd-md5:4e81984efccfb4982333aeb1ff7968d5
x-tcaplus-result-flag:2
x-tcaplus-version:Tcaplus3.50.0
x-tcaplus-data-version-check: 3
x-tcaplus-idl-type:protobuf

Data

使用json格式表示记录相关信息。

{
  "Record": {
      "player_id":4,
      "player_name":"4",
      "player_email":"4",
      "game_server_id":4,
      "login_timestamp":["123456","234"],
      "logout_timestamp":["123456","234"],
      "is_online":true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}

完整请求示例

curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.ReplaceRecord' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: game_players' -H 'x-tcaplus-pwd-md5: 0972ad76decf4d11a69e2e0d9af335da' -H 'x-tcaplus-result-flag: 3' -H 'x-tcaplus-version: Tcaplus3.50.0' -H 'x-tcaplus-data-version-check: 2' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
  "Record": {
      "player_id":4,
      "player_name":"4",
      "player_email":"4",
      "game_server_id":4,
      "login_timestamp":["123456","234"],
      "logout_timestamp":["123456","234"],
      "is_online":true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}'

返回语法

返回参数说明

参数名说明
ErrorCode 返回码
ErrorMsg 返回信息
ReturnValues 用户设置的保留数据,随请求到达 tcaplus 并由应答原样带回
SucceedRecords json格式,成功的记录返回数据,详见文中Data部分
SucceedNum 成功的记录数
FailedRecords json格式,失败的记录返回数据,详见文中Data部分
FailedNum 失败的记录数

 

返回示例

成功返回示例

{
  "ErrorCode": 0,
  "ErrorMsg": "Succeed",
  "RecordVersion": 0,
  "Record": {
      "player_id": 4,
      "player_name": "4",
      "player_email": "4",
      "game_server_id": 4,
      "login_timestamp": ["123456"],
      "logout_timestamp": ["123456"],
      "is_online": true,
      "pay": {
          "pay_id": 4,
          "amount": 4,
          "method": 4
      }
  }
}

失败返回示例

如果记录不存在,则插入记录。

{
  "ErrorCode": 0,
  "ErrorMsg": "Succeed",
  "RecordVersion": 1,
  "Record": {
      "player_id": 4,
      "player_name": "44",
      "player_email": "44",
      "game_server_id": 44,
      "login_timestamp": ["123456", "234"],
      "logout_timestamp": ["123456", "234"],
      "is_online": true,
      "pay": {
          "pay_id": 44,
          "amount": 44,
          "method": 44
      }
  }
}

 


 

【TcaplusDB知识库】RESTfulAPI2.0 for Generic表-[PB] FieldGetRecord2.0介绍

简介

查询对应记录, 获取指定字段返回。与GetRecord返回指定字段相比(Select参数), 区别为:FieldGetRecord在服务端过滤,网络流量相对较小,推荐用户在有类似部分字段返回场景时用此接口。

POST http://{Tcaplus_REST_URL}

请求语法

Http请求

#腾讯云控制台 RESTful Endpoint, ip:80, 端口默认80
http://172.17.0.22
#TcaplusDB本地docker版 RESTful Endpoint, ip:31001, 端口默认31001
http://9.135.8.93:31001

Http头

名称是否必填限制条件说明
x-tcaplus-target Tcaplus.FieldGetRecord
x-tcaplus-version Tcaplus3.50.0
x-tcaplus-app-id 对应业务id编号(aka,集群接入id)
x-tcaplus-zone-id 对应zone编号(aka,表格组id)
x-tcaplus-protocol-version 对应protocol版本号,默认2.0
x-tcaplus-table-name 对应表名
x-tcaplus-pwd-md5 业务密码(aka,集群访问密码),传入计算后的md5值
x-tcaplus-idl-type protobuf
x-tcaplus-result-flag 0:操作成功后不返回数据1:操作成功后返回和请求一致的数据2:操作成功后返回本次update操作后的数据3:操作成功后返回tcapsvr端操作前的数据
x-tcaplus-data-version-check   1:检测记录版本号,只有当该版本号与服务器端的版本号相同时,该版本号才会自增2:不检测记录版本号,强制把客户端的记录版本号写入到服务器中3:不检测记录版本号,将服务器端的版本号自增
x-tcaplus-data-version   具体的version值

 

示例:

x-tcaplus-target:Tcaplus.FieldGetRecord
x-tcaplus-app-id:3
x-tcaplus-zone-id:1
x-tcaplus-protocol-version:2.0
x-tcaplus-table-name:game_players
x-tcaplus-pwd-md5:4e81984efccfb4982333aeb1ff7968d5
x-tcaplus-result-flag:2
x-tcaplus-version:Tcaplus3.50.0
x-tcaplus-data-version-check: 3
x-tcaplus-idl-type:protobuf

Data

使用json格式表示记录相关信息。参数说明:

  • FieldPath: 必须,指定返回的字段,类似GetRecord的Select参数

  • Record: 必须,指定记录的主键字段

{
  "FieldPath": ["game_server_id", "pay"],
  "Record": {
      "player_id":5,
      "player_name":"5",
      "player_email":"5"
  }
}

完整请求示例

curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.FieldGetRecord' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: game_players' -H 'x-tcaplus-pwd-md5: 0972ad76decf4d11a69e2e0d9af335da' -H 'x-tcaplus-result-flag: 2' -H 'x-tcaplus-version: Tcaplus3.50.0' -H 'x-tcaplus-data-version-check: 1' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
  "FieldPath": ["game_server_id", "pay"],
  "Record": {
      "player_id":5,
      "player_name":"5",
      "player_email":"5"
  },
  "Select":["game_server_id", "is_online", "pay"]
}'

返回语法

返回参数说明

参数名说明
ErrorCode 返回码
ErrorMsg 返回信息
RecordVersion 记录版本号
Record json格式,返回的指定字段的记录数据

 

返回示例

成功返回示例

{
  "ErrorCode": 0,
  "ErrorMsg": "Succeed",
  "RecordVersion": 5,
  "Record": {
      "game_server_id": 5,
      "pay": {
          "pay_id": 5,
          "amount": 5,
          "method": 5
      }
  }
}

失败返回示例

{
  "ErrorCode": 261,
  "ErrorMsg": "Record does not exist"
}

 

img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

{

    "ErrorCode": 261,
  "ErrorMsg": "Record does not exist"
}

img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。