本来对golang语言只是有过基本的了解,AWS 的s3文档又博大精神,因此期间遇到了大小问题值的总结一下。AWS S3的golang sdk有两个版本,我无法下载第一个版本的sdk,只能使用v2的sdk(https://github.com/aws/aws-sdk-go-v2)。
官方对于这个SDK给出了两个下载方式:第一种是比较常规的下载方式,第二种是golang 的一种包管理工具。 Golang 的包管理工具很多,我还需一一了解
第一种:
go get -u github.com/aws/aws-sdk-go-v2
第二种:
dep ensure -add github.com/aws/aws-sdk-go-v2
AWS S3 的官方文档不知如何看起,我也只能贴个连接(https://docs.aws.amazon.com/sdk-for-go/api/aws/) 。里面是sdk-v1的文档,v2比v1虽然有稍微的改动,但是大致相同,只能拼凑这看了。
2. sdk-v2如何授权。先看v1版本的授权方式
// The session the S3 Uploader will use
sess := session.Must(session.NewSession())
// Create an uploader with the session and default options
uploader := s3manager.NewUploader(sess)
f, err := os.Open(filename)
if err != nil {
return fmt.Errorf("failed to open