Python的os的檔案複製
阿新 • • 發佈:2022-03-25
查詢指定事務的詳細資訊,目前只支援查詢加表、變更表、刪除表、清空表、複製表資料五種事務的查詢,其沿用加表、修改表、清理表、刪除表、複製表資料的許可權。
請求地址
GET/POST
http://OmsAddress/app/newoms.php/webservice/oamp/transaction/detail/<set_id>/<trans_id>?cmd=cmdVal&ip-type=webservicerest&access-token=AccessTokenVal
url中GET引數說明
引數名稱 | 資料型別 | 說明 |
是否必填欄位 | 備註 |
---|---|---|---|---|
set_id | 整型 | 事務所在的叢集的id | 是 | |
trans_id | 整型 | 事務的id | 是 | |
cmd(cmdVal) | 整型 | 介面型別 查詢加表事務:cmd=10002 查詢修改表事務:cmd=10003 查詢清理表事務:cmd=10004 查詢刪除表事務:cmd=10005 查詢複製表資料事務:cmd=10008 (表、程序)資料備份cmd:10009 表資料構造cmd:10011 機器資料構造cmd:10012 資料匯入事務cmd:10013 索引事務務cmd:10022 | 是 |
POST請求引數說明
引數名稱 | 資料型別 | 說明 | 是否必填欄位 | 備註 |
---|---|---|---|---|
get_action | 整型(0、1) | 是否返回事務的action列表。0:不返回;1:返回。 |
否 | oms:3.38.1 |
Data引數
使用json格式表示記錄相關資訊,示例如下:
{
"get_action": 0
}
返回語法
返回引數說明
-
返回狀態碼不為200時,獲取資訊失敗,返回資料為錯誤資訊
-
返回狀態碼為200,表示成功獲取事務詳情
事務各欄位說明
欄位名稱 | 欄位型別 | 欄位含義 |
---|---|---|
Id | uint32 | 事務id |
SetId | uint32 | 事務所在叢集的set id |
AppId | int32 | app id ,部分型別的事務的app id無意義,也沒有值 |
ZoneId | int32 | zone id,部分型別的事務的zone id無意義,也沒有值 |
Type |
uint32 | 事務型別 |
Status | uint32 | 狀態碼 ,各狀態碼含義見本介面的“事務狀態(status)列表,及使用webservice介面可實現的狀態轉化”說明 |
CanRedo | tinyint | 能否重做 |
CanSuspend | tinyint | 能否掛起 |
CanRollback | tinyint | 能否回滾 |
Reason | uint32 | 狀態原因碼 |
Num | uint32 | 涉及的資源數目 |
IdName | string | 表名、程序ID、節點名稱等資訊 |
Data | string | 資料資訊 |
Memo | string | 備註資訊 |
CreateUser | string | 事務建立者 |
CreateTime | datetime | 事務建立時間 |
UpdateTime | datetime | 事務更新時間 |
ExtendInfo | string | 對於擴容/縮容事務,該欄位儲存CleanShardData事務的ID,對於CleanShardData事務,該欄位儲存擴容/縮容的事務ID,如cmId=72415;其他用法自行定義 |
MaxConcurrentCount | uint32 | 事務內最大並行action數, 最大值為10 |
事務的action的各欄位說明
欄位名稱 | 欄位型別 | 欄位含義 |
---|---|---|
TransId | uint32 | action所屬事務的事務id |
Id | uint32 | action id |
AppId | int32 | app id |
ZoneId | int32 | zone id |
Type | uint32 | action型別 |
Status | uint32 | 狀態碼 ,各狀態碼含義如下: Status = 1:初始化中 Status = 2:資源就緒,待執行 Status = 3:執行中 Status = 4:掛起 Status = 5:回滾中 Status = 6:完成 Status = 7:已結束 Status = 8:待恢復 Status = 9:跳過 |
Reason | uint32 | 狀態原因碼 |
Num | uint32 | 涉及的資源數目 |
IdName | string | 表操作存表名;程序操作存程序id |
Data | string | 資料資訊 |
Context | string | action執行時的上下文資訊 |
CreateTime | datetime | 建立時間 |
ExecuteTime | datetime | 執行時間 |
UpdateTime | datetime | 更新時間 |
事務狀態(status)列表,及使用webservice介面可實現的狀態轉化
狀態a | 狀態a可轉化的狀態b | 狀態a => 狀態b使用的oms的介面 |
---|---|---|
待點選執行(Status = 1) | 等待執行佇列中;異常結束 | 執行事務(webservice可呼叫);異常結束事務(webservice不可呼叫) |
等待執行佇列中(Status = 2) | 無 | |
執行前準備中(Status = 3) | 無 | |
執行中(Status = 4) | 掛起 | 掛起事務(webservice不可呼叫) |
掛起中(Status = 5) | 待恢復;異常結束 | 恢復事務(webservice可呼叫);異常結束事務 |
待恢復(Status = 6) | 無 | |
待回滾(Status = 7) | 無 | |
回滾中(Status = 8) | 異常結束 | 異常結束事務 |
已成功完成(Status = 9),此狀態為事務結束狀態,不能再進行相關操作 | 無 | |
異常結束(Status = 10),此狀態為事務結束狀態,不能再進行相關操作 | 無 | |
已暫停(Status = 1000) |
請求示例
通過 curl 方法發起請求
命令中的紅色部分是需要使用者自行填寫的引數,請參閱
curl -H "Content-type: application/json" -X "GET" -d '{ "get_action": 0 }' http://omsaddress/app/newoms.php/webservice/oamp/transaction/detail/%3Cset_id%3E/%3Ctrans_id%3E?cmd=cmdVal&ip-type=webservicerest&access-token=<access-token>&set_id=<set_id>&trans_id=<trans_id>
返回示例
成功返回示例
http請求的Status=200
1.成功查詢加表事務的詳情的用例
{
"Id": 300,
"AppId": 2,
"ZoneId": 5,
"Type": 283,
"Status": 9,
"Reason": 0,
"Num": 0,
"IdName": "add_table350",
"Data": "proxy@;tcapsvr@master#1",
"Memo": "AddTableManual",
"CreateUser": "tcaplus",
"CreateTime": "2021-07-23 16:17:20",
"UpdateTime": "2021-07-23 16:17:47",
"CanRedo": 1,
"CanSuspend": 1,
"CanRollback": 1,
"SetId": 1,
"ExtendInfo": "",
"MaxConcurrentCount": 10,
"StatusText": "已成功完成"
}
2.成功查詢修改表事務的詳情的用例
{
"Id": 405,
"AppId": 2,
"ZoneId": 3,
"Type": 281,
"Status": 10,
"CanRedo": 1,
"CanSuspend": 1,
"CanRol lback": 1,
"Reason": 2,
"Num": 0,
"IdName": "test_table_generic_modify",
"Data": "fc448894b1fc2e22ece9a6873b33c7b6",
"Memo": "ModifyTable",
"CreateUser": "tcaplus",
"CreateTime": "2017-03-02 21:38:30",
"UpdateTime": "2017-03-02 21:41:37",
"SetId": 126,
"ExtendInfo": "",
"MaxConcurrentCount": 10
}
3.成功查詢清理表事務的詳情的用例
{
"Id": 408,
"AppId": 2,
"ZoneId": 3,
"Type": 279,
"Status": 9,
"CanRedo": 1,
"CanSuspend": 1,
"CanRollback": 1,
"Reason": 0,
"Num": 0,
"IdName": "test_table_generic_modify",
"Data": "",
"Memo": "TruncateTable",
"CreateUser": "tcaplus",
"CreateTime": "2017-03-02 21:57:56",
"UpdateTime": "2017-03-02 22:00:29",
"SetId": 126,
"ExtendInfo": "",
"MaxConcurrentCount": 10
}
4.成功查詢刪除表事務的詳情的用例
{
"Id": 411,
"AppId": 2,
"ZoneId": 3,
"Type": 363,
"Status": 9,
"CanRedo": 1,
"CanSuspend": 1,
"CanRollback": 1,
"Reason": 0,
"Num": 0,
"IdName": "test_table_generic_modify",
"Data": "",
"Memo": "DeleteTable",
"CreateUser": "tcaplus",
"CreateTime": "2017-03-02 22:12:49",
"UpdateTime": "2017-03-02 22:17:38",
"SetId": 126,
"ExtendInfo": "",
"MaxConcurrentCount": 10
}
錯誤返回
http請求的Status!=200
{
"name": "Unauthorized",
"message": "You are requesting with an invalid credential.",
"code": 0,
"status": 401,
"type": "yii\\web UnauthorizedHttpException"
}
{
"trans_id": [
"for the cmd(cmd:10004),can only get those transaction of which type is in 279,type of transaction(id:411) is 363"
]
}