更新时间:2025-08-26 GMT+08:00
分享

查询异步任务的job状态

功能介绍

用于查询实例复制、实例升级等异步接口任务的状态

调用方法

请参见如何调用API

URI

GET /v3/{project_id}/elb/jobs/{job_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:项目ID。获取方式请参见获取项目ID

约束限制:不涉及

取值范围:长度为32个字符,由小写字母和数字组成。

默认取值:不涉及

job_id

String

任务ID

请求参数

响应参数

状态码:200

表2 响应Body参数

参数

参数类型

描述

job

MainJob object

参数解释:实例复制等异步任务查询的响应体定义。

request_id

String

参数解释:请求ID。

取值范围:由数字、小写字母和中划线(-)组成的字符串,自动生成。

表3 MainJob

参数

参数类型

描述

status

String

任务状态

begin_time

String

任务开始时间

end_time

String

任务结束时间

job_id

String

任务ID

job_type

String

任务类型

error_code

String

任务的错误码

error_msg

String

任务的错误信息

project_id

String

项目ID

resource_id

String

参数解释:资源ID。

sub_jobs

Array of SubJob objects

参数解释:子任务列表。

表4 SubJob

参数

参数类型

描述

status

String

任务状态

begin_time

String

任务开始时间

end_time

String

任务结束时间

job_id

String

任务ID

job_type

String

任务类型

error_code

String

任务的错误码

error_msg

String

任务的错误信息

project_id

String

项目ID

resource_id

String

参数解释:资源ID。

entities

Array of JobEntities objects

参数解释:任务关联的资源列表。

表5 JobEntities

参数

参数类型

描述

resource_id

String

参数解释:子任务关联的资源ID。

取值范围:不涉及

resource_type

String

参数解释:子任务关联的资源类型。

取值范围:不涉及

请求示例

https://elb.cn-southwest-242.myhuaweicloud.com/v3/7b7705dce1e847b08b3b16dda67fec24/elb/jobs/37d5c1fd-fa57-4c6d-bdcd-d523095c05e8

响应示例

状态码:200

查询成功

{
  "job" : {
    "status" : "COMPLETE",
    "begin_time" : "2024-03-23T08:20:42Z",
    "end_time" : "2024-03-23T08:49:11Z",
    "job_id" : "ef6da45b-35d9-4c18-8c35-0b80d94ab9e6",
    "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
    "job_type" : "UPGRADE",
    "error_code" : "",
    "error_msg" : "",
    "project_id" : "7b7705dce1e847b08b3b16dda67fec24",
    "sub_jobs" : [ {
      "status" : "SUCCESS",
      "entities" : [ {
        "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
        "resource_type" : "loadbalancer"
      } ],
      "begin_time" : "2024-03-23T08:47:11Z",
      "end_time" : "2024-03-23T08:47:11Z",
      "job_id" : "481a5ab3-b3ff-46fa-b074-d3b8e09ab9cb",
      "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
      "job_type" : "UPGRADE_TRAFFIC_SWITCH",
      "error_code" : "",
      "error_msg" : "",
      "project_id" : "7b7705dce1e847b08b3b16dda67fec24"
    }, {
      "status" : "SUCCESS",
      "entities" : [ {
        "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
        "resource_type" : "loadbalancer"
      } ],
      "begin_time" : "2024-03-23T08:20:42Z",
      "end_time" : "2024-03-23T08:46:44Z",
      "job_id" : "c4cf4e5b-fa53-427d-ad43-497e7a876c2e",
      "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
      "job_type" : "UPGRADE_INIT",
      "error_code" : "",
      "error_msg" : "",
      "project_id" : "7b7705dce1e847b08b3b16dda67fec24"
    }, {
      "status" : "SUCCESS",
      "entities" : [ {
        "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
        "resource_type" : "loadbalancer"
      } ],
      "begin_time" : "2024-03-23T08:49:11Z",
      "end_time" : "2024-03-23T08:49:11Z",
      "job_id" : "ee56e027-5d52-4bd9-abba-9821a742a466",
      "resource_id" : "9f5b432c-987e-4777-a1bc-6642be4b2b50",
      "job_type" : "UPGRADE_COMPLETE",
      "error_code" : "",
      "error_msg" : "",
      "project_id" : "7b7705dce1e847b08b3b16dda67fec24"
    } ]
  },
  "request_id" : "39551f69-3c49-4200-8ad3-73f9a8b4a3e4"
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.elb.v3.region.ElbRegion;
import com.huaweicloud.sdk.elb.v3.*;
import com.huaweicloud.sdk.elb.v3.model.*;


public class ShowJobSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        ElbClient client = ElbClient.newBuilder()
                .withCredential(auth)
                .withRegion(ElbRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowJobRequest request = new ShowJobRequest();
        request.withJobId("{job_id}");
        try {
            ShowJobResponse response = client.showJob(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkelb.v3.region.elb_region import ElbRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkelb.v3 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = ElbClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ElbRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowJobRequest()
        request.job_id = "{job_id}"
        response = client.show_job(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    elb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/elb/v3/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := elb.NewElbClient(
        elb.ElbClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowJobRequest{}
	request.JobId = "{job_id}"
	response, err := client.ShowJob(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

查询成功

错误码

请参见错误码

相关文档