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


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

  • 简介

    在List表中批量插入数据,可指定插入方式。通过 Index参数控制插入的位置:

    • Index = -1: 表示队尾插入

    • Index = -2: 表示队头插入

    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.ListBatchInsertRecords
    x-tcaplus-app-id:{string}
    x-tcaplus-zone-id:{string}
    x-tcaplus-protocol-version:{string}
    x-tcaplus-table-name:{string}
    x-tcaplus-pwd-md5:{string}
    x-tcaplus-result-flag:result_flag
    x-tcaplus-version:{string}
    x-tcaplus-data-version-check:{string}
    x-tcaplus-idl-type:protobuf

    参数说明:

    名称是否必填限制条件说明
    x-tcaplus-target Tcaplus.ListBatchInsertRecords
    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.ListBatchInsertRecords
    x-tcaplus-app-id:3
    x-tcaplus-zone-id:1
    x-tcaplus-protocol-version:2.0
    x-tcaplus-table-name:tb_online_list
    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格式表示记录相关信息。Index表示插入的位置:

    • Index: 表示插入位置,-1: 队尾, -2: 队头

    {
      "MultiRecords": [{
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"2",
          "logintime":2,
          "lockid":[],
          "pay": {
              "total_money": 2,
              "pay_times": 2
          }
      }},{
    ?
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"3",
          "logintime":3,
          "lockid":[],
          "pay": {
              "total_money": 3,
              "pay_times": 3
          }
      }},{
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"4",
          "logintime":4,
          "lockid":[],
          "pay": {
              "total_money": 4,
              "pay_times": 4
          }
      }
      }]
    }

    完整请求示例

    curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.ListBatchInsertRecords' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: tb_online_list' -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: 1' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
      "MultiRecords": [{
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"2",
          "logintime":2,
          "lockid":[],
          "pay": {
              "total_money": 2,
              "pay_times": 2
          }
      }},{
    ?
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"3",
          "logintime":3,
          "lockid":[],
          "pay": {
              "total_money": 3,
              "pay_times": 3
          }
      }},{
          "Index": -1,
          "Record": {
          "openid":1,
          "tconndid":1,
          "timekey":"1",
          "gamesvrid":"4",
          "logintime":4,
          "lockid":[],
          "pay": {
              "total_money": 4,
              "pay_times": 4
          }
      }
          }]
    }'

    返回语法

    返回参数说明

    参数名说明
    ErrorCode 返回码
    ErrorMsg 返回信息
    SucceedRecords json格式,成功的记录返回数据,详见文中Data部分
    SucceedNum 成功的记录数
    FailedRecords json格式,失败的记录返回数据,详见文中Data部分
    FailedNum 失败的记录数

     

    返回示例

    成功示例

    {
      "ErrorCode": 0,
      "ErrorMsg": "Succeed",
      "SucceedRecords": [{
          "RecordVersion": 23,
          "Index": 17,
          "Record": {
              "openid": 1,
              "tconndid": 1,
              "timekey": "1",
              "gamesvrid": "2",
              "logintime": 2,
              "lockid": [],
              "pay": {
                  "total_money": 2,
                  "pay_times": 2
              }
          }
      }, {
          "RecordVersion": 23,
          "Index": 18,
          "Record": {
              "openid": 1,
              "tconndid": 1,
              "timekey": "1",
              "gamesvrid": "3",
              "logintime": 3,
              "lockid": [],
              "pay": {
                  "total_money": 3,
                  "pay_times": 3
              }
          }
      }, {
          "RecordVersion": 23,
          "Index": 19,
          "Record": {
              "openid": 1,
              "tconndid": 1,
              "timekey": "1",
              "gamesvrid": "4",
              "logintime": 4,
              "lockid": [],
              "pay": {
                  "total_money": 4,
                  "pay_times": 4
              }
          }
      }],
      "SucceedNum": 3
    }

    失败示例

    {
      "ErrorCode": -1299,
      "ErrorMsg": "api_field_not_exist_error",
      "SucceedRecords": [{
          "RecordVersion": 26,
          "Index": 21,
          "Record": {
              "openid": 1,
              "tconndid": 1,
              "timekey": "1",
              "gamesvrid": "3",
              "logintime": 3,
              "lockid": [],
              "pay": {
                  "total_money": 3,
                  "pay_times": 3
              }
          }
      }, {
          "RecordVersion": 26,
          "Index": 22,
          "Record": {
              "openid": 1,
              "tconndid": 1,
              "timekey": "1",
              "gamesvrid": "4",
              "logintime": 4,
              "lockid": [],
              "pay": {
                  "total_money": 4,
                  "pay_times": 4
              }
          }
      }],
      "SucceedNum": 2,
      "FailedRecords": [{
          "Index": 1
      }],
      "FailedNum": 1
    }

img

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