查询指定事务的详细信息,目前只支持查询加表、变更表、删除表、清空表、复制表数据五种事务的查询,其沿用加表、修改表、清理表、删除表、复制表数据的权限。
请求地址
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 方法发起请求
命令中的红色部分是需要用户自行填写的参数,请参阅url中GET参数说明
返回示例
成功返回示例
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" ] }
TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。