[tcallusdb knowledge base] restful API For generic table - [PB] ReplaceRecord introduce

Posted by jkohns on Fri, 11 Feb 2022 23:49:16 +0100

[tcallusdb knowledge base] restfulapi2 0 for generic table - [Pb] replacerecord2 0 Introduction

brief introduction

Add a new record or replace the old one with a new one. If the record already exists, update it; If the record does not exist, insert a new record.

POST http://{Tcaplus_REST_URL}

Request syntax

Http request

#Tencent cloud console RESTful Endpoint, ip:80, port: 80 by default
http://172.17.0.22
#Tcallusdb local docker RESTful Endpoint, ip:31001, port default 31001
http://9.135.8.93:31001

Http head

name

Required

Restrictions

explain

x-tcaplus-target

yes

nothing

Tcaplus.ReplaceRecord

x-tcaplus-version

yes

nothing

Tcaplus3.50.0

x-tcaplus-app-id

yes

nothing

Corresponding service id number (aka, cluster access id)

x-tcaplus-zone-id

yes

nothing

Corresponding zone number (aka, table group id)

x-tcaplus-protocol-version

yes

nothing

The corresponding protocol version number is 2.0 by default

x-tcaplus-table-name

yes

nothing

Corresponding table name

x-tcaplus-pwd-md5

yes

nothing

Business password (aka, cluster access password), enter the calculated md5 value

x-tcaplus-idl-type

yes

nothing

protobuf

x-tcaplus-result-flag

no

nothing

0: no data will be returned after successful operation 1: data consistent with the request will be returned after successful operation 2: data after this update operation will be returned after successful operation 3: data before tcapsvr operation will be returned after successful operation

x-tcaplus-data-version-check

no

1: Detect the record version number. The version number will increase automatically only when it is the same as the server version number. 2: do not detect the record version number, and force the record version number of the client to be written to the server. 3: do not detect the record version number, and increase the server version number automatically

x-tcaplus-data-version

no

Specific version value

Example:

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 format is used to represent relevant information.

{
    "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
        }
    }
}

Full request example

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
        }
    }
}'

Return syntax

Return parameter description

Parameter name

explain

ErrorCode

Return code

ErrorMsg

Return information

ReturnValues

The reserved data set by the user arrives at tcaplus with the request and is brought back by the reply as it is

SucceedRecords

json format, the returned Data of successful records, see the Data section in the text for details

SucceedNum

Number of successful records

FailedRecords

json format, return Data of failed records, see the Data section in the text for details

FailedNum

Number of failed records

Return example

Successful return example

{
    "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
        }
    }
}

Failure return example

If the record does not exist, insert the record.

{
    "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
        }
    }
}

Tcallusdb is a distributed NoSQL database produced by Tencent. The storage and scheduling code is completely self-developed. It has the characteristics of cache + floor fusion architecture, PB level storage, millisecond delay, lossless horizontal expansion and complex data structure. At the same time, it has the characteristics of rich ecology, convenient migration, extremely low operation and maintenance cost and five nine high availability. Customers cover games, Internet, government affairs, finance, manufacturing, Internet of things and other fields.

Topics: Database nosql TcaplusDB