2 回答

TA貢獻2036條經驗 獲得超8個贊
有幾種方法可以設置憑據。
例如,您可以通過設置環境變量來指定它:
AWS_ACCESS_KEY?=?<your_access_key> AWS_SECRET_KEY?=?<your_secret_key>
credentials.NewEnvCredentials()
然后只需在您的配置實例中使用:
sess,?_?:=?session.NewSession(&aws.Config{ ????Region:??????aws.String("us-east-1"), ????Credentials:?credentials.NewEnvCredentials(), })

TA貢獻1871條經驗 獲得超8個贊
只需設置AWS_ACCESS_KEY和AWS_SECRET_KEY環境變量(您不需要調用credentials.NewEnvCredentials()-session.NewSession您所做的是完美的):
func DownloadFromS3Bucket() {
? ??
? ? os.Setenv("AWS_ACCESS_KEY","my-key")
? ? os.Setenv("AWS_SECRET_KEY","my-secret")
? ? bucket := "cellery-runtime-installation"
? ? item := "hello-world.txt"
? ? file, err := os.Create(item)
? ? if err != nil {
? ? ? ? fmt.Println(err)
? ? }
? ? defer file.Close()
? ? sess, _ := session.NewSession(&aws.Config{Region: aws.String("us-east-1")})
? ? downloader := s3manager.NewDownloader(sess)
? ? numBytes, err := downloader.Download(file,
? ? ? ? &s3.GetObjectInput{
? ? ? ? ? ? Bucket: aws.String(bucket),
? ? ? ? ? ? Key:? ? aws.String(item),
? ? ? ? })
? ? if err != nil {
? ? ? ? fmt.Println(err)
? ? }
? ? fmt.Println("Downloaded", file.Name(), numBytes, "bytes")
}
- 2 回答
- 0 關注
- 181 瀏覽
添加回答
舉報