Spring BootでAWS S3に接続してファイルのダウンロード・アップロードを行う方法をメモしておきます。AWS S3の公式ページがとても参考になりました。
環境
設定ファイル
build.gradle
build.gradle
については、Spring Initializrで依存性にAWS Core
を追加しただけです。これだけでAWS SDK for Javaを利用できるようになります。それぞれの項目の詳しい説明は以下のAWS公式ページをご覧ください。
application.yml
Spring BootでAWSを利用するための設定です。詳細は以下記事をご覧ください。
Spring Bootでローカル環境からAWSを利用する際の設定 - Reasonable Code
アプリケーションクラス
おなじみのSpring Bootのアプリケーションクラスです。
S3からダウンロードする
「S3のオブジェクトを取得する」→「ダウンロード先のファイルパスを指定する」→「S3のオブジェクトを読み込み、ダウンロード先のファイルに書き込む」という流れで処理しています。簡単ですね。
S3にアップロードする
こちらはもっと簡単ですね。たった数行でローカルのファイルをS3にアップロードできました。
まとめ
Spring BootでAWS S3に接続してファイルのダウンロード・アップロードを行う方法でした。ソースはGitHubにも載せています。
donchan922/spring-boot-s3-sample