AWSのJava SDKについてまとめています。
AWSのJava SDKのインストールとビルド
AWS SDK for Javaは、AWSのJava APIを使ってAWSのサービスを呼び出すためのライブラリです。認証情報の管理、再試行、データマーシャリング、シリアル化などのサポートを提供します。
AWS SDK for JavaはGitHubから入手することができます。GitHubのaws-sdk-java-v2のページを開き、緑の「Code」ボタンをクリック、Download ZIPを選択すると、ZIP形式でダウンロードが可能です。
関連)GitHub – aws/aws-sdk-java-v2: The official AWS SDK for Java – Version 2
AWS SDK for Javaは、Java 6.0以降がインストールされていることが前提となります。
Oracleの公式サイトから、Java SE Development Kitの最新版をダウンロード&インストールしておきましょう。
AWS SDK for Javaを組み込んでJavaのソースをビルドするには、Apache Mavenが必要です。
関連)Maven – Welcome to Apache Maven
Apache Mavenの公式サイトにて、左メニューから「Download」をクリックし、FilesのBinary tar.gz archiveまたは、Binary zip archiveのダウンロードリンクをクリックします。
Linuxの場合、適当なディレクトリにて、ファイル形式に応じて、以下のコマンドで展開します。x.x.xはMavenのバージョンによって変わります。
- zip形式の場合、unzip apache-maven-x.x.x-bin.zip
- tar.gz形式の場合、tar xzvf apache-maven-x.x.x-bin.tar.gz
指定したディレクトリ/apache-maven-x.x.x/binをPATH環境変数に追加し、mvn -v を実行してMavenのバージョンを表示させ、動作確認します。以下のように表示されます。(/optでファイル展開した例)
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: /opt/apache-maven-3.8.4 Java version: 1.8.0_45, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
参考)Maven – Installing Apache Maven
AWSのJava SDKのビルド
mvnを使って、AWSのJava SDKを組み込んだプロジェクトのビルドをおこないます。
関連)Apache Maven での SDK の使用 – AWS SDK for Java
Linuxの場合、以下のコマンドをターミナルで実行して、新しいMavenパッケージを作成します。org.example.basicapp はアプリケーションの完全パッケージ名前空間、myapp はプロジェクト名 (プロジェクトのディレクトリ名) に差し替えてください。
mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DarchetypeArtifactId=maven-archetype-webapp \ -DgroupId=org.example.webapp \ -DartifactId=mywebapp
実行すると、プロジェクトテンプレートが作成されます。なお、-DarchetypeArtifactId オプションに archetype:generate を指定するとアーキタイプの選択が可能です。以下はアーキタイプを選択した例です。
mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DarchetypeArtifactId=maven-archetype-webapp \ -DgroupId=org.example.webapp \ -DartifactId=mywebapp
SDKモジュールを個別指定するには、AWS SDK for Java の Maven 用の部品表 (BOM) を使います。アプリケーションのにpom.xml セクションを追加、aws-java-sdk-bomを依存関係として追加し、使用するSDKのバージョンを指定します。
<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.11.1000</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
以下のように、個別のSDKモジュールを指定します。BOMにてSDKバージョンを指定しているため、各コンポーネントでバージョンを指定する必要はありません。以下は、ws-java-sdk-s3と、aws-java-sdk-dynamodbを指定した例です。
<dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-dynamodb</artifactId> </dependency> </dependencies>
SDKすべてを依存関係に追加するには、pom.xmlで以下のように宣言します。
<dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk</artifactId> <version>1.11.1000</version> </dependency> </dependencies>
プロジェクトのセットアップが完了後、プロジェクトをビルドするには、以下を実行します。
mvn package
このコマンド実行で、-0-jarディレクトリにtargetファイルが作成されます。
AWSのJava SDKのまとめ
- AWS SDK for Javaは、JavaからAWSのJava APIを使ってAWSサービスを呼び出すためのライブラリ
- AWS SDK for Javaは、Java 6.0以降が前提。GitHubからダウンロードできる。
- AWS SDK for Javaをプロジェクトに組み込むには、Apache Mavenを使用する