com4dc’s blog

Javaプログラマーのはずだけど運用してます

AWS SDK for Java V2

雑に調べたメモ

普通にググるとv1に行き着いてしまう。 mavenは以下らへん。

mvnrepository.com

GradleでSDKの組み込みは以下参照

https://docs.aws.amazon.com/ja_jp/sdk-for-java/v2/developer-guide/setup-project-gradle.htmldocs.aws.amazon.com

implementation platform('software.amazon.awssdk:bom:2.5.29')

これをdependencyに書いておかないと依存解決できない。

S3だけ使う場合は以下

implementation 'software.amazon.awssdk:s3'

Version指定はいらないらしい。 当然パッケージも変わってるので色々変えないとダメ。

maven リポジトリのサンプルだと testCompile しか書いてないんだけどなんでだろ。

S3Client

めちゃくちゃ安易にAccessKey, SecretKeyを明示的に指定するなら以下(当然あんまり推奨されてないが)

AwsBasicCredentials awsCreds = AwsBasicCredentials.create(getAccessKey(), getSecretKey());
var s3Client = S3Client.builder().credentialsProvider(StaticCredentialsProvider.create(awsCreds))
                        .build();

AccessKey, SecretKey を必要とする AwsCredentials の実装は以下

sdk.amazonaws.com

まあ、Profile指定したいときはこの辺を変えてあげれば良さそう。比較的直感的だと思うけど、v1 系の知識でそのまま書けないので色々書き直さないとダメそう。