Cloud Functions for Firebase

Cloud Functions for Firebase 是無伺服器架構,可讓您自動執行後端程式碼,回應由背景事件、HTTPS 要求、Admin SDKCloud Scheduler 工作觸發的事件。JavaScript、TypeScript 或 Python 程式碼會儲存在 Google Cloud 基礎架構中,並在代管環境中執行。您不必管理及調整自己的伺服器。

是否已在 Google Cloud 中使用 Cloud Functions?進一步瞭解 Firebase 如何融入這項趨勢。

開始使用 用途

主要功能

整合 Firebase 功能,並將 Firebase 連結至 Google Cloud

您編寫的函式可回應各種 Firebase 和 Google Cloud 功能產生的事件,從 Firebase 驗證觸發事件Cloud Storage 觸發事件皆然。

使用 Admin SDK 搭配 Cloud Functions,整合 Firebase 各項功能,並透過編寫自訂 webhook 整合第三方服務。Cloud Functions 可減少樣板程式碼,讓您更輕鬆地在函式中使用 Firebase 和 Google Cloud
免維護 在指令列中輸入指令,即可將 JavaScript、TypeScript 或 Python 程式碼部署至我們的伺服器。之後 Firebase 就會自動提高運算資源來因應使用者的使用模式。您再也不必擔心憑證、伺服器設定、新伺服器佈建或舊伺服器停用等問題。
確保邏輯私密且安全無虞 在多數情況下,開發人員會選擇在伺服器上控制應用程式邏輯,以免不小心更動用戶端的任何設定。此外,有時也不建議允許對該程式碼進行反向工程。Cloud Functions 與用戶端完全隔離,因此您可以確保其為私密環境,且能確實執行您想要的操作。

運作原理

編寫並部署函式後,Google 伺服器會立即開始管理函式。您可以直接使用 HTTP 要求、Admin SDK 或排程工作觸發函式,如果是背景函式,Google 伺服器會監聽事件,並在觸發時執行函式。

隨著負載增加或減少,Google 會迅速調整執行函式所需的虛擬伺服器執行個體數量。每個函式都會在獨立的環境中執行,並且各自有專屬的設定。

背景函式的生命週期

  1. 您會為新函式編寫程式碼、選取事件供應器 (例如 Cloud Firestore),並定義函式應執行的條件。
  2. 部署函式時:
    1. Firebase CLI 會建立函式程式碼的 .zip 封存檔,然後上傳至 Cloud Storage 值區 (前置符號為 gcf-sources),接著 Cloud Functions 會在專案中建立 Artifact Registry 存放區 (名稱為 gcf-artifacts)。
    2. Cloud Build 會擷取函式程式碼,並建構函式來源。您可以在 Google Cloud 控制台中查看 Cloud Build 記錄。
    3. 建構的函式程式碼容器映像檔會上傳至專案中的私人 Artifact Registry 存放區 (名為 gcf-artifacts),並推出新的函式。
  3. 當事件供應器產生符合函式條件的事件時,系統就會叫用該程式碼。
  4. 如果函式忙於處理許多事件,Google 會建立更多例項,以便更快處理工作。如果函式處於閒置狀態,系統會清除執行個體。
  5. 當您透過部署更新的程式碼更新函式時,舊版的例項會與 Artifact Registry 中的建構構件一併清除,並由新例項取代。
  6. 刪除函式時,系統會清除所有例項和 ZIP 封存檔,以及 Artifact Registry 中的相關建構構件。函式和事件供應器之間的連結已移除。

除了使用背景函式監聽事件,您也可以直接透過 HTTP 要求或用戶端呼叫來呼叫函式。您也可以透過 Admin SDK 在固定排程上觸發函式,或將工作函式排入佇列

實作路徑

設定「Cloud Functions 安裝 Firebase CLI,並在 Firebase 專案中初始化 Cloud Functions
編寫函式 編寫 JavaScript 程式碼、TypeScript 程式碼或 Python 程式碼,以便處理來自 Firebase 服務、Google Cloud 服務或其他事件供應器的事件。
測試函式 使用本機模擬器測試函式。
部署及監控 將專案升級至即付即用 Blaze 定價方案,並使用 Firebase CLI 部署函式。接著,您可以使用 Google Cloud 控制台查看及搜尋記錄。

後續步驟