我以前使用过环境变量,效果很好。
现在我将配置变量迁移到一个文件中,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})
以下是错误
无效的客户端令牌ID:请求中包含的安全令牌无效。
我如何正确地将我的密钥注入到awssdk调用中?
5条答案
按热度按时间olhwl3o21#
尝试重新排序参数,使ACCESS_KEY成为第一个参数,SECRET_KEY成为第二个参数:
尝试同时添加区域:
eiee3dmh2#
或者你可以临时设置环境变量。
umuewwlo3#
此外,如果您不知道,SDK允许使用
.aws/config
下的共享配置。您可以将值放入其中,然后将环境变量AWS_SDK_LOAD_CONFIG
设置为一个真实值以加载共享配置。共享配置示例如下所示:然后运行:
jw5wzhpr4#
您可以将
creds
变量传递给aws.Config
结构体,以设置S3会话的AWS凭据。您需要导入github.com/aws/aws-sdk-go/aws/credentials软件包。
输出:
3pmvbmvn5#
使用此通用服务连接sdk客户端