發(fā)布時間: 2021-06-17 14:05:41
在很多場景下,我們需要基于公有云提供的開發(fā)接口進行應用開發(fā),OCI提供了許多編程語言的軟件開發(fā)工具包(SDK),以促進定制解決方案的開發(fā)。
每個SDK都提供了開發(fā)應用程序所需的工具,包括用于創(chuàng)建,測試和故障排除的代碼示例和文檔。此外,如果您想為SDK的開發(fā)做出貢獻,它們都是開源的,可以在GitHub上獲得。OCI提供下面這些語言的SDK:
SDK for Java
SDK for Python
SDK for TypeScript and JavaScript
SDK for .NET
SDK for Go
SDK for Ruby
SDK for PL/SQL
下面以Java SDK為例子,說明如何使用SDK開發(fā)應用程序,其他的SDK過程類似。
使用Java SDK前提條件
使用SDK for Java,您必須具備以下條件:
· OCI帳戶。
· 在該帳戶中創(chuàng)建的用戶,該用戶組具有授予所需權限的策略。這可以是您自己的用戶,也可以是需要調用API的其他人/系統。
· 用于簽署API請求的密鑰對,公共密鑰要上載到OCI。只有調用API的用戶才能擁有私鑰。
· Java 8 或者Java 11
· TTL值為60
下載OCI Java SDK
可以從https://github.com/oracle/oci-java-sdk/releases下載最新的SDK壓縮包,它包含SDK,其所有依賴項,文檔和示例。下載完成后解壓都一個目錄下。本例子中解壓到:D:\oci\sdk\oci-java-sdk-1.25.2。其內容如下:
本地環(huán)境配置
OCI SDK和CLI需要基本的配置信息,例如用戶憑證和租戶OCID等。您可以通過以下方式提供此信息:
使用配置文件
在運行時聲明配置
SDK完全支持這兩個選項。在這里我們采用配置文件。在window的c:\users\你window 用戶目錄下創(chuàng)建.oci目錄,如:c:\users\chxu\.oci
然后在該目錄下創(chuàng)建一個config文件。內容如下:
[DEFAULT]
user=ocid1.user.oc1..
fingerprint=
key_file=~/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..
region=us-ashburn-1
然后查詢你的OCI租戶中的user,tenancy,所在的region等信息,填寫到上面的config文件。如:
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaaz7m353pwu7334fvckcafypvbey22g2ioll4b2blapbtkuggvqssa
fingerprint=d8:3c:9b:9b:b1:a1:3b:b3:f4:a0:d0:6b:6e:fe:85:9a
key_file=~/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaave3dylebbu2u26acksaqbyw6gs2r7yfh3x2vxbxvfv764hp2mglq
region=us-ashburn-1
查看Region
然后生成密鑰對,根據秘鑰生成fingerprint,把私鑰文件的位置及fingerprint的值填寫到上的config文件中,然后上傳公鑰到OCI上。
下面以WINDOWS為例子具體說明,從https://git-scm.com/download/win下載 Git Bash for Windows 并安裝。然后通過openssl 生成private key, 根據private key生成PUBLIC KEY和fingerprint。
上傳公鑰,點左上角的用戶,進去用戶頁,然后在右下角,點API keys
自動生成fingerprint,值和前面在客戶端生成的相同。
創(chuàng)建工程,并運行例子
創(chuàng)建一個Maven project. 然后在pom.xml中加入下面內容:
可以導入SDK帶的example代碼。在本例子中在:D:\oci\sdk\oci-java-sdk-1.25.2
修改代碼中下面的值為你實際的值, 查看compartmentId:
加入代碼依賴的JAR包:
運行代碼??梢钥吹讲樵兊皆搃nstance的Public IP并顯示出來
JAVA SDK編程模式
支持同步和異步兩種方式
下面我們看下同步調用方式:
比如ObjectStorage服務,對應有一個ObjectStorage接口和ObjectStorageClient類
ObjectStorage clientWithExplicitClientConfig = new ObjectStorageClient(provider, clientConfig)
這樣我們可以在https://docs.cloud.oracle.com/en-us/iaas/tools/java/1.25.2查找需要的API,
點下圖中的ALL Classes,然后搜索關鍵字:比如:ObjectStorage
點擊ObjectStorageClient可以查找到它提供的所有方法:
異步方式具體參考:
https://docs.cloud.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm
上一篇: Web應用防火墻快速入門