提问人:Moss 提问时间:9/22/2016 最后编辑:PangMoss 更新时间:5/2/2017 访问量:18132
如何使用 golang 从 Amazon S3 存储桶的子文件夹中获取对象列表?
How to get list of objects from sub folder of Amazon S3 bucket using golang?
问:
如何使用 golang 从 Amazon S3 存储桶的子文件夹中获取对象列表?
我试过了:
svc := s3.New(session.New(), &aws.Config{Region: aws.String("us-east-1")})
params := &s3.ListObjectsInput{
Bucket: aws.String("bucket"),
}
resp, _ := svc.ListObjects(params)
for _, key := range resp.Contents {
fmt.Println(*key.Key)
}
我得到了存储桶中所有对象的列表,但我只需要子文件夹中的对象列表。
答:
3赞
OhadBasan
9/28/2016
#1
为了访问文件夹(它们不是真正的文件夹,因为 S3 是对象存储) 您必须向 ListObjectsInput 提供 Prefix 和 Delimiter 属性 假设你有 s3://foo/bar 您可以提供带有“/”分隔符的“foo/bar”前缀以获取所有子对象
27赞
Roshan
5/2/2017
#2
在参数中添加前缀参数
params := &s3.ListObjectsInput {
Bucket: aws.String("bucket"),
Prefix: aws.String("root/subfolder"),
}
将列出子文件夹中的对象/
评论