環境を開発、テスト、本番と使い分けるためにDynamoDBのテーブル名にプレフィックスを付けるケースは多いと思います。
DynamoDBMapperには、Mapperの生成時にDynamoDBMapperConfigを使って設定を書き換える機能があります。
この設定の一つに、テーブル名を差し替える機能があるのでこれを使用します。
公式のドキュメントはこちら(ただし既にコードがDeprecatedになっている)
テーブル名にプレフィックスを付ける
TableNameOverrideを使って、テーブル名にプレフィックスを付けることができます。
サンプルです。言語はScalaで書かれています。
@DynamoDBTable(tableName="Music")
class MusicItem {
// 省略
}
val client: AmazonDynamoDBClient = (new AmazonDynamoDBClient())
.withEndpoint("http://localhost:8000")
// Configの生成
val mapperConfig: DynamoDBMapperConfig = new DynamoDBMapperConfig.Builder()
.withTableNameOverride(TableNameOverride.withTableNamePrefix("Dev-"))
.build()
// Mapper生成時にConfigを渡す
val mapper: DynamoDBMapper = new DynamoDBMapper(client, mapperConfig)
この場合、MapperはDev-Music
テーブルに対してアクセスするようになります。