Cloud Functions(第 2 世代)公開プレビュー

Cloud Functions for Firebase(第 2 世代)は、Cloud RunEventarc により強化されているため、インフラストラクチャの強化、パフォーマンスとスケーラビリティの高度な管理、関数のランタイムのより詳細な管理を実現できます。このプレビュー版のドキュメントでは、第 2 世代プレビュー版の現時点における新機能と利用可能な機能について説明します。また、新しい API を使用する際の制限事項についても説明します。このガイダンスは、新しい API を単独で使用する場合だけでなく、Cloud Functions for Firebase(第 1 世代)API と併用する場合にも適用されます。

Cloud Functions for Firebase(第 2 世代)の新機能

Cloud Functions for Firebase(第 2 世代)で現在利用できる、変更された機能と機能強化には、次のものがあります。

  • 関数インスタンスで一度に複数のリクエストを実行できるようになりました。この機能は、1 つ以上の専用 CPU を使用する関数で利用できます。同時実行レベルは、setGlobalOptions メソッドにより、関数ごとに、またはすべての関数に設定できます。1 つ以上の専用 CPU を使用する新しい関数は、デフォルトで同時リクエスト数が 80 になります(未指定の場合)。同時リクエストを許可するをご覧ください。
  • 呼び出し可能関数と HTTP 関数の保護には、新しい cors 設定を使用します。また、HTTP トリガーには cors 設定が用意され、CORS の管理が容易になっています
  • Cloud Functions は Cloud Run 上に構築されるようになりました。Cloud Run に慣れていない方も心配はいりません。関数のビルドは以前と同じように簡単です。Cloud Run は、パフォーマンス、構成、モニタリングなどが改善されている、最先端のサーバーレス サービスです。
  • Google は、業界のリーダー企業と協力して CloudEvents 仕様を策定しています。イベント処理関数は、イベント署名として、このオープンな標準を使用するようになりました。
  • 新しいトリガーの種類としては、Firebase アラート トリガー、Firebase Extensions 向けのカスタム イベント トリガー、リソース使用量の多いタスクを Cloud Tasks で実行するためのタスクキュー関数があります(タスクキュー関数は第 1 世代でも使用できます)。
  • firebase-functions SDK は、最新の JavaScript に対してよりネイティブになるように見直されました。第 2 世代の関数をグローバルに構成し、オプションのオブジェクトを使用して、モジュラー インポートを使用することができます。
  • HTTP 関数のタイムアウト時間が 1 時間(以前の 9 分から延長)になりました。実行時間が長いワークロードで必要な場合向けです。
  • 関数インスタンスのデフォルトはデフォルトのコンピューティング サービス アカウントになりました(App Engine サービス アカウントから変更)。

プレビュー版の制限事項

Cloud Functions(第 2 世代)のこのプレビュー版には、計画された機能がまだすべては実装されておらず、Cloud Functions(第 1 世代)と同等の機能が完全に備わっているわけでもありません。使用できるトリガーには制限があります。また現時点で、このセクションで説明するその他の制限もあります。

現在利用可能な Cloud Functions のトリガー

Cloud Functions(第 2 世代)は、次の Firebase バックグラウンド トリガーをサポートします。

  • Firebase Realtime Database
  • Cloud Storage
  • Firebase アラート
  • Pub/Sub
  • 呼び出し可能関数
  • Cloud Tasks
  • HTTP
  • スケジュール設定された関数
  • Firebase Authentication ブロッキング関数
  • Firebase Remote Config
  • Firebase Test Lab
  • Cloud Firestore

現在、Cloud Functions(第 2 世代)は、次のトリガーをサポートしていません。

  • Firebase Authentication の onCreateonDelete
  • Google アナリティクス

その他の制限

以下の制限は、Cloud Functions(第 2 世代)にも適用されます。

  • Firebase CLI や Firebase コンソールには、完全なオブザーバビリティはまだ組み込まれていません。関数インスタンスをモニタリングするには、Google Cloud コンソールを使用して、基盤となる Cloud Run サービスをモニタリングしてください。
  • 現在、Firebase Local Emulator Suite は第 2 世代の HTTP、Cloud Storage、Pub/Sub の関数をサポートしています。
  • 第 2 世代では、コールド スタートがまだ最適化されていません。このため、第 1 世代よりも一時的に遅くなる可能性があります。ただし、同時実行により、全体的にコールド スタートは少なくなるはずです。