Cloud Functions for Firebase
已在 Google Cloud中使用 Cloud Functions? 進一步瞭解 Firebase 在這方面扮演的角色。
主要功能
整合 Firebase 功能,並將 Firebase 連接至 Google Cloud | 您編寫的函式可以回應各種 Firebase 和 Google Cloud 功能產生的事件,從 Firebase Authentication 觸發條件到 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 會快速調整執行函式所需的虛擬伺服器執行個體數量。每個函式都會在各自的環境中獨立執行,並有自己的設定。
背景函式的生命週期
- 您可以為新函式編寫程式碼、選取事件供應商 (例如 Cloud Firestore),並定義函式應執行的條件。
- 部署函式時:
- Firebase CLI 會建立函式程式碼的
.zip
封存檔,然後上傳至 Cloud Storage 值區 (前置字元為gcf-sources
),接著 Cloud Functions 會在專案中建立 Artifact Registry 存放區 (名為gcf-artifacts
)。 - Cloud Build 會擷取函式程式碼,並建構函式來源。您可以在 Google Cloud 控制台中查看 Cloud Build 記錄。
- 建構函式程式碼的容器映像檔會上傳至專案中的私有 Artifact Registry 存放區 (名為
gcf-artifacts
),並推出新函式。
- Firebase CLI 會建立函式程式碼的
- 當事件供應商產生符合函式條件的事件時,系統就會叫用程式碼。函式會附加服務帳戶,可用於透過 Firebase Admin SDK 存取其他 Firebase 服務。
- 如果函式忙於處理大量事件,Google 會建立更多執行個體,以便更快處理工作。如果函式處於閒置狀態,系統會清除執行個體。
- 部署更新後的程式碼來更新函式時,系統會清除舊版例項和 Artifact Registry 中的建構構件,並替換為新例項。
- 刪除函式時,系統會清除所有執行個體和 ZIP 封存檔,以及 Artifact Registry 中的相關建構構件。系統會移除函式與事件供應商之間的連結。
除了使用背景函式監聽事件,您也可以透過 HTTP 要求或從用戶端呼叫,直接呼叫函式。您也可以透過 Admin SDK,依固定排程觸發函式,或將工作函式加入佇列。
實作路徑
設定「Cloud Functions」 | 安裝 Firebase CLI,並在 Firebase 專案中初始化 Cloud Functions。 | |
編寫函式 | 編寫 JavaScript、TypeScript 或 Python 程式碼,處理來自 Firebase 服務、Google Cloud 服務或其他事件供應商的事件。 | |
測試函式 | 使用本機模擬器測試函式。 | |
部署及監控 | 將專案升級至即付即用 Blaze 定價方案,然後使用 Firebase CLI 部署函式。然後使用 Google Cloud 控制台查看及搜尋記錄。 |
後續步驟
- 開始設定、建立及部署函式。
- 進一步瞭解函式的用途。
- 試試Cloud Functions程式碼研究室。