功能介紹
該API用于獲取任務(wù)信息。通過某一任務(wù)請求下發(fā)后返回的jobID來查詢指定任務(wù)的進度。
-
集群管理的URL格式為:https://Endpoint/uri。其中uri為資源路徑,也即API訪問的路徑
-
該接口通常使用場景為:
-
創(chuàng)建、刪除集群時,查詢相應(yīng)任務(wù)的進度。
-
創(chuàng)建、刪除節(jié)點時,查詢相應(yīng)任務(wù)的進度。
-
調(diào)用方法
請參見如何調(diào)用API。
URI
GET /api/v3/projects/{project_id}/jobs/{job_id}
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
項目ID,獲取方式請參見如何獲取接口URI中參數(shù)。 |
|
job_id |
是 |
String |
任務(wù)ID,獲取方式請參見如何獲取接口URI中參數(shù)。 |
請求參數(shù)
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
Content-Type |
是 |
String |
消息體的類型(格式) |
|
X-Auth-Token |
是 |
String |
調(diào)用接口的認證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。 |
響應(yīng)參數(shù)
狀態(tài)碼: 200
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
kind |
String |
API類型,固定值“Job”,該值不可修改。 |
|
apiVersion |
String |
API版本,固定值“v3”,該值不可修改。 |
|
metadata |
任務(wù)元數(shù)據(jù)。 |
|
|
spec |
任務(wù)詳細參數(shù)。 |
|
|
status |
任務(wù)狀態(tài)信息。 |
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
type |
String |
任務(wù)的類型,例:“CreateCluster”- 創(chuàng)建集群。 |
|
clusterUID |
String |
任務(wù)所在的集群的ID。 |
|
resourceID |
String |
任務(wù)操作的資源ID。 |
|
resourceName |
String |
任務(wù)操作的資源名稱。 |
|
extendParam |
Map<String,String> |
擴展參數(shù)。 |
|
subJobs |
子任務(wù)的列表。
|
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
kind |
String |
API類型,固定值“Job”,該值不可修改。 |
|
apiVersion |
String |
API版本,固定值“v3”,該值不可修改。 |
|
metadata |
任務(wù)元數(shù)據(jù)。 |
|
|
spec |
任務(wù)詳細參數(shù)。 |
|
|
status |
任務(wù)狀態(tài)信息。 |
請求示例
無
響應(yīng)示例
狀態(tài)碼: 200
表示獲取任務(wù)信息成功。
{
"kind" : "Job",
"apiVersion" : "v3",
"metadata" : {
"uid" : "354331b2c-229a-11e8-9c75-0255ac100ceb",
"creationTimestamp" : "2018-08-02 08:12:40.672772389 +0000 UTC",
"updateTimestamp" : "2018-08-02 08:21:50.478108569 +0000 UTC"
},
"spec" : {
"type" : "CreateCluster",
"clusterUID" : "4d1ecb2c-229a-11e8-9c75-0255ac100ceb",
"resourceID" : "6f4dcb2c-229a-11e8-9c75-0255ac100ceb",
"resourceName" : "cluster-name",
"extendParam" : {
"serverID" : "bc467e3a-2338-11e8-825b-0255ac100c13"
},
"subJobs" : [ {
"kind" : "Job",
"apiVersion" : "v3",
"metadata" : {
"uid" : "fd474fab-9606-11e8-baa9-0255ac10215d",
"creationTimestamp" : "2018-08-02 03:52:34.615819618 +0000 UTC",
"updateTimestamp" : "2018-08-02 04:05:29.196243031 +0000 UTC"
},
"spec" : {
"type" : "InstallMaster",
"clusterUID" : "fcc72de0-9606-11e8-baa8-0255ac10215d",
"resourceID" : "fd3b4ac0-9606-11e8-baa8-0255ac10215d",
"extendParam" : {
"serverID" : "fd3b4ac0-9606-11e8-baa8-0255ac10215d"
}
},
"status" : {
"phase" : "Success"
}
}, {
"kind" : "Job",
"apiVersion" : "v3",
"metadata" : {
"uid" : "fd474f82-9606-11e8-baa8-0255ac10215d",
"creationTimestamp" : "2018-08-02 03:52:33.859150791 +0000 UTC",
"updateTimestamp" : "2018-08-02 03:52:34.615655429 +0000 UTC"
},
"spec" : {
"type" : "CreatePSMCert",
"clusterUID" : "fcc72de0-9606-11e8-baa8-0255ac10215d"
},
"status" : {
"phase" : "Success"
}
} ]
},
"status" : {
"phase" : "Running",
"reason" : ""
}
}
SDK代碼示例
SDK代碼示例如下。
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.cce.v3.region.CceRegion;
import com.huaweicloud.sdk.cce.v3.*;
import com.huaweicloud.sdk.cce.v3.model.*;
public class ShowJobSolution {
public static void main(String[] args) {
String ak = "<YOUR AK>";
String sk = "<YOUR SK>";
String projectId = "<project_id>";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
CceClient client = CceClient.newBuilder()
.withCredential(auth)
.withRegion(CceRegion.valueOf("cn-north-4"))
.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());
}
}
}
# coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcce.v3.region.cce_region import CceRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcce.v3 import *
if __name__ == "__main__":
ak = "<YOUR AK>"
sk = "<YOUR SK>"
projectId = "<project_id>"
credentials = BasicCredentials(ak, sk, projectId) \
client = CceClient.new_builder() \
.with_credentials(credentials) \
.with_region(CceRegion.value_of("cn-north-4")) \
.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)
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
)
func main() {
ak := "<YOUR AK>"
sk := "<YOUR SK>"
projectId := "<project_id>"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := cce.NewCceClient(
cce.CceClientBuilder().
WithRegion(region.ValueOf("cn-north-4")).
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的代碼示例頁簽,可生成自動對應(yīng)的SDK代碼示例。
狀態(tài)碼
|
狀態(tài)碼 |
描述 |
|---|---|
|
200 |
表示獲取任務(wù)信息成功。 |
錯誤碼
請參見錯誤碼。
