gpt4 book ai didi

amazon-web-services - 亚马逊S3 : Listing Object with Metadata in single request

转载 作者:行者123 更新时间:2023-12-03 06:54:55 25 4
gpt4 key购买 nike

我是亚马逊服务的新手,我使用 amazon s3 进行文件存储。我使用以下代码来列出对象。

ListObjectsRequest lor = new ListObjectsRequest().withBucketName("BUCKETNAME");
ObjectListing objectListing = amazonS3Client.listObjects(lor);
for (S3ObjectSummary summary: objectListing.getObjectSummaries()) {
fileKeys.add(summary.getKey());
}

我想在上述单个请求中获取所有对象元数据。

这可能吗..?

最佳答案

没有 API 可以为您提供对象列表及其元数据。

ListObjectsRequest:此请求返回指定存储桶中对象的摘要信息列表。根据请求参数,返回附加信息,例如指定分隔符时的公共(public)前缀。列表结果始终按字典顺序(字母顺序)返回。

您可以从 lisObject 返回的 objectSummary 中获取四个默认元数据:Last Modified、Storage Type、Etag 和 Size。

要获取对象的元数据,您需要执行HEAD object对对象发出请求或者您对对象调用以下方法:

GetObjectMetadataRequest(String bucketName, String key)

看这个:

 ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
.withBucketName(bucketName);
ObjectListing objectListing;
do {
objectListing = s3client.listObjects(listObjectsRequest);
for (S3ObjectSummary objectSummary
: objectListing.getObjectSummaries()) {
/** Default Metadata **/
Date dtLastModified = objectSummary.getLastModified();
String sEtag = objectSummary.getETag();
long lSize = objectSummary.getSize();
String sStorageClass = objectSummary.getStorageClass();
/** To get user defined metadata **/
ObjectMetadata objectMetadata = s3client.getObjectMetadata(bucketName, objectSummary.getKey());
Map userMetadataMap = objectMetadata.getUserMetadata();
Map rowMetadataMap = objectMetadata.getRawMetadata();
}
listObjectsRequest.setMarker(objectListing.getNextMarker());
} while (objectListing.isTruncated());

有关 GetObjectMetadataRequest 的更多详细信息,请查看此 link

关于amazon-web-services - 亚马逊S3 : Listing Object with Metadata in single request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com