您好 StackOverflow AWS Gophers,
我正在使用spf13中出色的 cobra/viper 软件包实现 CLI 。我们有一个 Athena 数据库,前面有一个 API Gateway 端点,它通过 IAM 进行身份验证。
也就是说,为了使用 Postman 与其端点交互,我必须定义AWS Signature
为 Authorization 方法,定义相应的 AWS id/secret,然后在 Headers 中会有X-Amz-Security-Token
和其他。没有什么不寻常的,按预期工作。
由于我是 Go 新手,我有点震惊地看到没有使用aws-sdk-go
自身执行此简单 HTTP GET 请求的示例......我正在尝试使用共享凭据提供程序(~/.aws/credentials
),如来自 re:Invent 2015 的S3 客户端Go 代码片段:
req := request.New(nil)
我怎样才能在 2019 年完成这个看似简单的壮举,而不必求助于自己做的net/http
,因此不得不手动阅读~/.aws/credentials
或更糟糕的是,使用os.Getenv
和其他丑陋的 hack?
任何作为客户端交互的 Go 代码示例 都会非常有帮助。请不要使用 Golang Lambda/服务器示例,那里有很多这样的示例。