Firebase 的雲函數
Cloud Functions for Firebase 是一個無服務器框架,可讓您自動運行後端代碼以響應由 Firebase 功能和 HTTPS 請求觸發的事件。您的 JavaScript 或 TypeScript 代碼存儲在 Google 的雲中並在託管環境中運行。無需管理和擴展您自己的服務器。
已在 Google Cloud 中使用 Cloud Functions?詳細了解Firebase 如何融入其中。
關鍵能力
集成 Firebase 平台 | 您編寫的函數可以響應各種 Firebase 和 Google Cloud 功能生成的事件,從Firebase 身份驗證觸發器到Cloud Storage 觸發器。 使用Admin SDK與 Cloud Functions 集成跨 Firebase 功能,並通過編寫您自己的 webhook 與第三方服務集成。 Cloud Functions 最大限度地減少樣板代碼,讓您更輕鬆地在函數中使用 Firebase 和 Google Cloud。 |
零維護 | 使用命令行中的一個命令將您的 JavaScript 或 TypeScript 代碼部署到我們的服務器。之後,Firebase 會自動擴展計算資源以匹配用戶的使用模式。您無需擔心憑據、服務器配置、配置新服務器或停用舊服務器。 |
使您的邏輯保持私密和安全 | 在許多情況下,開發人員更喜歡在服務器上控制應用程序邏輯,以避免在客戶端被篡改。此外,有時不允許對代碼進行逆向工程。 Cloud Functions 與客戶端完全隔離,因此您可以確保它是私有的,並且始終完全按照您的意願行事。 |
它是如何工作的?
在您編寫和部署函數後,Google 的服務器會立即開始管理該函數。您可以使用 HTTP 請求直接觸發該函數,或者在後台函數的情況下,Google 的服務器將偵聽事件並在觸發時運行該函數。
隨著負載的增加或減少,Google 會通過快速擴展運行您的功能所需的虛擬服務器實例的數量來做出響應。每個功能都在其自己的環境中以自己的配置獨立運行。
後台函數的生命週期
- 您為新函數編寫代碼,選擇事件提供程序(例如 Cloud Firestore),並定義函數應執行的條件。
- 部署函數時:
- Firebase CLI 創建函數代碼的
.zip
存檔,然後在 Cloud Functions 在您的項目中創建 Artifact Registry 存儲庫(名為gcf-artifacts
)之前將其上傳到 Cloud Storage 存儲桶(以gcf-sources
為前綴)。 - Cloud Build 檢索函數代碼並構建函數源。您可以在Google Cloud Console中查看 Cloud Build 日誌。
- 已構建函數代碼的容器映像將上傳到項目中的私有 Artifact Registry 存儲庫(名為
gcf-artifacts
),然後推出新函數。
- Firebase CLI 創建函數代碼的
- 當事件提供程序生成與函數條件匹配的事件時,將調用代碼。
- 如果函數忙於處理許多事件,Google 會創建更多實例以更快地處理工作。如果函數空閒,則清理實例。
- 當您通過部署更新的代碼來更新函數時,舊版本的實例與工件註冊表中的構建工件一起被清理,並被新實例替換。
- 當您刪除該函數時,所有實例和 zip 存檔以及 Artifact Registry 中的相關構建工件都會被清除。函數和事件提供者之間的連接被刪除。
除了使用後台函數監聽事件之外,您還可以使用 HTTP 請求或來自客戶端的調用直接調用函數。
實施路徑
設置雲函數 | 在 Firebase 項目中安裝 Firebase CLI 並初始化 Cloud Functions。 | |
編寫函數 | 編寫 JavaScript 代碼(或在部署時轉譯的 TypeScript 代碼)來處理來自 Firebase 服務、Google Cloud 服務或其他事件提供程序的事件。 | |
測試功能 | 使用本地模擬器測試您的功能。 | |
部署和監控 | 為您的項目啟用計費功能並使用 Firebase CLI 部署您的功能。您可以使用Google Cloud Console查看和搜索您的日誌。 |
下一步
- 開始設置、創建和部署函數。
- 了解更多關於函數可以做什麼的信息。
- 試試Cloud Functions 代碼實驗室。