首页 > 解决方案 > ListObjectsV2 访问被拒绝 Java SDK

问题描述

我试图在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了我是否有权限,并且能够以这种方式打印整个存储桶。对接下来的调试步骤有什么想法吗?

标签: javaamazon-s3

解决方案


通过 ssh 进入实例并比较 aws s3 ls 和 s3api 的输出来解决。忘记了强制前缀和分隔符。


推荐阅读