

 AWS SDK for Java 1.x は 2025 年 12 月 31 日にend-of-supportしました。新しい機能、可用性の向上、セキュリティ更新のために、[AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html) に移行することをお勧めします。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 開始方法
<a name="getting-started"></a>

このセクションでは、AWS SDK for Java のインストール方法、セットアップ方法、および使用方法に関する情報を示します。

**Topics**
+ [基本セットアップ](signup-create-iam-user.md)
+ [

# を取得する方法 AWS SDK for Java
](setup-install.md)
+ [

# 構築ツールの使用
](setup-build-tools.md)
+ [一時的な認証情報、リージョン](setup-credentials.md)

# を使用するための基本的なセットアップ AWS のサービス
<a name="signup-create-iam-user"></a>

## 概要:
<a name="signup-create-iam-user-overview"></a>

 AWS のサービス を使用して にアクセスするアプリケーションを正常に開発するには AWS SDK for Java、次の条件が必要です。
+  AWS IAM アイデンティティセンターにある [AWS アクセスポータルにサインイン](#setup-awsaccount)できる必要があります。
+ SDK 用に設定された [IAM ロールのアクセス許可](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)は、アプリケーション AWS のサービス が必要とする へのアクセスを許可する必要があります。**PowerUserAccess** AWS 管理ポリシーに関連付けられたアクセス許可は、ほとんどの開発ニーズに十分です。
+ 次の要素を備えた開発環境:
  + 以下の方法で設定される[共有設定ファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)。
    + `config` ファイルには、 を指定するデフォルトのプロファイルが含まれています AWS リージョン。
    + `credentials` ファイルには、デフォルトプロファイルの一部として一時的な認証情報が含まれています。
  + 適切な [Java インストール](#java-dg-java-env)。
  + [Maven](https://maven.apache.org/download.cgi) や [Gradle](https://gradle.org/install/) などの[構築オートメーションツール](setup-build-tools.md)。
  + コードを使用するテキストエディター。
  + (オプションだが推奨) [IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=windows)、[Eclipse](https://www.eclipse.org/ide/)、[NetBeans](https://netbeans.org/downloads/) などの IDE (統合開発環境)。

    IDE を使用すると、 AWS Toolkitを統合してより簡単に操作することもできます AWS のサービス。[AWS Toolkit for IntelliJ](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) と、[AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/welcome.html) は Java 開発に使用できる 2 つのツールキットです。

**重要**  
このセットアップセクションの手順は、ユーザーまたは組織が IAM アイデンティティセンターを使用していることを前提としています。組織が IAM アイデンティティセンターとは独立して機能する外部 ID プロバイダーを使用している場合は、SDK for Java で使用するための一時的な認証情報を取得する方法をご確認ください。[以下の手順](#setup-temp-creds)に従って、`~/.aws/credentials` ファイルに一時的な認証情報を追加します。  
ID プロバイダーが一時的な認証情報を `~/.aws/credentials` ファイルに自動的に追加する場合は、SDK または AWS CLIにプロファイル名を指定する必要がないように、プロファイル名が `[default]` であることを確認してください。

## AWS アクセスポータルへのサインイン機能
<a name="setup-awsaccount"></a>

 AWS アクセスポータルは、IAM アイデンティティセンターに手動でサインインするウェブの場所です。URL のフォーマットは `d-xxxxxxxxxx.awsapps.com/start`、または `your_subdomain.awsapps.com/start` です。

 AWS アクセスポータルに慣れていない場合は、 AWS SDKs[」の「IAM アイデンティティセンター認証トピック」のステップ 1](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted) のアカウントアクセスに関するガイダンスに従ってください。 AWS SDK for Java 1.x は、ステップ 2 で説明している SDK のトークンの自動更新と一時的な認証情報の自動取得をサポートしていないため、ステップ 2 を実行しないでください。

## 共有設定ファイルを設定します。
<a name="setup-shared-config-files"></a>

共有設定ファイルは開発ワークステーションに存在し、すべての AWS SDKs と AWS Command Line Interface (CLI) で使用される基本設定が含まれています。共有設定ファイルには[多数の設定](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)を含めることができますが、これらの手順は SDK を使用するために必要な基本要素を設定します。

### 共有 `config` ファイルをセットアップする
<a name="setup-shared-config-files-conf"></a>

共有 `config` ファイルの内容の例を以下に示します。

```
[default]
region=us-east-1
output=json
```

開発の目的で、コードを実行する予定の場所に AWS リージョン [最も近い](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) を使用します。`config` ファイルで使用する[リージョンコードのリスト](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)については、「 Amazon Web Services 全般のリファレンス ガイド」を参照してください。出力形式の `json` 設定は、[いくつかの可能な値](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html)のうちの 1 つです。

[このセクション](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)のガイダンスに従って `config` ファイルを作成します。

### SDK の一時的な認証情報を設定します。
<a name="setup-temp-creds"></a>

 AWS アクセスポータルから AWS アカウント および IAM ロールにアクセスしたら、SDK がアクセスするための一時的な認証情報を使用して開発環境を設定します。

**一時的な認証情報を使用してローカル `credentials` ファイルを設定する手順**

1. [共有 `credentials` ファイルを作成します](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)。

1. `credentials` ファイルに、作業用の一時認証情報を貼り付けるまで次のプレースホルダーテキストを貼り付けます。

   ```
   [default]
   aws_access_key_id=<value from AWS access portal>
   aws_secret_access_key=<value from AWS access portal>
   aws_session_token=<value from AWS access portal>
   ```

1. ファイルを保存します。これで、ファイル `~/.aws/credentials` はローカルの開発システムに存在しているはずです。このファイルには、特定の名前付きプロファイルが指定されていない場合に SDK for Java が使用する [[default] プロファイル](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile)が含まれています。

1. [AWS アクセスポータルにサインインします](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html)。

1. アクセス AWS ポータルから IAM ロールの認証情報をコピーするには、[「手動認証情報更新](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html#how-to-get-temp-credentials)」の見出しにある手順に従ってください。

   1. リンク先の手順のステップ 4 で、開発ニーズに合ったアクセスを許可する IAM ロールの名前を選択します。通常、このロールには **PowerUserAccess** や **Developer** などの名前が付いています。

   1. ステップ 7 で、**[ AWS 認証情報ファイルにプロファイルを手動で追加]** オプションを選択し、内容をコピーします。

1. コピーした認証情報をローカル `credentials` ファイルに貼り付け、貼り付けたプロファイル名をすべて削除します。ファイルは以下のようになります。

   ```
   [default]
   aws_access_key_id=AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. `credentials` ファイルを保存します。

SDK for Java は、サービスクライアントを作成するときにこれらの一時的な認証情報にアクセスし、各リクエストに使用します。ステップ 5a で選択した IAM ロールの設定により、[一時的な認証情報の有効期間](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)が決まります。最大期間は 12 時間です。

一時的な認証情報の有効期限が切れたら、ステップ 4～7 を繰り返します。

## Java 開発環境をインストールします。
<a name="java-dg-java-env"></a>

 AWS SDK for Java V1 には Java 7 JDK 以降が必要で、すべての Java LTS (長期サポート) JDK バージョンがサポートされています。SDK のバージョン 1.12.767 以前を使用している場合は Java 7 を使用できますが、SDK のバージョン 1.12.768 以降を使用している場合は Java 8 が必要です。[Maven 中央リポジトリ](https://central.sonatype.com/artifact/com.amazonaws/aws-java-sdk-bom)に、SDK for Java の最新バージョンが記載されています。

は、[Oracle Java SE Development Kit ](https://www.oracle.com/java/technologies/downloads/)および [Amazon Corretto](https://aws.amazon.com/corretto)、Red Hat OpenJDK、[Adoptium](https://adoptium.net/) などの Open Java Development Kit (OpenJDK) のディストリビューションで AWS SDK for Java 動作します。 [ OpenJDK](https://developers.redhat.com/products/openjdk/overview)

# を取得する方法 AWS SDK for Java
<a name="setup-install"></a>

## 前提条件
<a name="prerequisitesinstall"></a>

を使用するには AWS SDK for Java、以下が必要です。
+ [AWS IAM アイデンティティセンターにある AWS アクセスポータルにサインイン](signup-create-iam-user.md#setup-awsaccount)できる必要があります。
+ 適切な [Java インストール](signup-create-iam-user.md#java-dg-java-env)。
+ ローカル共有 `credentials` ファイルに設定された一時的な認証情報。

SDK for Java を使用するための設定方法については、[を使用するための基本的なセットアップ AWS のサービス](signup-create-iam-user.md) トピックを参照してください。

## 構築ツールを使用して SDK for Java の依存関係を管理する (推奨)
<a name="include-sdk"></a>

SDK for Java の必要な依存関係にアクセスするには、プロジェクトで Apache Maven または Gradle を使用することをお勧めします。[このセクション](setup-build-tools.md)では、それらのツールを使用する方法について説明します。

## SDK をダウンロードして解凍する (非推奨)
<a name="download-and-extract-sdk"></a>

プロジェクトの SDK にアクセスするには構築ツールを使用することをお勧めしますが、最新バージョンの SDK のビルド済み jar をダウンロードすることもできます。

**注記**  
以前のバージョンの SDK のダウンロードおよび構築方法の詳細については、「[以前のバージョンの SDK のインストール](#install-prev-sdk)」を参照してください。

1. [https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip](https://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip) から SDK をダウンロードします。

1. SDK をダウンロードしたら、そのコンテンツをローカルディレクトリに抽出します。

SDK には次のディレクトリが含まれます。
+  `documentation` - API ドキュメントが含まれます (ウェブの [AWS SDK for Java API リファレンス](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/)にも掲載されています)。
+  `lib` - SDK の `.jar` ファイルが置かれています。
+  `samples` - SDK の使用方法を示す作業サンプルコードが置かれています。
+  `third-party/lib` - Apache Commons Logging、AspectJ、Spring framework など、SDK で使用されているサードパーティーライブラリが置かれています。

SDK を使用するには、`lib` と `third-party` ディレクトリの完全パスをビルドファイルの依存関係に追加し、コードを実行する Java の `CLASSPATH` にそれらを追加します。

## SDK の以前のバージョンをソースから構築 (非推奨)
<a name="install-prev-sdk"></a>

完全な SDK の最新バージョンのみ、ダウンロード可能な jar として構築済みの形で提供されます。ただし、Apache Maven (オープンソース) を使用して、以前のバージョンの SDK を構築できます。Maven が、必要なすべての依存関係をダウンロードし、1 つのステップで SDK を構築およびインストールします。インストールの手順と詳細については、[http://maven.apache.org/](http://maven.apache.org/) を参照してください。

1. SDK の GitHub ページ [AWS SDK for Java (GitHub)](https://github.com/aws/aws-sdk-java) に移動します。

1. 使用する SDK のバージョン番号に該当するタグを選択します。例えば、`1.6.10`。

1. [**Download ZIP**] ボタンをクリックして、選択したバージョンの SDK をダウンロードします。

1. 開発システムのディレクトリにファイルを解凍します。多くのシステムでは、グラフィカルなファイルマネージャーを使用してこれを行うことができます。または、ターミナルウィンドウで `unzip` ユーティリティを使用できます。

1. ターミナルウィンドウで、SDK ソースを解凍したディレクトリに移動します。

1. 次のコマンドを実行 ([Maven](https://maven.apache.org/) が必要) して SDK をビルドおよびインストールします。

   ```
   mvn clean install -Dgpg.skip=true
   ```

   `.jar` ファイルが `target` ディレクトリで構築されます。

1. (オプション) 次のコマンドを使用して API リファレンスのドキュメントを構築します。

   ```
   mvn javadoc:javadoc
   ```

   ドキュメントは `target/site/apidocs/` ディレクトリに構築されます。

# 構築ツールの使用
<a name="setup-build-tools"></a>

構築ツールを使用すると、Java プロジェクトの開発を管理しやすくなります。構築ツールはいくつかありますが、ここでは一般的な 2 つの構築ツール (Maven と Gradle) を使って起動して実行する方法を説明します。このトピックでは、これらの構築ツールを使用して、プロジェクトに必要な SDK for Java の依存関係を管理する方法を説明します。

**Topics**
+ [

# Apache Maven で SDK を使用する
](setup-project-maven.md)
+ [

# Gradle とともに SDK を使用する
](setup-project-gradle.md)

# Apache Maven で SDK を使用する
<a name="setup-project-maven"></a>

[Apache Maven](https://maven.apache.org/) を使用して、AWS SDK for Java プロジェクトの設定およびビルド、SDK 自体のビルドを行うことができます。

**注記**  
このトピックのガイダンスを使用するには、Maven をインストールしている必要があります。まだインストールしていない場合は、[http://maven.apache.org/](http://maven.apache.org/) にアクセスし、ダウンロードしてインストールしてください。

## 新しい Maven パッケージを作成する
<a name="create-a-new-maven-package"></a>

Maven の基本パッケージを作成するには、ターミナル (コマンドライン) ウィンドウを開いて次のコマンドを実行します。

```
mvn -B archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=org.example.basicapp \
  -DartifactId=myapp
```

*org.example.basicapp* はアプリケーションの完全パッケージ名前空間に置き換え、*myapp* はプロジェクト名 (これがプロジェクトのディレクトリ名になります) に置き換えます。

デフォルトで、[quickstart](http://maven.apache.org/archetypes/maven-archetype-quickstart/) アーキタイプを使用してプロジェクトテンプレートが作成されます。このテンプレートは、多くのプロジェクトで手始めとして使用できます。使用できるアーキタイプは他にもあります。[Maven アーキタイプ](https://maven.apache.org/archetypes/index.html)のページでは、次でパッケージ化されているアーキタイプの一覧を参照できます。`-DarchetypeArtifactId` コマンドに `archetype:generate` 引数を追加すると、特定のアーキタイプを選択して使用できます。例:

```
mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=org.example.webapp \
  -DartifactId=mywebapp
```

**注記**  
プロジェクトの作成と設定に関する詳細情報は、[Maven の開始方法ガイド](https://maven.apache.org/guides/getting-started/)で提供されています。

## SDK を Maven 依存関係に設定する
<a name="configuring-maven"></a>

プロジェクトで AWS SDK for Java を使用するには、プロジェクトの `pom.xml` ファイルで SDK を依存関係として宣言する必要があります。バージョン 1.9.0 以降では、[個々のコンポーネント](#configuring-maven-individual-components)または [SDK 全体](#configuring-maven-entire-sdk)をインポートできます。

### 個別の SDK モジュールの指定
<a name="configuring-maven-individual-components"></a>

個々 SDK モジュールを選択するには、AWS SDK for Java の Maven 用の部品表 (BOM) を使用します。そうすることによって、指定したモジュールで同じバージョンの SDK が使用され、それらは互いに互換性があることが保証されます。

BOM を使用するには、アプリケーションの `<dependencyManagement>` ファイルに `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>
```

Maven Central で使用可能な最新バージョンの AWS SDK for Java BOM を表示するには、[https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom) を参照してください。どのモジュール (依存関係) が、プロジェクトの `<dependencies>` ファイルの `pom.xml` セクション内に含めることができる BOM により管理されるのかを確認するには、このページを参照してください。

これで、アプリケーションで使用する個々のモジュールを SDK から選択できるようになりました。BOM で SDK バージョンを既に宣言しているため、各コンポーネントのバージョン番号を指定する必要はありません。

```
<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>
```

*AWS Code Sample Catalog* を参照して、特定の AWS のサービス で使用する依存関係を確認することもできます。特定のサービス例の下の POM ファイルを参照してください。例えば、AWS S3 サービスの依存関係に関心がある場合は、GitHub の[完全な例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/GetAcl.java)を参照してください ( /java/example\$1code/s3 の下の POM を参照してください)。

### すべての SDK モジュールのインポート
<a name="configuring-maven-entire-sdk"></a>

SDK *全体を*依存関係にする場合は、BOM による方法を使用せずに、`pom.xml` で次のように宣言するだけです。

```
<dependencies>
  <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.1000</version>
  </dependency>
</dependencies>
```

## プロジェクトを構築する
<a name="build-your-project"></a>

プロジェクトのセットアップが完了したら、Maven の `package` コマンドを使用してアプリケーションをビルドできます。

```
mvn package
```

このコマンドでは、`0jar` ディレクトリに `target` ファイルが作成されます。

## Maven を使用して SDK をビルドする
<a name="building-with-maven"></a>

Apache Maven を使用して、SDK をソースからビルドできます。そのためには、[GitHub から SDK コードをダウンロード](https://github.com/aws/aws-sdk-java)し、ローカルに解凍して、次の Maven コマンドを実行します。

```
mvn clean install
```

# Gradle とともに SDK を使用する
<a name="setup-project-gradle"></a>

[Gradle](https://gradle.com/) プロジェクトの SDK 依存関係を管理するには、 の Maven BOM AWS SDK for Java をアプリケーションの `build.gradle` ファイルにインポートします。

**注記**  
次の例では、構築ファイルの *1.12.529* を有効なバージョンの AWS SDK for Javaに置き換えます。[Maven Central リポジトリ](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)で最新バージョンを検索してください。

## Gradle 4.6 以降のプロジェクト設定
<a name="project-setup-for-gradle-4-6-or-higher"></a>

 [Gradle 4.6 以降](https://docs.gradle.org/4.6/release-notes.html#bom-import)、BOM で依存関係を宣言することにより、Gradle の改善された POM サポート機能を使用して部品表 (BOM) ファイルをインポートできます。

1. Gradle 5.0 以降を使用している場合は、ステップ 2 に進みます。それ以外の場合は、`settings.gradle` ファイルで *IMPROVED\$1POM\$1SUPPORT* 機能を有効にします。

   ```
   enableFeaturePreview('IMPROVED_POM_SUPPORT')
   ```

1. アプリケーションの `build.gradle` ファイルの *dependencies* セクションに BOM を追加します。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
   
       // Declare individual SDK dependencies without version
       ...
   }
   ```

1. *dependencies* セクションで使用する SDK モジュールを指定します。たとえば、以下には Amazon Simple Storage Service () の依存関係が含まれますAmazon S3。

   ```
   ...
   dependencies {
       implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
       implementation 'com.amazonaws:aws-java-sdk-s3'
       ...
   }
   ```

Gradle は BOM の情報を使用して、正しいバージョンの SDK 依存関係を自動的に解決します。

以下は、 の依存関係を含む完全な`build.gradle`ファイルの例です Amazon S3。

```
group 'aws.test'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

dependencies {
  implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
  implementation 'com.amazonaws:aws-java-sdk-s3'
}
```

**注記**  
前の例では、 の依存関係を Amazon S3 、プロジェクトで使用する AWS サービスの依存関係に置き換えます。BOM によって管理されるモジュール (依存関係) AWS SDK for Java は [Maven 中央リポジトリ](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)に一覧表示されます。

## 4.6 より前の Gradle バージョンのプロジェクト設定
<a name="project-setup-for-gradle-versions-earlier-than-4-6"></a>

4.6 より前の Gradle バージョンでは、ネイティブ BOM がサポートされていません。プロジェクトの AWS SDK for Java 依存関係を管理するには、Spring の Gradle 用[依存関係管理プラグイン](https://github.com/spring-gradle-plugins/dependency-management-plugin)を使用して SDK の Maven BOM をインポートします。

1. ご自身のアプリケーションの `build.gradle` ファイルに依存関係管理プラグインを追加します。

   ```
   buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
           classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
       }
   }
   
   apply plugin: "io.spring.dependency-management"
   ```

1. ファイルの *dependencyManagement* セクションに BOM を追加します。

   ```
   dependencyManagement {
       imports {
           mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
       }
   }
   ```

1. *dependencies* セクションで使用する SDK モジュールを指定します。たとえば次の例には、 Amazon S3の依存関係が含まれています。

   ```
   dependencies {
       compile 'com.amazonaws:aws-java-sdk-s3'
   }
   ```

Gradle は BOM の情報を使用して、正しいバージョンの SDK 依存関係を自動的に解決します。

以下は、 の依存関係を含む完全な`build.gradle`ファイルの例です Amazon S3。

```
group 'aws.test'
version '1.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'com.amazonaws:aws-java-sdk-bom:1.12.529'
  }
}

dependencies {
  compile 'com.amazonaws:aws-java-sdk-s3'
  testCompile group: 'junit', name: 'junit', version: '4.11'
}
```

**注記**  
前の例では、 の依存関係を Amazon S3 、プロジェクトで使用する AWS サービスの依存関係に置き換えます。BOM によって管理されるモジュール (依存関係) AWS SDK for Java は [Maven 中央リポジトリ](https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom/latest)に一覧表示されます。

BOM を使用した SDK の依存関係の指定の詳細については、[Apache Maven とともに SDK を使用する](setup-project-maven.md)を参照してください。

# 開発 AWS リージョン 用の AWS 一時的な認証情報と を設定する
<a name="setup-credentials"></a>

でサポートされているサービスに接続するには AWS SDK for Java、 AWS 一時的な認証情報を指定する必要があります。 AWS SDKs と CLIs*、プロバイダーチェーン*を使用して、システム/ユーザー環境変数やローカル AWS 設定ファイルなど、さまざまな場所で AWS 一時的な認証情報を検索します。

このトピックでは、 を使用したローカルアプリケーション開発用の AWS 一時的な認証情報の設定に関する基本情報を提供します AWS SDK for Java。EC2 インスタンス内で使用するための認証情報をセットアップする必要がある場合、または開発に Eclipse IDE を使用している場合は、代わりに以下のトピックを参照してください。
+ EC2 インスタンスを使用する場合は、「IAM ロールを使用してリソースへのアクセスを許可する」に示すように、IAM ロールを作成し、EC2 インスタンスにそのロールへのアクセス権を付与します。 [AWSAmazon EC2](java-dg-roles.md)
+ を使用して Eclipse 内で AWS 認証情報を設定します[AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)。詳細については、[「 ユーザーガイド」の AWS 「認証情報の設定](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/setup-credentials.html)」を参照してください。 [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/)

## 一時的な認証情報の設定
<a name="setup-credentials-setting"></a>

の一時的な認証情報はさまざまな AWS SDK for Java 方法で設定できますが、推奨されるアプローチは次のとおりです。
+ ローカルシステムの認証情報プロファイルファイルに一時的な AWS 認証情報を設定します。
  +  `~/.aws/credentials`Linux、macOS、Unix の場合は
  +  Windows の `C:\Users\USERNAME\.aws\credentials`

  一時的な認証情報を取得する方法については、本ガイドの「[SDK の一時的な認証情報を設定します。](signup-create-iam-user.md#setup-temp-creds)」を参照してください。
+ `AWS_ACCESS_KEY_ID`、`AWS_SECRET_ACCESS_KEY`、および `AWS_SESSION_TOKEN` 環境変数を設定します。

  これらの変数を Linux、macOS、または Unix で設定するには、 を使用します。

  ```
  export AWS_ACCESS_KEY_ID=your_access_key_id
  export AWS_SECRET_ACCESS_KEY=your_secret_access_key
  export AWS_SESSION_TOKEN=your_session_token
  ```

  Windows でこれらの変数を設定するには、 を使用します。

  ```
  set AWS_ACCESS_KEY_ID=your_access_key_id
  set AWS_SECRET_ACCESS_KEY=your_secret_access_key
  set AWS_SESSION_TOKEN=your_session_token
  ```
+ EC2 インスタンスの場合、IAM ロールを指定し、そのロールへのアクセスを EC2 インスタンスに提供します。この仕組みの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「 [の IAM ロール Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)」を参照してください。

これらの方法のいずれかを使用して AWS 一時的な認証情報を設定すると、デフォルトの認証情報プロバイダーチェーンを使用して AWS SDK for Java によって自動的にロードされます。Java アプリケーションでの AWS 認証情報の使用の詳細については、[AWS 「認証情報の使用](credentials.md)」を参照してください。

## IMDS 認証情報の更新
<a name="refresh-credentials"></a>

 AWS SDK for Java は、認証情報の有効期限に関係なく、1 分ごとにバックグラウンドで IMDS 認証情報の更新をオプトインします。これにより、認証情報をより頻繁に更新でき、IMDS に到達しないと認識される AWS 可用性に影響する可能性が低くなります。

```
 1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during
 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed
 3. // again one minute later.
 4.
 5. InstanceProfileCredentialsProvider credentials =
 6.     InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true);
 7.
 8. AmazonS3Client.builder()
 9.              .withCredentials(credentials)
 10.              .build();
 11.
 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread.
 13. credentials.close();
```

## の設定 AWS リージョン
<a name="setup-credentials-setting-region"></a>

で AWS サービスにアクセス AWS リージョン するために使用するデフォルトを設定する必要があります AWS SDK for Java。最適なパフォーマンスを得るために、地理的に近いリージョンを選択します。各サービスのリージョンのリストについては、 Amazon Web Services 全般のリファレンスの[「リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。

**注記**  
リージョンを選択*しない*と、デフォルトで us-east-1 が使用されます。

同様の手法を使用して認証情報を設定し、デフォルトの AWS リージョンを設定できます。
+ ローカルシステムの AWS リージョン AWS 設定ファイルで を設定します。場所は次のとおりです。
  + Linux、macOS、または Unix の \$1/.aws/config
  + Windows の C:\$1Users\$1USERNAME\$1.aws\$1config

  このファイルには以下の形式の行が含まれている必要があります。

  \$1

  ```
  [default]
  region = your_aws_region
  ```

  \$1

  目的 AWS リージョン (「us-east-1」など) を *your\$1aws\$1region* に置き換えます。
+ `AWS_REGION` 環境変数を設定します。

  Linux、macOS、または Unix では、**``** を使用してください:

  ```
  export AWS_REGION=your_aws_region
  ```

  Windows では、**``** を使用します。

  ```
  set AWS_REGION=your_aws_region
  ```

  ここで*、your\$1aws\$1region* は目的 AWS リージョン の名前です。