Hello StackOverflow AWS Gophers,

[I'm implementing](https://github.com/umccr/cli) a CLI with the excellent [cobra/viper packages from spf13](https://github.com/spf13/cobra). We have an Athena database fronted by an API Gateway endpoint, which authenticates with IAM. 

That is, in order to interact with its endpoints by using Postman, I have to define `AWS Signature` as Authorization method, define the corresponding AWS id/secret and then in the Headers there will be `X-Amz-Security-Token` and others. Nothing unusual, works as expected.

Since I'm new to Go, I was a bit shocked to see that there are no examples to do this simple HTTP GET request with the `aws-sdk-go` itself... I'm trying to use the shared credentials provider (`~/.aws/credentials`), as demonstrated for the S3 client [Go code snippets from re:Invent 2015](https://youtu.be/iOGIKG3EptI?t=634):

```golang
req := request.New(nil)

```

**How can I accomplish this seemingly easy feat in 2019 without having to resort to self-cooked `net/http` and therefore having to manually read `~/.aws/credentials` or worse, go with `os.Getenv` and other ugly hacks?**

Any Go code samples interacting **as client** would be super helpful. No Golang Lambda/server examples, please, there's plenty of those out there.