Firebase 的雲端功能
Cloud Functions for Firebase 是一個無伺服器框架,可讓您自動執行後端程式碼以回應後台事件、HTTPS 請求、管理 SDK 或 Cloud Scheduler 作業觸發的事件。您的 JavaScript、TypeScript 或 Python 程式碼儲存在 Google Cloud 基礎架構上並在託管環境中運行。無需管理和擴展您自己的伺服器。
已在 Google Cloud 中使用 Cloud Functions?詳細了解Firebase 如何融入其中。
關鍵能力
整合 Firebase 功能並將 Firebase 與 Google Cloud 連接 | 您所寫的函數可以回應各種 Firebase 和 Google Cloud 功能(從Firebase 驗證觸發器到Cloud Storage 觸發器)所產生的事件。 使用Admin SDK與 Cloud Functions 整合 Firebase 功能,並透過編寫您自己的 Webhooks 與第三方服務整合。 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 Console中查看 Cloud Build 日誌。
- 建置的函數程式碼的容器映像將上傳到專案中的私人 ArtifactRegistry 儲存庫(名為
gcf-artifacts
),並且您的新函數將推出。
- Firebase CLI 建立函數程式碼的
- 當事件提供者產生與函數條件相符的事件時,將呼叫程式碼。
- 如果函數正忙於處理許多事件,Google 會建立更多實例以更快地處理工作。如果函數空閒,實例將被清理。
- 當您透過部署更新的程式碼來更新函數時,舊版的實例將與 ArtifactRegistry 中的建置工件一起被清除,並被新實例取代。
- 當您刪除函數時,所有實例和 zip 檔案以及 ArtifactRegistry 中的相關建置工件都會被清除。函數和事件提供者之間的連接被刪除。
除了使用後台函數監聽事件之外,還可以直接透過 HTTP 請求或客戶端呼叫來呼叫函數。您也可以透過 Admin SDK 依固定計畫觸發函數或將任務函數排隊。
實施路徑
設定雲函數 | 安裝 Firebase CLI 並初始化 Firebase 專案中的 Cloud Functions。 | |
編寫函數 | 編寫 JavaScript 程式碼、TypeScript 程式碼或 Python 程式碼來處理來自 Firebase 服務、Google Cloud 服務或其他事件提供者的事件。 | |
測試功能 | 使用本機模擬器來測試您的功能。 | |
部署和監控 | 使用 Firebase CLI 為您的專案啟用計費並部署您的功能。您可以使用Google Cloud Console查看和搜尋日誌。 |
下一步
- 開始設定、建立和部署函數。
- 詳細了解您可以使用函數執行哪些操作。
- 試試Cloud Functions Codelab 。