Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Firebase 雲函數

Cloud Functions for Firebase 是一個無服務器框架,可讓您自動運行後端代碼以響應 Firebase 功能和 HTTPS 請求觸發的事件。您的 JavaScript 或 TypeScript 代碼存儲在 Google 的雲中並在託管環境中運行。無需管理和擴展您自己的服務器。

已在 Google Cloud 中使用 Cloud Functions?了解更多有關火力地堡如何融入畫面。

上手使用案例

關鍵能力

集成 Firebase 平台

你寫的功能可以通過各種火力地堡生成的事件和谷歌的雲功能,從火力地堡認證觸發雲存儲觸發器

使用集成的跨火力地堡設有管理員SDK一起與雲功能,以及與第三方服務通過編寫自己的網絡掛接整合。 Cloud Functions 可最大限度地減少樣板代碼,從而更輕鬆地在您的函數中使用 Firebase 和 Google Cloud。
零維護使用命令行中的一個命令將您的 JavaScript 或 TypeScript 代碼部署到我們的服務器。之後,Firebase 會自動擴展計算資源以匹配您用戶的使用模式。您無需擔心憑據、服務器配置、配置新服務器或停用舊服務器。
保持您的邏輯私密和安全在很多情況下,開發者更喜歡在服務器端控制應用邏輯,以避免在客戶端被篡改。此外,有時不允許對該代碼進行逆向工程。 Cloud Functions 與客戶端完全隔離,因此您可以確保它是私有的,並且始終完全按照您的意願行事。

它是如何工作的?

在您編寫並部署函數後,Google 的服務器會立即開始管理該函數。您可以直接使用 HTTP 請求觸發該函數,或者,在後台函數的情況下,Google 的服務器將偵聽事件並在觸發時運行該函數。

隨著負載的增加或減少,Google 會通過快速擴展運行您的函數所需的虛擬服務器實例的數量來做出響應。每個功能都獨立運行,在其自己的環境中使用自己的配置。

後台函數的生命週期

  1. 您為新函數編寫代碼,選擇事件提供程序(例如 Cloud Firestore),並定義函數應在何種條件下執行。
  2. 部署函數時:
    1. 在火力地堡CLI創建一個.zip的功能代碼,然後將其上傳到雲存儲桶(前綴的歸檔gcf-sources在你的火力地堡項目)。
    2. Cloud Build 檢索函數代碼並構建函數源。您可以在查看雲構建日誌谷歌雲端控制台
    3. 對於內置函數的代碼的容器圖像上傳到您的項目(命名的專用容器註冊庫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 控制台查看和搜索您的日誌。

下一步