无法使用java从AWS S3删除对象?

无法使用java从AWS S3删除对象?,java,amazon-web-services,amazon-s3,aws-sdk,Java,Amazon Web Services,Amazon S3,Aws Sdk,我正在尝试根据前缀文件夹列出对象并删除每个对象 AWSCredentials awsCredentials = new BasicAWSCredentials("accesskey", "secretkey"); AmazonS3 s3client = new AmazonS3Client(awsCredentials); ListObjectsRequest listObjectsRequest = new ListObjectsRequest("bucketn

我正在尝试根据前缀文件夹列出对象并删除每个对象

AWSCredentials awsCredentials = new BasicAWSCredentials("accesskey", "secretkey");
AmazonS3 s3client = new AmazonS3Client(awsCredentials);
ListObjectsRequest listObjectsRequest = 
               new ListObjectsRequest("bucketname","folder",null,"/",1000);

s3client
      .listObjects(listObjectsRequest)
      .getObjectSummaries()
      .forEach(
          (file) -> {
            DeleteObjectRequest deleteRequest = new DeleteObjectRequest("bucketname", file.getKey());
            s3client.deleteObject(deleteRequest);
          });
但我有以下例外

com.amazonaws.services.s3.model.amazons3异常:拒绝访问(服务:Amazon s3;状态代码:403;错误代码:拒绝访问;

    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4187)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4134)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4128)
    at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:839)
我使用的键是有效的。我可以执行其他操作,如
getobject()


我做错了什么?

问题标题看起来不对。您可以列出对象,但不能删除对象。这似乎是权限问题


与密钥关联的用户无权删除该S3 bucket上的对象。检查此问题的最简单方法是在AWS控制台上以该用户的身份登录(如果该用户具有AWS控制台用户名/密码);并尝试手动删除对象。

问题标题似乎有误。您可以列出对象,但不能删除对象。这可能是权限问题


与密钥关联的用户没有权限删除该S3存储桶上的对象。检查此问题的最简单方法是以该用户的身份登录AWS控制台(如果该用户具有AWS控制台用户名/密码);然后尝试手动删除该对象。

如果我删除“删除”,则实际上没有逻辑和尝试我得到了相同的错误你可以看到我在com.amazonaws.services.s3.amazon3client.listObjects(amazon3client.java:839)上发布的日志跟踪…getObject()和listObjects()是不同的权限。这个用户没有listObjects()权限实际上如果我删除“delete”逻辑和尝试我得到了相同的错误您可以看到我在com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:839)上发布的有问题的日志跟踪。getObject()和listObjects()是不同的权限。此用户没有listObjects()权限