とりあえずGoを再度勉強し始めたわけで。
今度作るものはPHP使わずGoでやろう的なことなので、まずは簡単なものから。
ってことで今日はEC2のインスタンス一覧を出す的なお話をば。
package main import ( "fmt" "github.com/goamz/goamz/aws" "github.com/goamz/goamz/ec2" "time" ) func main() { auth, err := aws.GetAuth("xxxxxxxxxx", "xxxxxxxxxx", "", time.Time{}) if err != nil { panic(err.Error()) } e := ec2.New(auth, aws.APNortheast) res, err := e.DescribeInstances(nil, nil) if err != nil { panic(err.Error()) } for _, r := range res.Reservations { for _, i := range r.Instances { fmt.Println( i.InstanceId, i.InstanceType, i.PrivateIPAddress, i.State.Name, ) } } }
aws/aws-sdk-goじゃなくて goamz/goamzを使うのは、aws-sdk-goはなかなかめんどいからっていう。
それとaws.GetAuthとやっているけど、
export AWS_ACCESS_KEYとAWS_SECRET_ACCESS_KEYをしておいて、aws.EnvAuth()っていうやり方もある。
とりあえずこんな感じ。
0 件のコメント:
コメントを投稿