一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

開發(fā)SDK的使用教程【面試+工作】

 Java幫幫 2020-01-02


開發(fā)SDK的使用教程【面試+工作】

最近很多人反映工作中SDK不會用,

這個說實話不是個難點,只是你不敢操作。

下面以TFS使用和阿里SDK做教程


TFS SDK使用


一、下載必要的軟件

    - Eclipse安裝程序 http://www./ 

    - JDK http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

二、創(chuàng)建Java項目,并導(dǎo)入TFS SDK

在Java項目中創(chuàng)建目錄tfssdk,并將SDK中的文件復(fù)制到該目錄下;將SDK中的文檔做成zip文檔,并復(fù)制到tfssdk目錄下(tfs-sdk-11.0-javadoc.zip)

打開項目屬性

添加JAR,并配置庫位置和文檔位置

三、創(chuàng)建并運行樣例代碼

添加一個樣例代碼:創(chuàng)建要求工作項

運行代碼,成功


阿里云 SDK使用

一.快速開始

歡迎使用阿里云開發(fā)者工具套件(SDK)。阿里云Java SDK讓您不用復(fù)雜編程即可訪問云服務(wù)器、云監(jiān)控等多個阿里云服務(wù)。這里向您介紹如何獲取阿里云Java SDK并開始調(diào)用。

1.環(huán)境準備

  1. 要使用阿里云Java SDK,您需要一個RAM賬號以及一對AccessKey IDAccessKey Secret。 請在阿里云控制臺中的AccessKey管理頁面上創(chuàng)建和查看您的AccessKey,或聯(lián)系您的系統(tǒng)管理員。

  2. 要使用阿里云SDK訪問某個產(chǎn)品的API,您需要事先在阿里云控制臺中開通這個產(chǎn)品。

  3. 阿里云Java SDK需要1.6以上的JDK。

2.安裝SDK

如果您使用Apache Maven來管理Java項目,只需在項目的pom.xml文件加入相應(yīng)的依賴項即可。您可以在阿里云SDK頻道中下載各云產(chǎn)品的Maven依賴。

無論您要使用哪個產(chǎn)品的開發(fā)工具包,都必須安裝SDK核心庫。比如,對云服務(wù)器ECS的SDK調(diào)用,您需要安裝SDK核心庫和云服務(wù)器ECS的SDK。

以3.5.0版本的SDK核心庫和3.0.0版本的ECS SDK為例,您只需在pom.xml中聲明這兩個開發(fā)工具包,如下所示:

3.使用Java SDK

以下這個代碼示例向您展示了調(diào)用阿里云Java SDK的3個主要步驟:

  1. 創(chuàng)建DefaultAcsClient實例并初始化。

  2. 創(chuàng)建API請求并設(shè)置參數(shù)。

  3. 發(fā)起請求并處理應(yīng)答或異常。

二、使用手冊


1.使用Java SDK

1.1安裝

阿里云Java SDK支持1.6及以上版本的JDK,提供以下兩種安裝方式:

  • 1.1.1使用Maven(推薦)

    如果您使用了Maven管理依賴,您可以通過向pom.xml中添加以下代碼來安裝阿里云Java SDK。

  • 1.1.2在集成開發(fā)環(huán)境(IDE)中導(dǎo)入JAR文件

    注意: 該安裝方式會在下個主版本中被廢棄,屆時將僅支持通過Maven安裝SDK。

    無論您使用Eclipse還是IntelliJ作為集成開發(fā)環(huán)境,都可以通過導(dǎo)入JAR文件的方式安裝阿里云Java SDK。您可以在阿里云開發(fā)工具包(SDK)中下載各云產(chǎn)品的JAR文件。

    1.1.3Eclipse

    完成以下操作,在Eclipse的項目中安裝阿里云Java SDK:

  • 1.1.3.1將下載的aliyun-java-sdk-XXX.jar文件復(fù)制到您的項目文件夾中。

  • 1.1.3.2在Eclipse中打開您的項目,右鍵單擊該項目,單擊Properties

  • 1.1.3.3在彈出的對話框中,單擊Java Build Path > Libraries > Add JARs,添加下載的JAR文件。

    1.1.3.4單擊Apply and Close。

    1.1.4IntelliJ

    完成以下操作,在IntelliJ的項目中安裝阿里云Java SDK:

  • 1.1.4.1將下載的aliyun-java-sdk-XXX.jar文件復(fù)制到您的項目文件夾中。

  • 1.1.4.2在IntelliJ中打開您的項目,在菜單欄中單擊File > Project Structure。

  • 1.1.4.3在彈出的對話框中,單擊Modules > Dependencies。在出現(xiàn)的列表中單擊add > JARs or directories,選擇要添加的JAR文件。

  • 1.1.4.4單擊Apply,然后單擊OK。

