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 的新一代 Functions-as-a-Service 服務。Cloud Functions (第 2 代) 建構於 Cloud Run 和 Eventarc 之上,為 Cloud Functions 提供更完善的基礎架構和更廣泛的事件涵蓋範圍,包括:
- 建構於 Cloud Run 之上:使用 Cloud Build 建構函式,並部署為 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 分鐘 |
|
執行個體大小 | 最多 8 GB RAM 和 2 個 vCPU | 最多 16 GiB RAM 和 4 個 vCPU |
並行 | 每個函式執行個體 1 個並行要求 | 每個函式執行個體最多可處理 1,000 個並行要求 |
定價
如需價格資訊,請參閱 Firebase 定價方案。
如果您使用 Cloud Functions,可以查看僅與 Cloud Functions 相關的費用,步驟如下:
- 前往 Google Cloud 控制台的「Reports」(報表) 頁面Cloud Billing。
- 如果系統顯示提示,請選取與 Google Cloud 專案相關聯的帳單帳戶。
- 在「篩選器」面板的「標籤」下方,新增標籤篩選器,鍵為
goog-managed-by
,值為cloudfunctions
。
限制
Cloud Functions for Firebase (第 2 代) 不支援 Analytics 事件。
雖然 Cloud Functions for Firebase (第 2 代) 支援驗證封鎖事件,但不支援與第 1 代相同的基礎 Authentication 事件。
不過,由於第 1 代和第 2 代函式可以在同一個來源檔案中並存,您仍可在第 1 代函式中,搭配第 2 代函式開發及部署 Analytics 和基本 Authentication 觸發條件。