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

Posted by mgrphp on Fri, 11 Feb 2022 15:45:52 +0100

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

brief introduction

Query the corresponding record, get the specified field and return. Compared with the specified fields returned by GetRecord (Select parameter), the difference is that FieldGetRecord filters on the server and the network traffic is relatively small. It is recommended that users use this interface when similar fields return to the scene.

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.FieldGetRecord

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

  • FieldPath: must specify the returned field, similar to the Select parameter of GetRecord
  • Record: the primary key field of the record must be specified
{
    "FieldPath": ["game_server_id", "pay"],
    "Record": {
        "player_id":5,
        "player_name":"5",
        "player_email":"5"
    }
}

Full request example

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

Return syntax

Return parameter description

Parameter name

explain

ErrorCode

Return code

ErrorMsg

Return information

RecordVersion

Record version number

Record

The data format of the specified record is json

Return example

Successful return example

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

Failure return example

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

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