1.2設(shè)置身份驗證憑據(jù)

當使用阿里云SDK訪問阿里云服務(wù)時,您需要提供阿里云賬號進行身份驗證。

目前,Java SDK支持以下幾種身份驗證方式:

驗證方式說明
AccessKey使用AccessKey ID和AccessKey Secret訪問
StsToken使用STS Token訪問
RamRoleArn使用RAM子賬號的AssumeRole方式訪問
EcsRamRole在ECS實例上通過EcsRamRole實現(xiàn)免密驗證
RsaKeyPair使用RSA公私鑰方式(僅日本站支持)

本文以AccessKey為例說明如何設(shè)置憑據(jù)。為了保證您的賬號安全,建議您使用RAM賬號來訪問阿里云服務(wù)。阿里云賬號的AccessKey對擁有的資源有完全的權(quán)限。RAM賬號由阿里云賬號授權(quán)創(chuàng)建,僅有對特定資源限定的操作權(quán)限??醋钕旅娓戒洠簞?chuàng)建AccessKey獲取RAM賬號的AccessKey。

使用AccessKey作為訪問憑據(jù),需要在初始化Client時設(shè)置憑證。

注意:確保包含AccessKey的代碼不會泄漏(例如提交到外部公開的GitHub項目),否則將會危害您的阿里云賬號的信息安全。

1.3發(fā)起調(diào)用

本文以ECS為例,介紹如何使用阿里云Java SDK發(fā)起請求。

1.3.1新建一個AcsClient。


1.3.2創(chuàng)建請求。

  1. 請求類的命名規(guī)范為${apiName}Request,其中

  2. ${apiName}為API名稱,例如DescribeInstances。

  3. 在引入多個產(chǎn)品SDK時,有可能存在Request類同名的情況,請注意按照package區(qū)分。

  4. 發(fā)起調(diào)用并處理應(yīng)答。


  5. 正常情況下,應(yīng)答中的所有字段,都會被反序列化到response中,您可以直接調(diào)用response.getXXX()來獲得應(yīng)答中的字段。


  6. 如果出現(xiàn)了異常,或您需要原始HTTP應(yīng)答的情況下,您可以通過以使用doAction()來獲取原始應(yīng)答。



2.使用CommonRequest進行調(diào)用


2.1CommonRequest調(diào)用方式

當您要訪問的API沒有產(chǎn)品SDK提供時,可以采用泛用型的API調(diào)用方式(CommonRequest)。使用CommonRequest調(diào)用方式可實現(xiàn)任意OpenAPI接口的調(diào)用。

CommonRequest有如下特點:

  1. 輕量:只需Core包即可發(fā)起調(diào)用,無需下載安裝各產(chǎn)品的SDK。

  2. 簡便:無需更新SDK即可調(diào)用最新發(fā)布的API。

  3. 快速迭代。

2.2使用CommonRequest

阿里云產(chǎn)品的API有RPC和RESTful兩種風格,不同風格的API的CommonRequest的調(diào)用方法也不同。

通常API參數(shù)中包含Action參數(shù)的是RPC風格,包含PathPattern參數(shù)的是RESTful風格。一般情況下,每個產(chǎn)品內(nèi),所有API的調(diào)用風格是統(tǒng)一的。每個API僅支持特定的一種風格調(diào)用,傳入錯誤的標識,可能會調(diào)用到其他API,或收到ApiNotFound的錯誤信息。

