发布时间: 2021-06-17 14:05:41
在很多场景下,我们需要基于公有云提供的开发接口进行应用开发,OCI提供了许多编程语言的软件开发工具包(SDK),以促进定制解决方案的开发。
每个SDK都提供了开发应用程序所需的工具,包括用于创建,测试和故障排除的代码示例和文档。此外,如果您想为SDK的开发做出贡献,它们都是开源的,可以在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开发应用程序,其他的SDK过程类似。
使用Java SDK前提条件
使用SDK for Java,您必须具备以下条件:
· OCI帐户。
· 在该帐户中创建的用户,该用户组具有授予所需权限的策略。这可以是您自己的用户,也可以是需要调用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。其内容如下:
本地环境配置
OCI SDK和CLI需要基本的配置信息,例如用户凭证和租户OCID等。您可以通过以下方式提供此信息:
使用配置文件
在运行时声明配置
SDK完全支持这两个选项。在这里我们采用配置文件。在window的c:\users\你window 用户目录下创建.oci目录,如:c:\users\chxu\.oci
然后在该目录下创建一个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,值和前面在客户端生成的相同。
创建工程,并运行例子
创建一个Maven project. 然后在pom.xml中加入下面内容:
可以导入SDK带的example代码。在本例子中在:D:\oci\sdk\oci-java-sdk-1.25.2
修改代码中下面的值为你实际的值, 查看compartmentId:
加入代码依赖的JAR包:
运行代码。可以看到查询到该instance的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应用防火墙快速入门