golang s3
go 言語から S3 にアクセスする。
goamz つかえばあとは大体どうとでもなるみたい。
Mac に bzr が入ってなかったのでまず入れる。
$ brew install bzr $ echo "export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH" >> ~/.zshrc
つぎは goamz/s3 のインストール
go get launchpad.net/goamz/s3
そこそこ時間かかる。
入ったらコード書いてみる。
package main import ( "fmt" "launchpad.net/goamz/aws" "launchpad.net/goamz/s3" ) func main() { auth, err := aws.envauth() if err != nil { panic(err) } s3clinet := s3.new(auth, aws.apnortheast) bucket := s3clinet.bucket("rosylilly") data := []byte("hello, s3!!") err = bucket.put("sample.txt", data, "text/plain", s3.bucketownerfull) if err != nil { panic(err.error()) } content, err := bucket.get("sample.txt") if err != nil { panic(err.error()) } fmt.println(string(content)) }
ほぼサンプルのコピペ、書き込んで読み込んで表示するだけ。これで動く。bucket.Get
で取得も出来る。