發(fā)起一次CommonRequest請求,您需要獲取以下幾個參數(shù)的值。您可以在文檔中心-https://help.aliyun.com/各產(chǎn)品的API文檔中獲取以下參數(shù)的值。此外,部分產(chǎn)品也可以通過OpenAPI Explorer-https://api.aliyun.com/來獲取API的參數(shù)信息。

  • 域名(domain):該產(chǎn)品的通用訪問域名。

  • API版本(version):該API的版本號,格式為YYYY-MM-DD。

    說明:在”公共參數(shù)”內(nèi)容中,API版本號的信息通常是Version參數(shù)的值, 但也有些產(chǎn)品的API版本號為x-acs-version參數(shù)的值。

  • 當調(diào)用的API為RPC風格時(大部分阿里云產(chǎn)品API為RPC風格)如ECS和RDS,需要獲取Action參數(shù),使用request.ApiName = "<Action>"的方式來指定API名稱。

    例如RunInstances-https://helpcdn.aliyun.com/document_detail/63440.html接口的Action為RunInstances,在發(fā)起CommonRequest請求時,要使用request.ApiName = "RunInstances"來指定API名稱。

  • 當調(diào)用的API為RESTful風格時如容器服務(wù), 需要獲取PathPattern參數(shù),使用request.PathPattern = "<PathPattern>"的方式來指定RESTful路徑。

    例如容器服務(wù)的查看所有集群實例-https://helpcdn.aliyun.com/document_detail/26053.html的API的PathPattern為/clusters,在發(fā)起CommonRequest請求時,要使用request.PathPattern = "/clusters"指定RESTful路徑。

2.3代碼示例

2.3.1調(diào)用RPC風格的API

以下代碼展示了如何使用CommonRequest的方式調(diào)用ECS的DescribeInstanceStatus-https://helpcdn.aliyun.com/document_detail/25505.html接口:

2.3.2調(diào)用RESTful風格的API

以下代碼展示了如何使用CommonRequest的方式調(diào)用容器服務(wù)的查看所有集群實例-https://helpcdn.aliyun.com/document_detail/26053.html接口:


3.使用STS Token作為用戶憑據(jù)

直接使用阿里云賬號的主賬號的AccessKey ID和AccessKey Secret進行應(yīng)用開發(fā)會有一定的安全風險,為了提升安全性,除了通過RAM角色控制權(quán)限范圍外,您還可以使用為RAM角色簽發(fā)的STS Token來訪問阿里云服務(wù)。

使用STS Token調(diào)用SDK有以下優(yōu)點:

  • 減少了主賬號AccessKey ID和AccessKey Secret泄露的風險,特別是移動設(shè)備等場景。

  • 能使用靈活的權(quán)限控制,STS Token有一定的時間限制,并且根據(jù)RAM角色的靈活設(shè)置對ECS、SLB等資源的精細授權(quán)。

本文介紹如何使用STS Token來調(diào)用SDK訪問阿里云服務(wù),更多關(guān)于RAM和STS的信息,請參考RAM和STS介紹-https://helpcdn.aliyun.com/document_detail/27360.html。

注意: 在使用STS Token前,確保該產(chǎn)品支持STS Token驗證。詳情參見支持STS Token的產(chǎn)品-https://helpcdn.aliyun.com/document_detail/28630.html。

3.1方式一:直接使用STS Token

直接使用STS Token時,您需要自行維護STS Token的周期性更新。

其中:

  • region-id是您正在使用的地域(可用區(qū))的ID,詳情參見地域列表-https://helpcdn.aliyun.com/document_detail/40654.html。

  • sts-access-key-id sts-access-key-secret sts-session-token 是通過STS的AssumeRole-https://helpcdn.aliyun.com/document_detail/28763.html請求返回的授權(quán)信息。

3.2方式二:使用SDK自動管理STS Token的周期

您可以通過指定RAM的角色信息,讓SDK幫您自動申請并維護STS Token。

其中:

  • role-arn是角色全局資源描述符,您可以通過訪問RAM控制臺-https://ram.console.aliyun.com/role/list#/role/list,單擊角色名,進入詳情頁后查詢角色名對應(yīng)的role-arn

  • role-session-name是臨時角色名稱,您可以通過調(diào)用AssumeRole-https://helpcdn.aliyun.com/document_detail/28763.html接口來獲取一個扮演該角色的臨時身份,創(chuàng)建成功后,便可以使用創(chuàng)建時的RoleSessionName作為本方式的role-session-name參數(shù)。


4.配置RamRole實現(xiàn)在ECS實例上的“無AK訪問”

為了提高應(yīng)用部署的安全性的同時提升便利性,阿里云SDK支持通過實例元數(shù)據(jù)-https://helpcdn.aliyun.com/document_detail/49122.html服務(wù)來獲取ECS RAM角色的授權(quán)信息來訪問阿里云資源和服務(wù)。使用這種方式,您部署在ECS上的應(yīng)用程序,無需在SDK上配置授權(quán)信息即可訪問阿里云API(即不需要配置AccessKey),通過這種方式授權(quán)的SDK,可以擁有這個ECS RAM角色的權(quán)限。

注意:確保ECS實例已經(jīng)配置了RAM角色,詳情參見借助于實例RAM角色訪問其他云產(chǎn)品-https://helpcdn.aliyun.com/document_detail/54579.html。

4.1代碼示例

其中:

  • role-name是與ECS實例關(guān)聯(lián)的RAM角色名稱。

  • region-id是您正在使用的地域的Region ID,詳情參見地域列表-https://helpcdn.aliyun.com/document_detail/40654.html。

注意:示例中的region-id是目標服務(wù)(且RAM角色有權(quán)訪問)的API所在Region,不一定等于這個ECS實例的Region ID。


5.錯誤處理

在使用阿里云Java SDK時,當服務(wù)端或者SDK端出錯時,SDK會返回相應(yīng)的異常信息。這些異常信息中會包含具體的錯誤信息,例如錯誤碼(Error Code)和錯誤消息(Error Message)。

一般情況下,您不需要對阿里云Java SDK返回的錯誤進行處理。您只需要根據(jù)服務(wù)端的錯誤提示處理服務(wù)端錯誤即可。

  • ServerException是服務(wù)端錯誤信息。

  • ClientException是SDK端錯誤信息。

例如,當出現(xiàn)如下錯誤時,您可以根據(jù)具體的錯誤信息,修改AccessKey的ID即可。

com.aliyuncs.exceptions.ClientException: InvalidAccessKeyId.NotFound : Specified access key is not found.

如果您需要對SDK的錯誤進行處理,可以參考如下示例編寫代碼:


附錄:

創(chuàng)建AccessKey

訪問密鑰AccessKey(AK)相當于登錄密碼,只是使用場景不同。AccessKey用于程序方式調(diào)用云服務(wù)API,而登錄密碼用于登錄控制臺。如果您不需要調(diào)用API,那么就不需要創(chuàng)建AccessKey。

您可以使用AccessKey構(gòu)造一個API請求(或者使用云服務(wù)SDK)來操作資源。AccessKey包括AccessKeyId和AccessKeySecret。

  • AccessKeyId用于標識用戶。

  • AccessKeySecret是用來驗證用戶的密鑰。AccessKeySecret必須保密。

注意:禁止使用主賬號AK,因為主賬號AK泄露會威脅您所有資源的安全。請使用子賬號AK進行操作,可有效降低AK泄露的風險。

操作步驟

  1. 登錄RAM管理控制臺。

  2. 在左側(cè)導(dǎo)航欄,單擊用戶管理

  3. 單擊目標用戶,進入用戶詳情頁面。

  4. 用戶AccessKey區(qū)域,單擊創(chuàng)建AccessKey。

  5. 在彈出的對話框中,展開AccessKey詳情查看查看AcessKeyId和AccessKeySecret。然后單擊保存AK信息,下載AccessKey信息。

    注意: 請您妥善保存AccessKey,謹防泄露。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲欧洲一区二区综合精品| 日本乱论一区二区三区| 国产传媒一区二区三区| 日韩精品福利在线观看| 日韩人妻免费视频一专区| 激情图日韩精品中文字幕| 成人国产一区二区三区精品麻豆| 尹人大香蕉中文在线播放| 国产一区二区在线免费| 久久精品少妇内射毛片| 精品一区二区三区免费看| 久久精品久久精品中文字幕| 欧美一区二区三区99| 中文字幕亚洲精品人妻| 九九九热视频最新在线| 亚洲欧美日韩网友自拍| 国产精品香蕉免费手机视频| 人妻少妇系列中文字幕| 后入美臀少妇一区二区| 亚洲国产性感美女视频| 国产成人人人97超碰熟女| 绝望的校花花间淫事2| 久久本道综合色狠狠五月| 日本在线高清精品人妻| 99久久精品一区二区国产| 国产欧洲亚洲日产一区二区| 国产精品一级香蕉一区| 国产自拍欧美日韩在线观看| 国产精品一区二区视频大全| 成人精品一区二区三区综合| 色好吊视频这里只有精| 中字幕一区二区三区久久蜜桃| 色综合久久六月婷婷中文字幕| 亚洲欧美日韩中文字幕二欧美| 国产精品免费视频视频| 91超频在线视频中文字幕 | 久久大香蕉精品在线观看| 久久精品少妇内射毛片| 国产欧美一区二区三区精品视| 黄色美女日本的美女日人| 欧美熟妇一区二区在线|