gpt4 book ai didi

amazon-web-services - Golang 中 AWS S3 中的 NoCredentialproviders

转载 作者:IT王子 更新时间:2023-10-29 01:38:28 26 4
gpt4 key购买 nike

我在 Golang 工作,现在我试图将图像上传到 AWS S3,但我得到:

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

我的代码是这样的:

func firstFunction(){
//Connect to S3
AWSsession, err := ConnectAWS()
if err != nil {
fmt.Println("Error Connecting to AWS S3")
}

GetSingleMedia(AWSsession)
}

func ConnectAWS()(*session.Session, error){

//Create S3 Session
AWSsession, err := session.NewSession(&aws.Config{
Region: aws.String("us-west-2")},
)

if err != nil {
fmt.Println("Error AWS:", err.Error())
}

return AWSsession,err
}

func GetSingleMedia(...someparams,AWSsession *session.Session){
//o.Blob is correct, this is valid
data, err := ioutil.ReadAll(bytes.NewReader(o.Blob))
//Store: bytes.NewReader(o.Blob)
UploadImage(AWSsession,bytes.NewReader(o.Blob),bucket,"SomeID")
}

func UploadImage(AWSsession *session.Session,reader *bytes.Reader,bucket string, key string) (*s3manager.UploadOutput,error){

uploader := s3manager.NewUploader(AWSsession)

result, err := uploader.Upload(&s3manager.UploadInput{
Body : reader,
Bucket: aws.String(bucket),
Key : aws.String(key),
})

if err != nil {
fmt.Println("Error uploagin img: ",err.Error())
}


return result,err
}

此外,我已将凭证放在 /home/myuser/.aws/ 下,有一个凭证文件,我在创建 session 时没有收到任何错误,那么,可能是什么问题?在UploadImage中触发错误

编辑:

目前在我的凭据文件中:

[default]
awsBucket = "someBucket"
awsAccessKey = "SOME_ACCESS_KEY"
awsSecretKey = "SOME_AWS_SECRET_KEY"

我是否可以更改任何权限或其他内容?

最佳答案

我建议您按照此处的指南进行操作:http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

此命令将要求您提供访问/ key 并以正确的格式写入它们:

aws configure

您的 credentials 文件格式似乎有误。正确的格式应该是这样的:

[default]
aws_access_key_id = SOME_ACCESS_KEY
aws_secret_access_key = SOME_AWS_SECRET_KEY

关于amazon-web-services - Golang 中 AWS S3 中的 NoCredentialproviders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47059551/

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