amazon-web-services - 如何使用来自变量的凭证运行 AWS 开发工具包?

标签 amazon-web-services go aws-sdk aws-sdk-go

我之前用过环境变量,效果很好。

现在我将我的配置变量迁移到一个文件中,并且我有 AWS_SECRET_ACCESS_KEY 和 AWS_ACCESS_KEY_ID 变量,其中包含从该文件加载的相应值。

我试过这段代码但收到错误:

creds := credentials.NewStaticCredentials("123", conf.AWS_SECRET_ACCESS_KEY, conf.AWS_ACCESS_KEY_ID)
sess, err := session.NewSession(&aws.Config{Credentials: creds})

这是错误

InvalidClientTokenId: The security token included in the request is invalid.

如何正确地将我的 key 注入(inject)到 aws sdk 调用中?

最佳答案

尝试重新排序您的参数,以便 ACCESS_KEY 是第一个参数,而 SECRET_KEY 是第二个:

creds := credentials.NewStaticCredentials(conf.AWS_ACCESS_KEY_ID, conf.AWS_SECRET_ACCESS_KEY, "")

也尝试添加区域:

sess, err := session.NewSession(&aws.Config{
    Region:      aws.String("us-west-2"),
    Credentials: credentials.NewStaticCredentials(conf.AWS_ACCESS_KEY_ID, conf.AWS_SECRET_ACCESS_KEY, ""),
})

关于amazon-web-services - 如何使用来自变量的凭证运行 AWS 开发工具包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41544554/

相关文章:

amazon-web-services - S3 事件和 Cloudwatch 事件之间的区别

amazon-web-services - 模板包含错误。 : Invalid template resource property 'Fn::ImportValue'

mysql - 我们可以从 AWS 只读副本创建 Mysql View 吗?

multithreading - Go 运行时使用的线程数

javascript - 如何让一个简单的 localstack/localstack 与 node.js 一起工作

amazon-web-services - SQS 在单个消息延迟传递上触发 Lambda

go - 无法在 MacOS 上安装 Revel "package gopkg.in/fsnotify.v1: unrecognized import path"

testing - 如何可靠地让项目在 go 中 Root ?

node.js - AWS Lambda getSignedUrl 不会为 .txt 文件创建可下载链接,但适用于 .docx

c++ - STS 获取调用者身份 C++