登录
首页 >  Golang >  Go问答

golang 中调用 acmpca.GetCertificate() 时出现错误"NoCredentialProviders:没有有效的提供程序" 已弃用

来源:stackoverflow

时间:2024-02-20 15:42:21 127浏览 收藏

一分耕耘,一分收获!既然都打开这篇《golang 中调用 acmpca.GetCertificate() 时出现错误"NoCredentialProviders:没有有效的提供程序" 已弃用》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我在调用 acmpca.getcertificate() 函数获取证书时遇到错误,

nocredentialproviders: no valid providers in chain
caused by: envaccesskeynotfound: aws_access_key_id or aws_access_key not found in environment
sharedcredsload: failed to load shared credentials file
caused by: failedread: unable to open file
caused by: open /root/.aws/credentials: no such file or directory
ec2rolerequesterror: no ec2 instance role found
caused by: requesterror: send request failed
caused by: get "http://169.254.169.254/latest/meta-data/iam/security-credentials/": dial tcp 169.254.169.254:80: connect: no route to host

我的aws_access_key_id和aws_secret_access_key存储在~/.aws/credentials文件中,下面是代码

sess := acmpca.New(session.New(&aws.Config{
        Region: aws.String("us-east-1"),
    }))
    params := &acmpca.GetCertificateInput{
        CertificateArn:          aws.String("ARN"),
        CertificateAuthorityArn: aws.String("ARN"),
    }
    resp, err := sess.GetCertificate(params)
    if err != nil {
        fmt.Println("got error := ", err.Error())
    }
    fmt.Printf("++++ response ++++:= %+V", resp)

有人可以帮我解决这个问题吗? 提前致谢!


正确答案


您提供的凭据要么已过期,要么没有为其设置适当的权限。您可以尝试创建具有足够代码权限的新凭据。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>