Cloud Firestore
今回使う Cloud Firestore ですが、Firebase の技術をベースにして、Google Cloud Platform に統合されたサービスです。
ネット上で調べると、結構 Firebase に関する記事が出てきますが、作成方法などがちょっと違いますので、メモをまとめていきます。
Native mode については下記に参考:
Native mode とは?
GAE
サーバ上で利用する時は公式手順を参考すればできます:
クイックスタート:サーバ
AppEngineを使う時の変更点:
- プロジェクトの課金を有効化する必要があります。有効しないとデプロイ後は Cloud Firestore との Socket 通信時にエラーとなります
- コードの変更ところは下記のように:
handlers.go
import (
"google.golang.org/appengine"
"google.golang.org/appengine/log"
"cloud.google.com/go/firestore"
)
func TestHandler(w http.ResponseWriter, r *http.Request) {
ctx := appengine.NewContext(r) // ここは要注意
client, err := firestore.NewClient(ctx, projectID)
if err != nil {
log.Errorf(ctx, "Failed to create client: %v", err) // log関数の引数は違う
}
// Close client when done.
defer client.Close()
}
ここで出した log は gcloud app logs
では見れなくて、stackdriver logging で見れます。
後書き
初めての利用で公式ドキュメントを見ながらテストしてますが、間違っている点などありましたらコメント等でお知らせ下さい。