【发布时间】:2021-06-07 23:30:17
【问题描述】:
我一次只需要从 S3 存储桶中获取一个对象。 而且我只找到了获取存储桶中所有对象的API。有没有办法只获取一个? 我将使用某个位置或索引一次获取一个对象。
result, err := w.Client.ListObjectsV2(ctx, input)
if err != nil {
fmt.Println("Got an error retrieving objects:")
fmt.Println(err)
}
for _, item := range result.Contents {
fmt.Println("Name: ", *item.Key)
fmt.Println("Last modified: ", *item.LastModified)
fmt.Println("Size: ", item.Size)
fmt.Println("Storage class: ", item.StorageClass)
fmt.Println("")
}
【问题讨论】:
-
“只得到一个对象”是什么意思?
ListObjects()命令只返回对象的列表,而不是对象本身。你不能遍历返回的列表,一次处理一个吗? -
您可以指定 MaxKeys=1 并使用 StartAfter 或 ContinuationToken 进行后续列表请求,但我会质疑您为什么要首先这样做。
-
我一次只需要一个对象..我不想得到所有对象而只使用一个对象,因为这会浪费时间和空间@JohnRotenstein
-
@EminLaletovic 哦,谢谢!但这似乎是 sdk 的第 1 版。我使用的是 v2
标签: amazon-web-services go amazon-s3 aws-sdk-go