我在检索AWS S3的文件夹内的所有对象(文件名)时遇到问题。这是我的代码:
ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
.withBucketName(bucket)
.withPrefix(folderName + "/")
.withMarker(folderName + "/")
ObjectListing objectListing = amazonWebService.s3.listObjects(listObjectsRequest)
for (S3ObjectSummary summary : objectListing.getObjectSummaries()) {
print summary.getKey()
}
它返回正确的对象,但带有前缀,例如foldename / filename
我知道我可以只使用java或子字符串来排除前缀,但我只想知道AWS开发工具包中是否有针对它的方法。
那没有。链接是所有可用方法的列表。其背后的原因是S3设计。S3没有“子文件夹”。相反,它只是文件列表,其中文件名是“前缀”加上所需的文件名。GUI显示的数据类似于存储在“文件夹”中的窗口,但是S3中没有文件夹逻辑。
最好的选择是用“ /”分割,并采用数组中的最后一个对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句