翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
高度なマッピング機能を使用する
DynamoDB 拡張クライアント API の高度なテーブルスキーマ機能について説明します。
テーブルのスキーマタイプを理解する
TableSchema は DynamoDB 拡張クライアント API のマッピング機能へのインターフェイスです。データオブジェクトを AttributeValues のマップにマップしたり、AttributeValuesTableSchema オブジェクトはマッピングするテーブルの構造を知る必要があります。この構造情報は TableMetadata
拡張クライアント API には、以下のようないくつかの TableSchema の実装があります。
注釈付きのクラスから生成されたテーブルスキーマ
注釈付きクラスから TableSchema を構築するのは比較的コストのかかる操作であり、アプリケーションの起動時に一度実行することをお勧めします。
- BeanTableSchema
-
この実装は Bean クラスの属性と注釈に基づいて構築されています。この方法の例は、「はじめに」セクションで説明されています。
注記
BeanTableSchemaが期待どおりに動作しない場合は、software.amazon.awssdk.enhanced.dynamodb.beansのデバッグログ記録を有効にします。 - ImmutableTableSchema
-
この実装は不変データクラスから構築されています。このアプローチは 不変データクラスでの操作 セクションで説明されています。
ビルダーで生成されたテーブルスキーマ
以下の TableSchema は、ビルダーを使用してコードから構築されています。このアプローチは、注釈付きのデータクラスを使用するアプローチよりもコストが低くなります。ビルダーのアプローチでは注釈を使用せず、JavaBean の命名標準も必要ありません。
- StaticTableSchema
-
この実装は可変データクラス用に構築されています。このガイドの「はじめに」セクションでは、ビルダーを使用して StaticTableSchema を生成する方法を説明しました。
- StaticImmutableTableSchema
-
StaticTableSchemaを構築する場合と同様に、不変データクラスで使用するビルダーを使用してこのタイプ TableSchemaの実装を生成します。
固定スキーマのないデータ用のテーブルスキーマ
- DocumentTableSchema
-
TableSchemaの他の実装とは異なり、DocumentTableSchemaインスタンスには属性を定義しません。通常は、プライマリキーと属性コンバータープロバイダーのみを指定します。EnhancedDocumentインスタンスは、個々の要素または JSON 文字列から構築した属性を提供します。