【发布时间】:2023-05-16 08:05:02
【问题描述】:
我正在尝试检查存储桶是否存在,如果存在则将其删除,如果不存在则抛出错误。
使用AmazonClientBuilder 类,我使用doesBucketExist 方法检查存储桶是否存在,并使用deleteBucket 方法删除该存储桶(如果存在)。如果它不存在,那么说明它。
注意:我已确保我拥有对存储桶执行所有操作的完全访问权限。
但是当我运行代码时,输出只显示存储桶名称,但不显示它是否被删除。为了验证bucket是否被删除,我正在做一个System.out.println,以便在屏幕上显示bucket被删除。
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
public class DeleteBucket
{
private static String bucketName = "mycalibucket1";
public static void main(String[] args)
{
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_WEST_2)
.build();
try
{
if(s3Client.doesBucketExist(bucketName))
{
System.out.printf("\n",bucketName," exists");
s3Client.deleteBucket(bucketName);
System.out.println("----------------------------------------------");
System.out.printf("\n",bucketName," is deleted.");
}
}
catch(AmazonS3Exception e)
{
System.out.printf(bucketName," does not exist.");
System.exit(1);
}
}
}
输出:
mycalibucket1
有人可以帮帮我吗?
【问题讨论】:
-
请使用 log4j/slf4j 的记录器,而不是这样输出的可读性更好
标签: java amazon-web-services amazon-s3 bucket