1. 程式人生 > 其它 >【TcaplusDB知識庫】RESTfulAPI. for Generic表-[PB] InsertRecord介紹

【TcaplusDB知識庫】RESTfulAPI. for Generic表-[PB] InsertRecord介紹

【TcaplusDB知識庫】RESTfulAPI2.0 for Generic表-[PB] InsertRecord介紹

簡介

在表中插入單筆資料,如果資料已存在則返回錯誤。

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.InsertRecord
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.InsertRecord
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.InsertRecord
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":[],
"logout_timestamp":[],
"is_online":false,
"pay": {
"pay_id": 4,
"amount": 4,
"method": 4
}
}
}

完整請求示例

注意:示例中相關引數請替換成業務方TcaplusDB實際引數。

curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.InsertRecord' -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: 3' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.12 -d '{
"Record": {
"player_id":4,
"player_name":"4",
"player_email":"4",
"game_server_id":4,
"login_timestamp":[],
"logout_timestamp":[],
"is_online":false,
"pay": {
"pay_id": 4,
"amount": 4,
"method": 4
}
}
}'

返回語法

返回引數說明

引數名說明
引數名 說明
ErrorCode 返回碼
ErrorMsg 返回資訊
ReturnValues 使用者設定的保留資料,隨請求到達 tcaplus 並由應答原樣帶回
SucceedRecords json格式,成功的記錄返回資料,詳見文中Data部分
SucceedNum 成功的記錄數
FailedRecords json格式,失敗的記錄返回資料,詳見文中Data部分
FailedNum 失敗的記錄數

返回示例

成功返回示例

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

錯誤返回

{
"ErrorCode": -1293,
"ErrorMsg": "Record exists"
}

https://tcaplusdb.tencent.com/UserGuide/05TcaplusDB API/02RestFulAPI2.0介面列表/03[PB]常見錯誤碼.html)


TcaplusDB是騰訊出品的分散式NoSQL資料庫,儲存和排程的程式碼完全自研。具備快取+落地融合架構、PB級儲存、毫秒級時延、無損水平擴充套件和複雜資料結構等特性。同時具備豐富的生態、便捷的遷移、極低的運維成本和五個九高可用等特點。客戶覆蓋遊戲、網際網路、政務、金融、製造和物聯網等領域。