Java Aws多对象删除

Java Aws多对象删除,java,amazon-web-services,amazon-s3,Java,Amazon Web Services,Amazon S3,我试图删除多个对象,但它不会删除。我没有得到任何例外。如果我选择单次删除,它没有问题 下面是我正在使用的代码 public void deleteImage(){ List<KeyVersion> amazonKeys = new ArrayList<KeyVersion>(); amazonKeys.add(new KeyVersion("compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpe

我试图删除多个对象,但它不会删除。我没有得到任何例外。如果我选择单次删除,它没有问题

下面是我正在使用的代码

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);
    }
我已使用以下代码删除单个对象(工作正常)

请帮助我在多对象删除中缺少什么


提前感谢

这不是有效的存储桶名称:

mubucketname/dev/3123
bucket名称与key分开,不能将key的路径前缀放在bucket名称上。试试这个:

List<KeyVersion> keys = new ArrayList<KeyVersion>();
keys.add(new KeyVersion("dev/3123/compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpeg"));
keys.add(new KeyVersion("dev/3123/compressedb52adf1e-5155-48b6-9051-bb679601f5ee.jpeg"));
DeleteObjectsRequest request = new DeleteObjectsRequest("mubucketname").withKeys(keys);
DeleteObjectsResult result = s3client.deleteObjects(request);
List key=new ArrayList();
添加(新密钥版本(“dev/3123/compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpeg”);
添加(新密钥版本(“dev/3123/compressedb52adf1e-5155-48b6-9051-bb679601f5ee.jpeg”);
DeleteObjectsRequest请求=新的DeleteObjectsRequest(“mubucketname”)。带密钥(密钥);
DeleteObjectsResult结果=s3client.deleteObjects(请求);

您是否尝试过将您的代码与AWS示例进行比较?感谢您的快速响应,请更新您的答案,在获取密钥时不需要给出斜杠,它看起来就像(“dev/3123/*.jpg”)。如果我在这里用斜杠,它就不起作用了。
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());
        }
mubucketname/dev/3123
List<KeyVersion> keys = new ArrayList<KeyVersion>();
keys.add(new KeyVersion("dev/3123/compressedc1eac77b-9c38-4036-9770-34a77a163bb0.jpeg"));
keys.add(new KeyVersion("dev/3123/compressedb52adf1e-5155-48b6-9051-bb679601f5ee.jpeg"));
DeleteObjectsRequest request = new DeleteObjectsRequest("mubucketname").withKeys(keys);
DeleteObjectsResult result = s3client.deleteObjects(request);