gpt4 book ai didi

amazon-web-services - 使用AWS Go SDK创建客户端时出现UnrecognizedClientException

转载 作者:行者123 更新时间:2023-12-01 22:23:21 25 4
gpt4 key购买 nike

我正在尝试将SSM与Go AWS SDK结合使用。我在凭证文件中存储了有效的 IAM用户凭证。该文件和凭据很好,因为它在以下情况下表现正常

aws ssm start-session-目标“实例”

但是问题出在Go SDK上。我同时尝试了v1和v2。

SDK v1

   mySession := session.Must(session.NewSession())
svc := ssm.New(mySession, aws.NewConfig().WithRegion("ap-southeast-1"))
out, err := svc.StartSession(&ssm.StartSessionInput{Target: aws.String(instanceId)})
if err != nil {
log.Fatalf("error starting ssm : %v", err)
}

和v2
   cfg, err := external.LoadDefaultAWSConfig()
if err != nil {
panic("unable to load SDK config, " + err.Error())
}

svc := ssm.New(cfg)

req := svc.StartSessionRequest(&ssm.StartSessionInput{
Target: aws.String(instanceId),
})

resp, _ := req.Send(context.Background())
if err != nil {
log.Fatalf("error sending ssm request : %v", err)
}
fmt.Println(resp)

给出一个错误的说法。

UnrecognizedClientException:请求中包含的安全 token 无效。

凭据也将加载到配置对象。我想知道是否是因为我使用的是IAM用户凭据。

最佳答案

默认情况下,SDK会检测您环境中设置的AWS凭证,并使用它们来签署对AWS的请求。这样,您就无需管理应用程序中的凭据。SDK在以下环境变量中查找凭据:

$ export AWS_ACCESS_KEY_ID=YOUR_AKID
$ export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY

如果您已有任何个人资料,也可以使用它们。

查找详细信息 here

关于amazon-web-services - 使用AWS Go SDK创建客户端时出现UnrecognizedClientException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61546825/

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