AWS SDK for Javaを利用して、S3オブジェクトの削除ができます。
#1つのオブジェクトの削除
bucket名とオブジェクトキーを指定すれば、指定オブジェクトの削除ができます。
try {
final AmazonS3 s3 = new AmazonS3Client();
s3.deleteObject(bucket_name, object_key);
} catch (AmazonServiceException e) {
e.printStackTrace();
}
#指定フォルダーにある全てのオブジェクトの削除
bucket名とフォルダー名を指定すれば、指定フォルダーにある全てのオブジェクトの削除ができます。
try {
final AmazonS3 s3 = new AmazonS3Client();
ObjectListing objListing = s3.listObjects(bucket_name,folder_nm);
List<S3ObjectSummary> objList = objListing.getObjectSummaries();
for (S3ObjectSummary obj : objList) {
s3.deleteObject(bucket_name, obj.getKey());
}
} catch (AmazonServiceException e) {
e.printStackTrace();
}
s3.listObjectsは以下のようなポリシー設定は必要。
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action: "s3:*"
Resource:
- "arn:aws:s3:::bucket-test-01"
- "arn:aws:s3:::bucket-test-01/*"