Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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 會通過快速擴展運行您的函數所需的虛擬服務器實例數量來做出響應。每個功能都獨立運行,在其自己的環境中使用自己的配置。

後台函數的生命週期

  1. 您為新函數編寫代碼,選擇事件提供程序(例如 Cloud Firestore),並定義函數應在何種條件下執行。
  2. 部署函數時:
    1. Firebase CLI 創建函數代碼的.zip存檔,然後將其上傳到 Firebase 項目中的 Cloud Storage 存儲gcf-sources (以gcf-sources為前綴)。
    2. Cloud Build 檢索函數代碼並構建函數源。您可以在Google Cloud Console 中查看 Cloud Build 日誌。
    3. 用於構建函數代碼的容器映像gcf您項目中的私有 Container Registry 存儲庫(名為gcf ),並推出您的新函數。
  3. 當事件提供程序生成與函數條件匹配的事件時,將調用代碼。
  4. 如果函數忙於處理許多事件,Google 會創建更多實例以更快地處理工作。如果函數空閒,則清理實例。
  5. 當您通過部署更新的代碼來更新函數時,舊版本的實例與 Cloud Storage 和 Container Registry 中的構建工件一起被清除,並被新實例替換。
  6. 當您刪除該函數時,所有實例和 zip 檔案以及 Cloud Storage 和 Container Registry 中的相關構建工件都會被清除。函數和事件提供者之間的連接被移除。

除了使用後台函數偵聽事件之外,您還可以通過 HTTP 請求或來自客戶端調用直接調用函數。

實施路徑

設置雲函數在 Firebase 項目中安裝 Firebase CLI 並初始化 Cloud Functions。
編寫函數編寫 JavaScript 代碼(或 TypeScript 代碼以在部署時進行轉譯)來處理來自 Firebase 服務、Google Cloud 服務或其他事件提供程序的事件。
測試功能使用本地模擬器測試您的功能。
部署和監控為您的項目啟用計費並使用 Firebase CLI 部署您的函數。您可以使用 Firebase 控制台查看和搜索您的日誌。

下一步