Springブートアプリケーション用のバックエンドDynamoDBを実装しようとしています。しかし、AWSは最近SDKをDynamoDB用に更新しました。したがって、http://www.baeldung.com/spring-data-dynamodbのようなインターネット上で利用可能なほとんどのチュートリアルは、直接関連性がありません。SpringブートのためのDynamoDBの実装
DynamoDBクラスに関するAmazonのSDKドキュメントを読んだことがあります。具体的には、オブジェクトのインスタンス化方法とエンドポイント/リージョンの設定が変更されています。過去には、構築および設定のエンドポイントは、次のようになります。
@Bean
public AmazonDynamoDB amazonDynamoDB() {
AmazonDynamoDB amazonDynamoDB
= new AmazonDynamoDBClient(amazonAWSCredentials());
if (!StringUtils.isEmpty(amazonDynamoDBEndpoint)) {
amazonDynamoDB.setEndpoint(amazonDynamoDBEndpoint);
}
return amazonDynamoDB;
}
@Bean
public AWSCredentials amazonAWSCredentials() {
return new BasicAWSCredentials(
amazonAWSAccessKey, amazonAWSSecretKey);
}
しかし、setEndpoint()メソッドは廃止され、私たちはビルダーを通じてDynamoDBのオブジェクトを作成する必要があり[AWS documentation][1]
状態:
AmazonDynamoDBClient()推奨されていません。
この他StackOverflow postは、データベース接続オブジェクトをインスタンス化するために、この戦略を使用することをお勧めします AmazonDynamoDBClientBuilder.defaultClient()を使用します。
DynamoDB dynamoDB = new DynamoDB(AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(new EndpointConfiguration("http://localhost:8000", "us-east-1")).build());
Table table = dynamoDB.getTable("Movies");
しかし、私はDynamoDBのは抽象的で、インスタンス化することはできませんIntelliJの上のエラーを取得します。しかし、私は拡張する適切なクラスに関する文書を見つけることができません。
言い換えれば、私はチュートリアル、SO、およびAWSのドキュメントを精査してきましたが、クライアントを作成する正しい方法がわからないことがあります。誰かが動作する実装を提供できますか?私は、ローカルのDynamoDB(localhostポート8000のエンドポイント)を使ってクライアントを設定しようとしています。
こんにちは@私は同じ問題を抱えています。これをBeanとしてどのように実装しましたか? – Victor