iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【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 リポジトリに展開されます。これにより、コードをクライアントから隔離することができます。

てな感じで続きはまた次回🍺

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com