我正在使用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)