【30C】なんとなく使っていたCloud Functionsをちゃんと調べてみた Part1
Cloud Functionsとは?
Cloud Functionsは、Firebaseプロジェクトのデータベース(Realmtime Database or Firestore)でのイベントやHTTPSリクエストなどをトリガーにバックエンドのコードを自動的に実行するための機能です。また、トラフィックが増えた場合にもCloud Functionsはオートスケールするのでサーバを管理するコストが省けます。
関数はどのようにデプロイされるのか?
Cloud Functionsでは、それぞれのトリガーごとに関数を定義することでバックエンドコードを実行させます。例えば、Firestoreの特定のコレクションにドキュメントが追加された場合の関数は下記のようになります。
exports.onUserLikeCreated = functions.firestore.document(`collections/{collectionId}/`).onCreate(async (snap, context) => { // ドキュメントが追加された時の処理 });
関数がFirebaseCLIにデプロイされる時、コードから.zip
が作成され、Cloud Storageバケットにアップロードされます。アップロードが完了すると、Cloud BuildというGCPのインフラストラクチャでビルドを行う仕組みによって、関数がビルドされます。ビルドが完了するとコンテナイメージが、非公開のContainer Registry リポジトリに展開されます。これにより、コードをクライアントから隔離することができます。
てな感じで続きはまた次回🍺