閱讀741 返回首頁    go 人物


SDK使用方法和具體代碼編寫步驟__SDK 參考_雲服務器 ECS-阿裏雲

新版SDK的文件名通常以 aliyun-java-sdk 開頭,後麵跟上產品名稱如ECS,組成如 aliyun-java-sdk-ecs 的包名。其中有一個核心包 aliyun-java-sdk-core,其中封裝了所有產品的SDK都會用到的一些類,如IClientProfile類、IAcsClient類、異常類等。產品相關的類均以產品為單位打包成不同名稱的jar包。

下麵以 ECS Java SDK 獲得鏡像的方法 DescribeImages 為例,介紹 SDK 使用的完整流程,其中 IClientProfile 和 IAcsClient 兩個類包含在 aliyun-java-sdk-core 包中,其他的類均包含在 aliyun-java-sdk-ecs 包中。

  1. 生成 IClientProfile 的對象 profile,該對象存放 Access Key ID 和 Access Key Secret 和默認的地域信息:

    1. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ak, aks);
  2. 從 IClientProfile 類中再生成 IAcsClient 的對象 client,後續獲得 response 都需要從 IClientProfile 中獲得。 IAcsClient client = new DefaultAcsClient(profile);

  3. 創建一個對應方法的 Request,類的命名規則一般為 API 的方法名加上 “Request”,如獲得鏡像列表的 API 方法名為 DescribeImages,那麼對應的請求類名就是 DescribeImagesRequest,直接使用構造函數生成一個默認的類 describe:

    1. DescribeImagesRequest describe = new DescribeImagesRequest();
  4. 請求類生成好之後需要通過 Request 類的 setXxx 方法設置必要的信息,即 API 參數中必須要提供的信息,DescribeImages 的 API 方法必須要提供的參數為 RegionId,該值可以省略,因為 IClientProfile 中已經提供了地域信息,同樣的也可以通過 setXxx 方法設置其他可選的參數,如這裏設置要查詢的鏡像為自定義鏡像,則設置 ImageOwnerAlias 的值為 “self”(self即表示查詢自定義鏡像),即:

    1. describe.setImageOwnerAlias("self");
  5. 參數設置完畢後就可以通過 IAcsClient 對象來獲得對應 Request 的響應了:

    1. DescribeImagesResponse response = client.getAcsResponse(describe);
  6. 接著可以調用 response 中對應的 getXxx 方法獲得返回的參數值了,如獲得某個鏡像的名字。根據 API 方法的不同,返回的信息中可能會包含多層的信息,如獲得鏡像列表這個方法,返回的信息中鏡像是以一個集合來表示的,集合中存放了每個鏡像的驚喜,對於 Java SDK 而言,那麼存放鏡像信息的就是一個列表,需要先通過 getImages() 獲得 Image 對象的集合,然後再通過遍曆等方法取得其中某個鏡像的信息,之後調用 getXxx 方法獲得具體的信息:for(Image image:response.getImages())

    1. {
    2. System.out.println(image.getImageId());
    3. System.out.println(image.getImageName());
    4. }
  7. 至此,一個完整的調用就完成了。

說明:

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

  1. 創建 profile
  2. 創建 client
  3. 創建 Request
  4. 設置 Request的參數
  5. 使用 client對應的方法傳入 request,獲得 response
  6. 在 response 中獲得返回的參數值

Python 的 SDK 省略了 profile 創建這一步,直接創建 client,然後執行後麵的步驟即可。

最後更新:2016-11-23 16:04:12

  上一篇:go 下載、安裝阿裏雲新版Java SDK__SDK 參考_雲服務器 ECS-阿裏雲
  下一篇:go 無法訪問ECS上的網站__故障處理_雲服務器 ECS-阿裏雲