Cloud Functions for Firebase
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
是否已在 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 會迅速調整執行函式所需的虛擬伺服器執行個體數量。每個函式都會在獨立的環境中執行,並且各自有專屬的設定。
背景函式的生命週期
- 您會為新函式編寫程式碼、選取事件供應器 (例如 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 會建立函式程式碼的
- 當事件供應器產生符合函式條件的事件時,系統就會叫用該程式碼。
- 如果函式忙於處理許多事件,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 程式碼研究室。