

# DynamoDB に対する AWS SDK サポートの概要
<a name="Programming.SDKOverview"></a>

次の図表は、AWS SDK を使用した Amazon DynamoDB アプリケーションの、プログラミングの概要を示しています。

![AWS SDK で DynamoDB を使用するためのプログラミングモデル。](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/SDKSupport.png)


1. 自分が使用するプログラミング言語用のための AWS SDK を使用して、アプリケーションを作成します。

1. 各 AWS SDK には、DynamoDB を操作するプログラミングインターフェイスが 1 つ以上用意されています。使用できるインターフェイスは、使用するプログラミング言語と AWS SDK によって異なります。オプションには以下が含まれます。
   + [DynamoDB で動作する低レベルインターフェイス](Programming.SDKs.Interfaces.md#Programming.SDKs.Interfaces.LowLevel)
   + [DynamoDB で動作するドキュメントインターフェイス](Programming.SDKs.Interfaces.md#Programming.SDKs.Interfaces.Document)
   + [DynamoDB で動作するオブジェクト永続性インターフェイス](Programming.SDKs.Interfaces.md#Programming.SDKs.Interfaces.Mapper)
   + [高レベルのインターフェイス](HigherLevelInterfaces.md)

1. AWS SDK は、低レベル DynamoDB API で使用する HTTP (S) リクエストを作成します。

1. AWS SDK は DynamoDB エンドポイントにリクエストを送信します。

1. DynamoDB がリクエストを実行します。リクエストが成功すると、DynamoDB は HTTP 200 レスポンスコード (OK) を返します。リクエストが失敗した場合は、DynamoDB は HTTP エラーコードとエラーメッセージを返します。

1. AWS SDK はレスポンスを処理し、アプリケーションに伝達します。

各 AWS SDK は、次のような重要なサービスをアプリケーションに提供します。
+ HTTP (S) リクエストのフォーマットと、リクエストパラメータのシリアル化。
+ リクエストごとの暗号化署名の生成。
+ DynamoDB エンドポイントへのリクエストの転送と、DynamoDB からのレスポンスの受信。
+ これらの応答からの結果の抽出。
+ エラーが発生した場合の基本的な再試行ロジックの実装。

これらのタスクでは、コードを記述する必要はありません。

**注記**  
AWS SDK のインストール方法とドキュメントの詳細については、「[アマゾン ウェブ サービス用ツール](https://aws.amazon.com/tools)」を参照してください。

## AWS アカウントベースのエンドポイントの SDK サポート
<a name="Programming.SDKs.endpoints"></a>

AWS は、2024 年 9 月 4 日、SDK for Java V1 から、DynamoDB の AWS アカウントベースのエンドポイントの AWS SDK サポートをロールアウトします。これらの新しいエンドポイントは、高いパフォーマンスとスケーラビリティを AWS で確保するのに役立ちます。更新された SDK では、`https://(account-id).ddb.(region).amazonaws.com` 形式の新しいエンドポイントを自動的に使用します。

SDK クライアントの 1 つのインスタンスを使用して複数のアカウントにリクエストを行う場合、アプリケーションは接続を再利用する機会が少なくなります。AWS では、SDK クライアントインスタンスあたりの接続先のアカウント数を減らすようにアプリケーションを変更することをお勧めします。代わりに、「[AWS SDK およびツールリファレンスガイド](https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html)」に記載されているように、`ACCOUNT_ID_ENDPOINT_MODE` 設定を使用してリージョンエンドポイントを引き続き使用するように SDK クライアントを設定することもできます。**