Cloud Functions for Firebase

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

開始使用 用途




主要功能

整合 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 bucket (前置字元為 gcf-sources),接著 Cloud Functions 會在專案中建立 Artifact Registry 存放區 (名為 gcf-artifacts)。
    2. Cloud Build 會擷取函式程式碼,並建構函式來源。您可以在 Google Cloud 控制台中查看 Cloud Build 記錄。
    3. 建構函式程式碼的容器映像檔會上傳至專案中的私有 Artifact Registry 存放區 (名為 gcf-artifacts),並推出新函式。
  3. 當事件供應商產生符合函式條件的事件時,系統就會叫用程式碼。函式附加了服務帳戶,可透過 Firebase Admin SDK 存取其他 Firebase 服務。
  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 控制台查看及搜尋記錄。

後續步驟