如何从桶中只获取一个对象?
how to get only one object from a bucket?
我一次只需要从 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("")
}
您可以通过在 ListObjectsV2Input:
中指定 MaxKeys=1 来请求返回最大数量的 S3 密钥
MaxKeys: Sets the maximum number of keys returned in the response. By default the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.
要获取下一个 S3 密钥,您可以在后续的 ListObjectsV2 请求中使用 StartAfter
或 ContinuationToken
。
我一次只需要从 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("")
}
您可以通过在 ListObjectsV2Input:
中指定 MaxKeys=1 来请求返回最大数量的 S3 密钥MaxKeys: Sets the maximum number of keys returned in the response. By default the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.
要获取下一个 S3 密钥,您可以在后续的 ListObjectsV2 请求中使用 StartAfter
或 ContinuationToken
。