JavaでS3オブジェクトの存在チェックをする方法

この記事を書いたチーム:frontier

JavaS3オブジェクト(ファイル、フォルダ)の存在チェックをする方法をまとめました。

 

S3クライアントを作成

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

まず、JavaからS3にアクセスするためにクライアントを作成します。

クライアントを作成するためには「アクセスID」、「シークレットアクセスキー」、リージョン名」が必要です。

 

S3オブジェクトの存在チェックに使用するメソッド

ファイルもフォルダもS3上ではkeyvalueを持つオブジェクトなので、存在チェックには共通のメソッドdoesObjectExistメソッドを使用します。

doesObjectExist(“バケット名”, “オブジェクト名”)で対象のオブジェクトが存在すれば、trueを返し、存在しなければfalseを返します。

 

S3上のファイルの存在チェック

doesObjectExistメソッドを使用して、S3上のファイルの存在チェックを行います。

例としてバケットtest-bucketにファイルtest-fileが存在したとします。

以下のようなコードでtrueが出力されます。

 

S3上のフォルダの存在チェック

doesObjectExistメソッドを使用して、S3上フォルダの存在チェックを行いますが、フォルダの存在チェックはオブジェクト名の指定時に注意が必要です。

例としてバケットtest-bucketにフォルダtest-folderが存在したとします。

以下のようなコードだとfalseが出力されます。

“test-folder”だとオブジェクトとして認識されないので以下のコードのように、スラッシュを付けることで、trueが出力されるようになります。

存在チェック以外にもファイルアップロード、ダウンロードなどJavaS3オブジェクトを操作する方法がたくさんあるので、興味があれば調べてみてください。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス