溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在準(zhǔn)備好AccessKey之后使用ECS SDK

發(fā)布時(shí)間:2020-07-13 09:53:15 來源:億速云 閱讀:149 作者:Leah 欄目:建站服務(wù)器

如何在準(zhǔn)備好AccessKey之后使用ECS SDK?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

ECS SDK 使用示例

新版 SDK 的文件名通常以 aliyun-XXXX-sdk 開頭,后面跟上產(chǎn)品名稱如 ECS,組成如 aliyun-java-sdk-ecs 的包名。其中有一個(gè)核心包 aliyun-java-sdk-core,其中封裝了所有產(chǎn)品的 SDK 都會用到的一些類,如 IClientProfile 類、 IAcsClient 類、異常類等。產(chǎn)品相關(guān)的類均以產(chǎn)品為單位打包成不同名稱的 Jar 包。

前提條件

您需要準(zhǔn)備好您的 AccessKey,用于輸出到 創(chuàng)建 Profile 中。

Java SDK 使用方法示例

以 ECS Java SDK 查詢可用鏡像資源的方法 DescribeImages 為例,介紹 SDK 使用的完整流程,其中 IClientProfile 和 IAcsClient 兩個(gè)類包含在 aliyun-java-sdk-core 包中,其他的類均包含在 aliyun-java-sdk-ecs 包中。

創(chuàng)建 Profile。生成 IClientProfile 的對象 profile,該對象存放 AccessKeyID 和 AccessKeySecret 和默認(rèn)的地域信息,如示例中的 cn-hangzhou,更多關(guān)于地域的信息,參閱 地域與可用區(qū)。

IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ak, aks); #ak 是您的 AccessKey,aks 是您的 AccessKeySecret

創(chuàng)建 Client。從 IClientProfile 類中再生成 IAcsClient 的對象 client,后續(xù)獲得 response 都需要從 IClientProfile 中獲得。

IAcsClient client = new DefaultAcsClient(profile);

創(chuàng)建 Request。創(chuàng)建一個(gè)對應(yīng)方法的 Request,類的命名規(guī)則一般為 API 的方法名加上 “Request”,如獲得鏡像列表的 API 方法名為 DescribeImages,那么對應(yīng)的請求類名就是 DescribeImagesRequest,直接使用構(gòu)造函數(shù)生成一個(gè)默認(rèn)的類 describe。

DescribeImagesRequest describe = new DescribeImagesRequest();

設(shè)置 Request 的參數(shù)。請求類生成好之后需要通過 Request 類的 setXxx 方法設(shè)置必要的信息,即 API 參數(shù)中必須要提供的信息,DescribeImages 的 API 方法必須要提供的參數(shù)為 RegionId,該值可以省略,因?yàn)?IClientProfile 中已經(jīng)提供了地域信息,同樣的也可以通過 setXxx 方法設(shè)置其他可選的參數(shù),如這里設(shè)置要查詢的鏡像為自定義鏡像,則設(shè)置 ImageOwnerAlias 的值為 self,表示查詢您的自定義鏡像。

describe.setImageOwnerAlias("self");

參數(shù)設(shè)置完畢后,通過 IAcsClient 對象獲得對應(yīng) Request 的響應(yīng)。

DescribeImagesResponse response = client.getAcsResponse(describe);

在 Response 中獲得返回的參數(shù)值。接著可以調(diào)用 response 中對應(yīng)的 getXxx 方法獲得返回的參數(shù)值了,如獲得某個(gè)鏡像的名字。根據(jù) API 方法的不同,返回的信息中可能會包含多層的信息,如獲得鏡像列表這個(gè)方法,返回的信息中鏡像是以一個(gè)集合來表示的,集合中存放了每個(gè)鏡像的信息,對于 Java SDK 而言,那么存放鏡像信息的就是一個(gè)列表,需要先通過 getImages() 獲得 Image 對象的集合,然后再通過遍歷等方法取得其中某個(gè)鏡像的信息,之后調(diào)用 getXxx 方法獲得具體的信息。

for(Image image:response.getImages())
         {
             System.out.println(image.getImageId());
             System.out.println(image.getImageName());
         }

至此,一個(gè)完整的調(diào)用就完成了。

PHP SDK 注意事項(xiàng)

使用 PHP SDK 和 Java SDK 的類似,可以歸納為:

創(chuàng)建 Profile。

創(chuàng)建 Client。

創(chuàng)建 Request。

設(shè)置 Request的參數(shù)。

使用 Client 對應(yīng)的方法傳入 Request,獲得 Response。

在 Response 中獲得返回的參數(shù)值。

Python SDK 注意事項(xiàng)

使用 Python SDK 省略了創(chuàng)建 Profile 這一步,直接創(chuàng)建 Client,然后執(zhí)行后面的步驟即可。

看完上述內(nèi)容,你們掌握如何在準(zhǔn)備好AccessKey之后使用ECS SDK的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI