更新时间:2024-10-09 GMT+08:00

获取异步任务结果

功能介绍

获取异步任务结果。

调用方法

请参见如何调用API

URI

GET /v2/{project_id}/apigw/instances/{instance_id}/async-tasks/{task_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

instance_id

String

实例ID,在API网关控制台的“实例信息”中获取。

task_id

String

异步任务ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

task_id

String

任务id

task_status

String

任务状态。waiting等待处理,processing处理中,succeed成功,failed失败。

枚举值:

  • waiting
  • processing
  • succeed
  • failed

task_type

String

任务类型。 import_api为异步导入api,export_api为异步导出api。

枚举值:

  • import_api
  • export_api

task_result

String

任务结果。string可转成json object。 当task_type为import_api时,字段包括API分组编号group_id、success数组、failure数组、swagger结构体、ignore数组。其中success数组元素中包括4个字段,导入成功的API编号id、API请求方法method、API请求路径path、导入行为action(枚举值,update表示更新API,create表示新建API)。failure数组元素中包括4个字段,API请求方法method、API请求路径path、导入失败的错误码error_code、导入失败的错误信息error_msg。swagger结构体包括2个字段,swagger文档编号id、导入结果说明result。ignore数组元素包括API请求方法method、API请求路径path。 当task_type为export_api时,字段包括导出文件类型file_type、导出文件内容content。

状态码: 400

表4 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

响应示例

状态码: 200

OK

  • 示例 1
    {
      "task_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2",
      "task_status" : "succeed",
      "task_type" : "import_api",
      "task_result" : "{\"success\":[{\"id\":\"ee93ce6815f04896b301452982b92222\",\"action\":\"create\",\"method\":\"GET\",\"path\":\"/test1\"}],\"failure\":[],\"swagger\":{\"id\":\"de1852ab6c5e4090b0bd88a02058e650\",\"result\":\"Success\"},\"group_id\":\"9100ae30705947cc9543d37cd7fb388c\"}"
    }
  • 示例 2
    {
      "task_id" : "d6e8834b6f0f4711a2fa5345e5b60833",
      "task_status" : "succeed",
      "task_type" : "export_api",
      "task_result" : "{\"FileName\":\"test8-RELEASE-all-2023-07-11-19:54:22\",\"FileType\":\".json\",\"Comment\":\"{\\n\\t\\\"swagger\\\": \\\"2.0\\\",\\n\\t\\\"info\\\": {\\n\\t\\t\\\"title\\\": \\\"test8\\\",\\n\\t\\t\\\"version\\\": \\\"2023-07-11-19:54:22\\\"\\n\\t},\\n\\t\\\"host\\\": \\\"9100ae30705947cc9543d37cd7fb388c.example.com\\\",\\n\\t\\\"paths\\\": {\\n\\t\\t\\\"/test1\\\": {\\n\\t\\t\\t\\\"get\\\": {\\n\\t\\t\\t\\t\\\"security\\\": [\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\\"apig-auth-app\\\": []\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"schemes\\\": [\\n\\t\\t\\t\\t\\t\\\"https\\\"\\n\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\\"operationId\\\": \\\"API_zjev\\\",\\n\\t\\t\\t\\t\\\"responses\\\": {\\n\\t\\t\\t\\t\\t\\\"default\\\": {\\n\\t\\t\\t\\t\\t\\t\\\"$ref\\\": \\\"#/responses/default\\\"\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\\"x-apigateway-result-failure-sample\\\": \\\"\\\",\\n\\t\\t\\t\\t\\t\\\"x-apigateway-result-normal-sample\\\": \\\"\\\"\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"x-apigateway-backend\\\": {\\n\\t\\t\\t\\t\\t\\\"mockEndpoints\\\": {\\n\\t\\t\\t\\t\\t\\t\\\"description\\\": \\\"\\\",\\n\\t\\t\\t\\t\\t\\t\\\"result-content\\\": \\\"not ok\\\"\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\\"type\\\": \\\"MOCK\\\"\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"x-apigateway-cors\\\": false,\\n\\t\\t\\t\\t\\\"x-apigateway-match-mode\\\": \\\"NORMAL\\\",\\n\\t\\t\\t\\t\\\"x-apigateway-request-type\\\": \\\"public\\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\t\\\"responses\\\": {\\n\\t\\t\\\"default\\\": {\\n\\t\\t\\t\\\"description\\\": \\\"response example\\\"\\n\\t\\t}\\n\\t},\\n\\t\\\"securityDefinitions\\\": {\\n\\t\\t\\\"apig-auth-app\\\": {\\n\\t\\t\\t\\\"type\\\": \\\"apiKey\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Authorization\\\",\\n\\t\\t\\t\\\"in\\\": \\\"header\\\",\\n\\t\\t\\t\\\"x-apigateway-auth-type\\\": \\\"AppSigv1\\\"\\n\\t\\t},\\n\\t\\t\\\"apig-auth-app-header\\\": {\\n\\t\\t\\t\\\"type\\\": \\\"apiKey\\\",\\n\\t\\t\\t\\\"name\\\": \\\"Authorization\\\",\\n\\t\\t\\t\\\"in\\\": \\\"header\\\",\\n\\t\\t\\t\\\"x-apigateway-auth-opt\\\": {\\n\\t\\t\\t\\t\\\"appcode-auth-type\\\": \\\"header\\\"\\n\\t\\t\\t},\\n\\t\\t\\t\\\"x-apigateway-auth-type\\\": \\\"AppSigv1\\\"\\n\\t\\t},\\n\\t\\t\\\"apig-auth-iam\\\": {\\n\\t\\t\\t\\\"type\\\": \\\"apiKey\\\",\\n\\t\\t\\t\\\"name\\\": \\\"unused\\\",\\n\\t\\t\\t\\\"in\\\": \\\"header\\\",\\n\\t\\t\\t\\\"x-apigateway-auth-type\\\": \\\"IAM\\\"\\n\\t\\t}\\n\\t}\\n,\\n\\t\\\"x-apigateway-responses\\\": {}\\n}\"}"
    }
  • 示例 3
    {
      "task_id" : "f01d2772ea4944408fa544c8ae5a9999",
      "task_status" : "failed",
      "task_type" : "import_api",
      "task_result" : "{\"error_code\":\"APIG.3201\",\"error_msg\":\"The API group name already exists\"}"
    }
  • 示例 4
    {
      "task_id" : "4dfbf6acaacf4c41a8b3c50daa90d3dc",
      "task_status" : "processing",
      "task_type" : "import_api",
      "task_result" : ""
    }
  • 示例 5
    {
      "task_id" : "c3b78a52fb28461aab92bf6c6989f731",
      "task_status" : "waiting",
      "task_type" : "import_api",
      "task_result" : ""
    }

状态码: 400

Bad Request

{
  "error_code" : "APIG.2001",
  "error_msg" : "The request parameters must be specified,parameterName:task_id. Please refer to the support documentation"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

状态码: 404

Not Found

{
  "error_code" : "APIG.3093",
  "error_msg" : "The asynchronous task d9ce8c9eede54b3f841ec324fe0bfdc2 does not exist"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码