Cloud Functions for Firebase

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

已在「Google Cloud」中使用 Cloud Functions 嗎? 進一步瞭解 Firebase 的定位 到圖片中

開始 用途

主要功能

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

您編寫的函式可以回應多種 Firebase 和 Google Cloud 功能,來自 Firebase 驗證觸發條件 請參閱 Cloud Storage 觸發條件

使用 Admin SDK 與 Cloud Functions 整合 或自行編寫 Webhook Cloud Functions 可將樣板最小化 更輕鬆地在內部使用 Firebase 和 Google Cloud 函式。
免維護 將您的 JavaScript、TypeScript 或 Python 程式碼部署到 Google 伺服器中 建立虛擬機器 之後,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 會擷取函式程式碼並建構函式 來源。如要查看 Cloud Build 記錄,請前往 Google Cloud 控制台
    3. 已建構函式程式碼的容器映像檔會上傳至 專案中的私人「Artifact Registry」存放區 (名為 gcf-artifacts),然後推出新函式。
  3. 事件提供者產生與函式的 叫用程式碼時,就會叫用程式碼。
  4. 如果函式忙於處理多個事件,Google 會建立更多例項 作業速度會更快。如果函式處於閒置狀態,系統會清除執行個體。
  5. 當您部署更新過的程式碼來更新函式時,較舊的執行個體 都會清除 Artifact Registry,並替換為新的執行個體。
  6. 刪除函式時,會清理所有執行個體和 ZIP 封存檔 以及 Artifact Registry 中的相關建構構件 系統會移除函式和事件供應器之間的連結。

除了監聽有背景函式的事件之外,您也可以呼叫 函式,與 HTTP 要求直接送出 呼叫您也可以觸發 固定時間表,或 透過 Admin SDK 將工作函式排入佇列

實作路徑

設定「Cloud Functions 安裝 Firebase CLI 並初始化 Cloud Functions 在您的 Firebase 專案中。
寫出函式 編寫 JavaScript 程式碼、TypeScript 程式碼或 Python 程式碼 處理來自 Firebase 的事件 服務、Google Cloud服務或其他事件提供者。
測試函式 使用本機模擬器 測試函式
部署及監控 為專案啟用計費功能,並使用 Firebase CLI。您可以使用 Google Cloud 控制台 查看及搜尋記錄檔。

後續步驟