gpt4 book ai didi

amazon-web-services - 如何使用 golang 从 AWS S3 下载

转载 作者:IT王子 更新时间:2023-10-29 02:31:03 32 4
gpt4 key购买 nike

我正在编写一个 go 函数来从 AWS S3 存储桶下载文件。

func DownloadFromS3Bucket() {
bucket := "cellery-runtime-installation"
item := "hello-world.txt"

file, err := os.Create(item)
if err != nil {
fmt.Println(err)
}

defer file.Close()

// Initialize a session in us-west-2 that the SDK will use to load
// credentials from the shared credentials file ~/.aws/credentials.
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")
}

但是,我收到一条要求凭据的错误消息。

NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors

文档没有具体说明如何设置凭据。 (访问 key ID, secret 访问 key )

有什么想法吗?

最佳答案

设置凭据的方法有多种。更多详情 aws/credentials .

比如可以通过设置环境变量来指定:

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(),
})

关于amazon-web-services - 如何使用 golang 从 AWS S3 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54399421/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com