使用 SDK 版本 2 和动态凭证访问 AWS
与之前的查询类似,此问题寻求有关使用 AWS SDK 版本 2 的指导存储在变量中的凭据。与它的前身不同,SDK 版本 2 不再使用 Session 类。
考虑以下用于实例化新客户端并连接到 IAM 服务的函数:
<code class="go">func getIAMClient(ctx context.Context) (*iam.Client, error) { cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region")) if err != nil { return nil, errors.Wrap(err) } cfg.HTTPClient, err = getHTTPClient(ctx) if err != nil { return nil, err } return iam.NewFromConfig(cfg), nil }</code>
容纳多个用户同时使用该应用程序,使用环境变量是不切实际的。这就需要一种将凭证传递给客户端的替代方法。
解决方案:利用 StaticCredentialsProvider
AWS SDK for Go V2 文档阐明了如何使用 StaticCredentialsProvider 来实现此目标,如“静态凭证”部分所述:
<code class="go">cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))</code>
以上是如何在 Go 中将 AWS 开发工具包版本 2 与动态凭证结合使用?的详细内容。更多信息请关注PHP中文网其他相关文章!