拡張クライアントと DynamoDbTable を作成する - AWS SDK for Java 2.x

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

拡張クライアントと DynamoDbTable を作成する

拡張クライアントを作成する

DynamoDbEnhancedClient クラスまたはその非同期のカウンターパート はDynamoDbEnhancedAsyncClient、DynamoDB 拡張クライアント を操作するエントリポイントですAPI。

拡張クライアントでは、作業を実行するための標準の DynamoDbClient が必要です。API には、DynamoDbEnhancedClientインスタンスを作成する 2 つの方法があります。以下のスニペットに示す 1 つ目のオプションは、構成設定から選択したデフォルト設定を使用して標準の DynamoDbClient を作成します。

DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.create();

基礎となる標準クライアントを設定する場合は、次のスニペットに示すように、拡張クライアントのビルダーメソッドにそれを提供することができます。

// Configure an instance of the standard DynamoDbClient. DynamoDbClient standardClient = DynamoDbClient.builder() .region(Region.US_EAST_1) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); // Use the configured standard client with the enhanced client. DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder() .dynamoDbClient(standardClient) .build();

DynamoDbTable インスタンスを作成します。

DynamoDbTable は、TableSchema によって提供されるマッピング機能を使用する DynamoDB テーブルのクライアント側表現と考えます。DynamoDbTable クラスには、単一の DynamoDB テーブルと対話できるCRUDオペレーションのメソッドが用意されています。

DynamoDbTable<T> は、カスタムクラスでもドキュメントタイプのアイテムを操作するときの EnhancedDocument でも、単一の型引数を取る汎用クラスです。この引数タイプは、使用するクラスと単一の DynamoDB テーブルとの関係を確立します。

次のスニペットに示すように、DynamoDbEnhancedClienttable() ファクトリメソッドを使用して、DynamoDbTable インスタンスを作成します。

static final DynamoDbTable<Customer> customerTable = enhancedClient.table("Customer", TableSchema.fromBean(Customer.class));

DynamoDbTable インスタンスは不変であり、アプリケーション全体で使用できるので、シングルトンの候補です。

コードに、Customerインスタンスで使用できる DynamoDB テーブルのインメモリ表現が追加されました。実際の DynamoDB テーブルは、存在する場合と存在しない場合があります。という名前のテーブルがCustomer既に存在する場合は、そのテーブルに対してCRUDオペレーションの実行を開始できます。テーブルが見つからない場合、次のセクションで説明するように、DynamoDbTable インスタンスを使用してテーブルを作成します。