설치 및 설정(Maven)
이번 문서는 다음과 같은 목차로 구성됩니다.
OCI Java SDK 설치 - Maven
Maven 프로젝트에서 OCI Java SDK 라이브러리를 사용하기 위해서 oci-java-sdk-bom를 임포트합니다. 그리고 필요한 라이브러리를 의존성 설치합니다. 2020년 3월 10일 현재 최신 버전은 1.14.0 버전 입니다. 다음과 같은 설정을 Maven Project의 pom.xml에 추가합니다.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-bom</artifactId>
<!-- [github.com:/oracle/oci-java-sdk\]의 tag로 최신 버전 확인 및 적용 -->
<version>1.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-audit</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-database</artifactId>
</dependency>
위 설정은 OCI Java SDK 중에서 oci-java-sdk-audit, oci-java-sdk-core, oci-java-sdk-database 관련 의존성 라이브러리를 설치하는 설정입니다.
현재 이용 가능한 OCI Java SDK 모듈은 다음과 같습니다.
- oci-java-sdkaddons
- oci-java-sdkanalytics
- oci-java-sdkannouncementsservice
- oci-java-sdkapigateway
- oci-java-sdkapplicationmigration
- oci-java-sdkaudit
- oci-java-sdkautoscaling
- oci-java-sdkbom
- oci-java-sdkbudget
- oci-java-sdkcommon
- oci-java-sdkcontainerengine
- oci-java-sdkcore
- oci-java-sdkdatabase
- oci-java-sdkdatacatalog
- oci-java-sdkdataflow
- oci-java-sdkdatascience
- oci-java-sdkdns
- oci-java-sdkdts
- oci-java-sdkemail
- oci-java-sdkevents
- oci-java-sdkexamples
- oci-java-sdkfilestorage
- oci-java-sdkfull
- oci-java-sdkfunctions
- oci-java-sdkhealthchecks
- oci-java-sdkidentity
- oci-java-sdkintegration
- oci-java-sdkkeymanagement
- oci-java-sdklimits
- oci-java-sdkloadbalancer
- oci-java-sdkmarketplace
- oci-java-sdkmonitoring
- oci-java-sdknosql
- oci-java-sdkobjectstorage
- oci-java-sdkoce
- oci-java-sdkoda
- oci-java-sdkons
- oci-java-sdkosmanagement
- oci-java-sdkresourcemanager
- oci-java-sdkresourcesearch
- oci-java-sdkshaded
- oci-java-sdkstreaming
- oci-java-sdkwaas
- oci-java-sdkworkrequests
- oci-java-sdk-waas
- oci-java-sdk-workrequests
필요한 모듈을 maven의 dependency 설정에 추가합니다.
OCI Java SDK 설정
사용자 자격증명 설정 파일 준비
OCI Java SDK를 사용하기 위해서는 사용자 자격증명(인증)에 사용되는 OCI Java SDK 설정 파일을 설정합니다. 설정 파일의 기본 위치는 다음과 같습니다.
운영체제 | 설정파일 위치 | 위치 예(OS Account: taewan) |
---|---|---|
Window 10 | %HOME_PATH%/.oci/config | /c:/Users/taewan/.oci/config |
Mac OS X, Linux | ~/.oci/config | /home/taewan/.oci/config |
이 설정 파일은 OCI CLI 설정 파일과 정확하게 같은 파일입니다. 다음 문서를 참조하여 OCI 사용자 인증을 위한 설정파일(~/.oci/config)을 만들고 구성합니다.
설정을 마치면 ~/.oci/config 파일에 다음과 같은 설정이 추가됩니다.
cat ~/.oci/config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaaqddvfo3p4tprztenwebbbbbzebqgqgpbnk4cjspyzcluzi2yndna
fingerprint=aa:41:d3:08:3d:f1:61:19:ad:9e:db:bc:2e:de:82:43
key_file=/Users/taewan/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaa6ma7kq3bsif7bdfghdv22cajs3fpesgpqmmsgxihlbcemkklrsqa
region=us-ashburn-1
OCI Java SDK 인증 코드
CI Java SDK에 인증 설정 파일을 지정하는 방법은 다음과 같습니다. 다음 코드는 디폴트 프로파일을 사용하는 예제 코드입니다.
예제 Maven Project
OCI Java SDK 예제 코드는 다음 URL의 github repository에서 확인할 수 있습니다.
위 프로젝트를 다음과 같이 다운로드하고 실행할 수 있습니다.
$ ## github 레파지터리에서 코드 다운로드
$ git clone https://github.com/taewanme/oci-java-sdk-examples.git
Cloning into 'oci-java-sdk-examples'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.
$ ## 프로젝트 디렉터리로 이동
$ cd oci-java-sdk-examples
$ cd oci_java_sdk_basic
$ ls
bin pom.xml src
$ ## 프로젝트 빌드 및 실행
$ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< kim.taewan:oci.streaming.example >------------------
[INFO] Building oci.streaming.example 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
## 로그 생략
[kim.taewan.oci.BasicConfigTest.main()] INFO com.oracle.bmc.ClientRuntime - Using SDK: Oracle-JavaSDK/1.5.2
[kim.taewan.oci.BasicConfigTest.main()] INFO com.oracle.bmc.ClientRuntime - User agent set to: Oracle-JavaSDK/1.5.2 (Mac OS X/10.15.1; Java/11.0.6; OpenJDK 64-Bit Server VM/11.0.6+9-jvmci-20.0-b02)
============================
Tenancy:apackrsct01
============================
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.325 s
[INFO] Finished at: 2020-03-12T10:54:38+09:00
[INFO] ------------------------------------------------------------------------
$