Cloud Functions 版本比較

Cloud Functions for Firebase 有兩個版本:

  • Cloud Functions (第 2 代),可將函式部署為 Cloud Run 上的服務,讓您使用 EventarcPub/Sub 觸發函式。
  • Cloud Functions (第 1 代):原始版本的函式,事件觸發條件和可設定性有限。

建議您盡可能選擇 Cloud Functions (第 2 代) 來使用新功能。不過,我們計畫繼續支援 Cloud Functions (第 1 代)。

本頁面說明 Cloud Functions 中推出的功能,並比較這兩個產品版本。

Cloud Functions (第 2 代)

Cloud Functions 是 Firebase 的新一代函式即服務產品。Cloud Functions (第 2 代) 以 Cloud RunEventarc 為基礎,可為 Cloud Functions 提供更完善的基礎架構和更廣泛的活動涵蓋範圍,包括:

  • Cloud Run 為基礎:函式以 Cloud Build 建構,並使用預設 Cloud Run 執行環境部署為 Cloud Run 服務。您可以像自訂 Cloud Run 服務一樣自訂函式。請參閱 Cloud Run 說明文件,瞭解如何設定服務,例如記憶體上限環境變數等。
  • 延長要求處理時間:執行耗時較長的要求工作負載,例如處理來自 Cloud StorageBigQuery 的大量資料串流。
  • 擴充執行個體規模:執行記憶體用量更大、運算資源需求更高和同時處理作業數更多的工作負載。
  • 提升並行處理能力:單一函式執行個體可處理多個並行要求,能將冷啟動次數降至最少,並縮短延遲時間。
  • 流量管理:在不同函式修訂版本之間分配流量,或將函式復原為先前版本。
  • Eventarc 整合:原生支援 Eventarc 觸發條件,將 Eventarc 支援的所有 90 多個事件來源帶到 Cloud Functions
  • 擴大支援 CloudEvents:所有語言執行階段都支援業界標準的 CloudEvents,提供一致的開發人員體驗。

詳情請參閱比較表

由於 Cloud Functions 會在 Cloud Run 上將函式部署為服務,因此 Cloud Functions 會與 Cloud Run 共用資源配額和限制。請參閱「配額」。

比較表

功能 Cloud Functions (第 1 代) Cloud Functions
映像檔登錄 Container RegistryArtifact Registry 僅限Artifact Registry
要求逾時 最多 9 分鐘
  • HTTP 觸發函式最多 60 分鐘
  • 事件觸發函式最多 9 分鐘
服務帳戶* Google App Engine 服務帳戶 (PROJECT_ID@appspot.gserviceaccount.com) Google Cloud 預設運算服務帳戶 (PROJECT_NUMBER-compute@developer.gserviceaccount.com)
執行個體大小 2 個 vCPU,最高 8 GB RAM 4 個 vCPU 最多可搭配 16 GiB RAM
並行 每個函式執行個體 1 項並行要求 每個函式執行個體最多可處理 1000 項並行要求

* 這是預設服務帳戶,用於從執行中的函式存取 Firebase 或 Cloud API。當您初始化時未提供引數,Firebase Admin SDK 就會使用這個檔案。

定價

如需價格資訊,請參閱 Firebase 定價方案

如要查看與 Cloud Functions 相關的費用,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Cloud Billing 報告」頁面
  2. 如果系統提示,請選取與 Google Cloud 專案相關聯的帳單帳戶。
  3. 在「篩選器」面板的「標籤」下方,新增標籤篩選器,並將鍵設為 goog-managed-by,值設為 cloudfunctions

限制

Cloud Functions for Firebase (第 2 代) 不支援 Analytics 事件。

雖然 Cloud Functions for Firebase (第 2 代) 支援驗證封鎖事件,但它不支援與第 1 代相同的基本 Authentication 事件集。

不過,由於第 1 代和第 2 代函式可以並存於同一個來源檔案中,您仍可在第 1 代中開發及部署 Analytics 和基本 Authentication 觸發條件,並與第 2 代函式搭配使用。