ListObjectsV2访问被拒绝Java SDK

时间:2020-10-22 17:03:34

标签: java amazon-s3

我正在尝试使用Java中的以下代码在前缀下列出存储桶中的所有对象:

ListObjectsV2Request request =
      new ListObjectsV2Request()
          .withBucketName(bucketName)
          .withDelimiter("/")
          .withPrefix(prefix)
          .withMaxKeys(2);
  ListObjectsV2Result result;
  do {
    result = s3Client.listObjectsV2(req);
    log.info("Results size is : " + result.getObjectSummaries().size());

正确设置了s3client,因为我可以上载,删除等。列出对象时只有一个问题。如果不提供前缀,则会收到拒绝访问的信息,但是如果提供前缀,则会收到空响应。我测试了aws s3 ls,看看是否有权限,并且能够以这种方式打印整个存储桶。对下一步的调试有什么想法吗?

1 个答案:

答案 0 :(得分:0)

通过切入实例并比较AWS s3 ls和s3api的输出来解决。忘记了必需的前缀和分隔符。