如何在读取对象后获取AmazonS3文件内容



我正在使用AWS SDK go v2 中的GetObject方法从Amazon S3读取对象

input := &s3.GetObjectInput{
Bucket: aws.String(w.Bucket),
Key:    key,
}
object, _ := w.Client.GetObject(ctx, input)
return object

我可以访问对象的内容大小和文件类型,并且有一个参数

Object.Body

应该有文件内容。。但我似乎找不到访问它的方法。

机身型号为io.ReadCloser

添加

import "io/ioutil"

然后

bodyInBytes, err := ioutil.ReadAll(object.Body)

如果您使用的是1.16之后的go,则首选io.ReadAll,导入"io"

您在评论中提到阅读JSON。要读取JSON,请创建一个与JSON文档结构匹配的结构(使用类似的在线转换器https://mholt.github.io/json-to-go/带有样本(,然后添加import "encoding/json"和:

data := mystruct{}
err := json.Unmarshal(bodyInBytes, &data)

最新更新