如何在读取对象后获取 Amazon S3 文件内容
How to get Amazon S3 file content after reading the object
我正在使用 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
应该有文件内容..但我似乎找不到访问它的方法。
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)
我正在使用 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
应该有文件内容..但我似乎找不到访问它的方法。
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)