

# Java コードの例
<a name="CodeSamples.Java"></a>

**Topics**
+ [Java: AWS 認証情報の設定](#CodeSamples.Java.Credentials)
+ [Java: AWS リージョンとエンドポイントの設定](#CodeSamples.Java.RegionAndEndpoint)

この開発者ガイドには、Java コードスニペットとすぐに使用できるプログラムが含まれています。これらのコード例は、次のセクションで確認することができます。
+ [DynamoDB での項目と属性の操作](WorkingWithItems.md)
+ [DynamoDB でのテーブルとデータの操作](WorkingWithTables.md)
+ [DynamoDB のテーブルに対するクエリの実行](Query.md)
+ [DynamoDB でのテーブルのスキャン](Scan.md)
+ [DynamoDB でのセカンダリインデックスを使用したデータアクセス性の向上](SecondaryIndexes.md)
+ [Java 1.x: DynamoDBMapper](DynamoDBMapper.md)
+ [DynamoDB Streams の変更データキャプチャ](Streams.md)

Eclipse と [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/) を使用して、すぐに開始できます。フル機能の IDE に加えて、自動更新で AWS SDK for Java および AWS アプリケーションの構築用に事前設定されたテンプレートも取得できます。

**Java サンプルコードを実行するには (Eclipse を使用)**

1. [Eclipse](http://www.eclipse.org) IDE をダウンロードし、インストールします。

1. のダウンロードおよびインストール。[AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)。

1. Eclipse を起動し、**Eclipse** メニューから、**[File]** (ファイル)、**[New]** (新規)、**[Other]** (その他) の順に選択します。

1. **[Select a wizard]** (ウィザードの選択) で、**AWS**、**[AWS Java Project]** ( Java プロジェクト) の順に選択してから、**[Next]** (次へ) をクリックします。

1. **[AWS Java の作成]** で、次の操作を行います。

   1. **[Project name]** (プロジェクト名) にプロジェクトの名前を入力します。

   1. **[Select Account]** (アカウントの選択) リストから認証情報プロファイルを選択します。

      [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/) を初めて使用する場合、**[AWS アカウントの設定]** を選択して、AWS 認証情報を設定します。

1. **[Finish]** (完了) を選択してプロジェクトを作成します。

1. **Eclipse** メニューから **[File]** (ファイル)、**[New]** (新規)、**[Class]** (クラス) の順に選択します。

1. **[Java Class]** (Java クラス) の **[Name]** (名前) にクラスの名前を入力し (実行するコード例と同じ名前を使用)、**[Finish]** (完了) を選択してクラスを作成します。

1. ドキュメントページから Eclipse エディタにサンプルコードをコピーします。

1. コードを実行するには、Eclipse メニューの **[Run]** (実行) を選択します。

SDK for Java には、DynamoDB を操作するためにスレッドセーフなクライアントが用意されています。ベストプラクティスとして、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用します。

詳細については、[AWS SDK for Java](https://aws.amazon.com/sdk-for-java) を参照してください。

**注記**  
このガイドのサンプルコードは、最新バージョンの AWS SDK for Java で使用するためのものです。  
AWS Toolkit for Eclipse を使用している場合、SDK for Java の自動更新を設定することができます。これを Eclipse で行うには、**[Preferences]** (基本設定) に移動し、**AWS Toolkit**、**AWS SDK for Java**、**[Download new SDKs automatically]** (新しい SDK を自動的にダウンロード) の順に選択します。

## Java: AWS 認証情報の設定
<a name="CodeSamples.Java.Credentials"></a>

SDK for Java では、ランタイムにアプリケーションに AWS 認証情報を指定する必要があります。このガイドのコード例では、AWS 認証情報ファイルを使用していることを前提としています。詳細については、「AWS SDK for Java デベロッパーガイド」の「[開発用の AWS 認証情報のセットアップ](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/set-up-creds.html)」を参照してください。

`~/.aws/credentials` という名前の AWS 認証情報ファイルの例を次に示します。ここで、チルダ文字 (`~`) はホームディレクトリを表します。

```
[default]
aws_access_key_id = AWS access key ID goes here
aws_secret_access_key = Secret key goes here
```

## Java: AWS リージョンとエンドポイントの設定
<a name="CodeSamples.Java.RegionAndEndpoint"></a>

デフォルトでは、コード例は、米国西部 (オレゴン) リージョンの DynamoDB にアクセスします。このリージョンを変更するには、`AmazonDynamoDB` プロパティを変更します。

次のサンプルコードは、新しい `AmazonDynamoDB` をインスタンス化します。

```
import software.amazon.dynamodb.AmazonDynamoDBClientBuilder;
import com.amazonaws.regions.Regions;
...
// This client will default to US West (Oregon)
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
.withRegion(Regions.US_WEST_2)
.build();
```

`withRegion` メソッドを使用して、利用可能な任意のリージョンで、DynamoDB を対象としてコードを実行できます。リージョンのリストについては、「*Amazon Web Services 全般のリファレンス*」の「[AWS リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)」を参照してください。

ローカルコンピュータで DynamoDB を使用してサンプルコードを実行する場合は、エンドポイントを設定する必要があります。

### AWS SDKV1
<a name="CodeSamples.Java.RegionAndEndpoint.V1"></a>

```
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-west-2"))
.build();
```

### AWS SDK V2
<a name="CodeSamples.Java.RegionAndEndpoint.V2"></a>

```
DynamoDbClient client = DynamoDbClient.builder()
    .endpointOverride(URI.create("http://localhost:8000"))
    // The region is meaningless for local DynamoDb but required for client builder validation
    .region(Region.US_EAST_1)
    .credentialsProvider(StaticCredentialsProvider.create(
    AwsBasicCredentials.create("dummy-key", "dummy-secret")))
    .build();
```