Consulta del resultado de una tarea asincrónica
Función
Esta API se utiliza para consultar el resultado de una tarea asincrónica.
Método de invocación
Para obtener más información, véase invocación de API.
URI
GET /v2/{project_id}/apigw/instances/{instance_id}/async-tasks/{task_id}
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
project_id |
Sí |
String |
ID del proyecto. Para obtener más información sobre cómo obtenerlo, véase Obtención de un ID de proyecto. |
|
instance_id |
Sí |
String |
ID de gateway, que se puede obtener de la información de gateway en la consola de APIG. |
|
task_id |
Sí |
String |
ID de tarea asincrónica. |
Parámetros de solicitud
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token. |
Parámetros de respuesta
Código de estado: 200
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
task_id |
String |
ID de la tarea. |
|
task_status |
String |
Estado de la tarea. Opciones: waiting, processing, succeed y failed. |
|
task_type |
String |
Tipo de tarea. Opciones: import_api y export_api. Ambos tipos de tareas son asincrónicas. |
|
task_result |
String |
Resultado de la tarea. Una cadena se puede convertir en un objeto JSON. Si task_type se establece en import_api, los campos incluyen group_id, success (matriz), failure (matriz), swagger (estructura), and ignore (matriz). La matriz correcta contiene cuatro campos: id (ID de una API importada correctamente), method (método de solicitud API), path y action (actualizar o crear). La matriz de errores también contiene cuatro campos: method (método de solicitud API), path (código de error de importación), error_code (código de error de importación) y error_msg (mensaje de error de importación). La estructura swagger contiene dos campos: id (ID de archivo swagger) y result (resultado de importación). La matriz de ignore tiene dos elementos: method (método de solicitud API) y path (ruta de solicitud API). Si task_type se establece en export_api, los campos incluyen file_type y content. |
Código de estado: 400
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 401
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 403
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 404
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 500
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Ejemplo de las solicitudes
Ninguno
Ejemplo de respuestas
Código de estado: 200
Aceptar
-
Ejemplo 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\"}" } -
Ejemplo 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.apic.cn-north-7.huaweicloudapis.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}\"}" } -
Ejemplo 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\"}" } -
Ejemplo 4
{ "task_id" : "4dfbf6acaacf4c41a8b3c50daa90d3dc", "task_status" : "processing", "task_type" : "import_api", "task_result" : "" } -
Ejemplo 5
{ "task_id" : "c3b78a52fb28461aab92bf6c6989f731", "task_status" : "waiting", "task_type" : "import_api", "task_result" : "" }
Código de estado: 400
Error en la solicitud
{
"error_code" : "APIG.2001",
"error_msg" : "The request parameters must be specified,parameterName:task_id. Please refer to the support documentation"
}
Código de estado: 401
Sin autorización
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Código de estado: 403
Prohibido
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Código de estado: 404
No se ha encontrado
{
"error_code" : "APIG.3093",
"error_msg" : "The asynchronous task d9ce8c9eede54b3f841ec324fe0bfdc2 does not exist"
}
Código de estado: 500
Error del servidor interno
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Códigos de estado
|
Código de estado |
Descripción |
|---|---|
|
200 |
Aceptar |
|
400 |
Error en la solicitud |
|
401 |
Sin autorización |
|
403 |
Prohibido |
|
404 |
No se ha encontrado |
|
500 |
Error del servidor interno |
Códigos de error
Consulte Códigos de error.