Я пишу функцию 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: в цепочке нет действительных поставщиков.Устаревшее.Подробные сообщения см. В разделе aws.Config.CredentialsChainVerboseErrors
В документации конкретно не указано, как устанавливать учетные данные.(Идентификатор ключа доступа, Секретный ключ доступа)
Есть идеи?