首页 > 后端开发 > Golang > 正文

如何在 Go 中将 AWS 开发工具包版本 2 与动态凭证结合使用?

Linda Hamilton
发布: 2024-11-01 13:33:29
原创
644 人浏览过

How to Use AWS SDK Version 2 with Dynamic Credentials in Go?

使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板