我正在尝试使用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
,看看是否有权限,并且能够以这种方式打印整个存储桶。对下一步的调试有什么想法吗?
答案 0 :(得分:0)
通过切入实例并比较AWS s3 ls和s3api的输出来解决。忘记了必需的前缀和分隔符。