Cloud Functions 版本比較

Cloud Functions for Firebase 有兩個版本:

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

建議您盡可能選擇 Cloud Functions (第 2 代) 做為新函式。不過,我們仍會繼續支援 Cloud Functions (第 1 代)。

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

Cloud Functions (第 2 代)

Cloud Functions 是 Firebase 的新一代函式即服務 (FaaS) 產品。Cloud Functions (第 2 代) 以 Cloud Run 和 Eventarc 為基礎,為 Cloud Functions 帶來更強大的基礎架構和更廣泛的事件涵蓋範圍,包括:

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

詳情請參閱比較表。

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

比較表

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

* 這是預設服務帳戶,用於從執行中的函式存取 Firebase 或 Cloud API。當您在不使用引數的情況下初始化時,Firebase Admin SDK 會使用這個帳戶。

定價

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

您可以按照下列步驟,查看與 Cloud Functions 相關的費用:

  1. 前往 Google Cloud 控制台的Cloud Billing「Reports」(報表) 頁面。
  2. 如果出現提示,請選取與 Google Cloud 雲端專案相關聯的帳單帳戶。
  3. 在「Filters」(篩選器) 面板的「Labels」(標籤) 下方,新增標籤篩選器,鍵為 goog-managed-by,值為 cloudfunctions。

限制

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

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