【发布时间】:2016-06-14 01:46:28
【问题描述】:
我正在尝试删除多个对象,但它不会删除。我没有得到任何异常。如果我去单次删除,没有问题。
以下代码我正在使用
public void deleteImage(){
List<KeyVersion> amazonKeys = new ArrayList<KeyVersion>();
amazonKeys.add(new KeyVersion("compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpeg"));
amazonKeys.add(new KeyVersion("compressedb52adf1e-5155-48b6-9051-bb679601f5ee.jpeg"));
imageService.removeS3Files("mubucketname/dev/3123",amazonKeys);
}
我的服务是
public void removeS3Files(String bucketName,List<KeyVersion> keys){
log.debug("deleting multiple objects from s3 with bucket::" + bucketName);
try{
DeleteObjectsRequest multiObjectDeleteRequest = new DeleteObjectsRequest(bucketName);
multiObjectDeleteRequest.setKeys(keys);
AmazonS3 s3client = new AmazonS3Client(CustomAwsCredentials.getInstance(envConfiguration));
s3client.setEndpoint(Constant.AWS_ENDPOINT);
DeleteObjectsResult deleteObjectsResult = s3client.deleteObjects(multiObjectDeleteRequest);
System.out.println(deleteObjectsResult.getDeletedObjects());
}catch(AmazonServiceException exception){
log.debug("Caught an AmazonServiceException.");
log.debug("Error Message: " + exception.getMessage());
}catch (AmazonClientException clientException) {
log.debug("Caught an AmazonClientException.");
log.debug("Error Message: " + clientException.getMessage());
}
}
我在存储桶中的数据存储看起来像
bucketname/dev/3123/compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpeg
bucketname/dev/3123/compressedb52adf1e-5155-48b6-9051-bb679601f5ee.jpeg
我使用下面的代码删除单个对象(工作正常)
try{
AmazonS3 s3client = new AmazonS3Client(CustomAwsCredentials.getInstance(envConfiguration));
System.out.println(s3client.doesBucketExist(bucketName));
s3client.setEndpoint(Constant.AWS_ENDPOINT);
s3client.deleteObject(bucketName, key);
}catch(AmazonServiceException exception){
log.debug("Caught an AmazonServiceException.");
log.debug("Error Message: " + exception.getMessage());
}catch (AmazonClientException clientException) {
log.debug("Caught an AmazonClientException.");
log.debug("Error Message: " + clientException.getMessage());
}
请帮助我在多个对象删除中缺少什么?
提前致谢
【问题讨论】:
-
您是否尝试过将您的代码与docs.aws.amazon.com/AmazonS3/latest/dev/… 的 AWS 示例进行比较?
标签: java amazon-web-services amazon-s3