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