我有以下方法,该方法可从AWS S3 Bucket删除文件,
是否有任何解决方法来应对这种情况。
@Override
public void deleteFile(String fileName) {
try {
this.client.deleteObject(builder ->
builder
.bucket(this.bucketName).key(fileName)
.build());
} catch (S3Exception ex) {
ex.printStackTrace();
}
}
答案 0 :(得分:1)
如果请求成功,则删除对象。请注意,由于最终的一致性,不能保证该对象立即消失。您需要检查HTTP状态代码。
AmazonS3 as3 = new AmazonS3();
Status myStatus = as3.DeleteObject(<fill in paramters here>);
if (myStatus.Code >= 200 && myStatus.Code < 300)
{
// Success
}
else
{
// Delete Failed
// Handle specific Error Codes below
if (myStatus.Description == "AllAccessDisabled")
{
// Do something
}
if (myStatus.Description == "NoSuchKey")
{
// Do something
}
}
此外,还有一个API可用来检查S3中是否存在对象 didObjectExist