nothing to say.. @caizhiyuannn@gmail.com
go get -u github.com/aws/aws-sdk-go/...
Access keys 由 access key ID 和 secret access key 组成。通过AWS 的IAM console 的 Security credentials面板创建。
例如:
Access key ID: AKIAIOSFODNN7EXAMPLE
Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
指定Region说明你是通过对应的region来进行发送请求的。例如us-west-2 或 us-east-2。
不同region表示不同的区域,能够减小数据发送的延迟。
AWS官网文档说明
AWS_REGION
来指定默认regionAWS_SDK_LOAD_CONFIG
值为 true
来通过 .aws/folder
配置文件获取region值.aws/folder
获取到region值时,设置NewSessionWithOptions方法参数SharedConfigState为SharedConfigEnable# Linux, MACOS, unix
export AWS_REGION=us-west-2
# windows
set AWS_REGION=us-west-2
# 在session中指定
sess, err := session.NewSession(&aws.Config{Region: aws.String("us-west-2")})
SDK需要通过access ID和secret 来签名请求aws数据。设置方法如下:
# 通过profile指定不同的密钥
[default]
aws_access_key_id = <YOUR_DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_DEFAULT_SECRET_ACCESS_KEY>
[test-account]
aws_access_key_id = <YOUR_TEST_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_TEST_SECRET_ACCESS_KEY>
[prod-account]
; work profile
aws_access_key_id = <YOUR_PROD_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_PROD_SECRET_ACCESS_KEY>
# 指定app时指定profile
$ AWS_PROFILE=test-account myapp
# 在session中指定profile
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-west-2"),
Credentials: credentials.NewSharedCredentials("", "test-account"),
})
例如: Linux, OS X, or Unix
$ export AWS_ACCESS_KEY_ID=YOUR_AKID
$ export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
$ export AWS_SESSION_TOKEN=TOKEN
例如:Windows
> set AWS_ACCESS_KEY_ID=YOUR_AKID
> set AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
> set AWS_SESSION_TOKEN=TOKEN
例如:代码中嵌入credentials
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-west-2"),
Credentials: credentials.NewStaticCredentials("AKID", "SECRET_KEY", "TOKEN"),
})
这个例如教你如何检索一个已经发布的cloudwatch的开销列表数据和发布数据点到cloudwatch开销记录,总的来说就是获取监控数据和发送监控数据。
主要用到方法: