【问题标题】:All folder names are not coming in List objects call of Amazon S3所有文件夹名称都没有出现在 Amazon S3 的列表对象调用中
【发布时间】:2023-03-17 12:22:01
【问题描述】:

enter image description here我正在使用以下代码列出 S3 存储桶中存在的所有对象。但问题不在于调用中的所有文件夹名称。我已附上图片以供参考。

AmazonS3 s3Object = AmazonS3Utils.getS3Object(amazonS3ConnectionValues.regionName, amazonS3ConnectionValues.accessKey, amazonS3ConnectionValues.secretKey);
                s3Object.listBuckets();
                ListObjectsV2Result objectsList = s3Object.listObjectsV2(bucket);
                List<S3ObjectSummary> objectSummaries = objectsList.getObjectSummaries();
                for (S3ObjectSummary objectSummary : objectSummaries) {
                    Object[] newRow;
                    newRow = RowDataUtil.allocateRowData(data.outputRowMeta.size());
                    int index = 0;
                    newRow[index++] = objectSummary.getKey();
                    newRow[index++] = objectSummary.getETag();
                    newRow[index++] = objectSummary.getSize();
                    newRow[index++] = objectSummary.getLastModified();
                    newRow[index++] = objectSummary.getStorageClass();
                    putRow(data.outputRowMeta, newRow);

如图所示文件夹名称“automationedge123/”没有在响应中显示,其他文件夹名称如“Test Folder/”、“automationedge/”是显示在输出中。我不理解这种行为。

【问题讨论】:

  • 没有附加图片。
  • 你好,Marcin,我已经上传了图片。

标签: java amazon-web-services amazon-s3


【解决方案1】:

listObjects 结果可能是分页的。通过查看isTruncated() (link) 的返回值,确保您没有看到截断的结果。

这是来自 listObjects(...)] (link) 的 javadoc 的引用

因为存储桶可以包含几乎无限数量的键,所以 列表查询的完整结果可能非常大。管理 大型结果集,Amazon S3 使用分页将它们分成 多重回应。始终检查 ObjectListing.isTruncated() 方法来查看返回的列表是否完整或是否附加 需要调用才能获得更多结果。或者,使用 AmazonS3Client.listNextBatchOfObjects(ObjectListing) 方法很简单 获取下一页对象列表的方法。

【讨论】:

  • 我尝试使用上述方式,但响应仍然与查询中给出的相同。
  • isTruncated() 的结果是什么?
  • isTruncated() 方法为假。结果和查询结果一样。
  • 再次仔细查看您的图像,您是否可能遇到这种情况:stackoverflow.com/questions/33565321/…
  • 通过您提供的StackOverflow链接,我的情况与上述问题中提到的情况相同。
猜你喜欢
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多