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 透過快速擴展運行功能所需的虛擬伺服器實例的數量來回應。每個功能都獨立運行,在自己的環境中使用自己的配置。

後台函數的生命週期

  1. 您為新函數編寫程式碼,選擇事件提供者(例如 Cloud Firestore),並定義該函數應執行的條件。
  2. 當您部署函數時:
    1. Firebase CLI 建立函數程式碼的.zip存檔,然後將其上傳到 Cloud Storage 儲存桶(前綴為gcf-sources ),然後 Cloud Functions 在您的專案中建立 Artifact Registry 儲存庫(名為gcf-artifacts )。
    2. Cloud Build 檢索函數程式碼並建立函數來源。您可以在Google Cloud 控制台中查看 Cloud Build 日誌。
    3. 建置的函數程式碼的容器映像將上傳到專案中的私人 ArtifactRegistry 儲存庫(名為gcf-artifacts ),並且您的新函數將推出。
  3. 當事件提供者產生與函數條件相符的事件時,將呼叫程式碼。
  4. 如果函數正忙於處理許多事件,Google 會建立更多實例以更快地處理工作。如果函數空閒,實例將被清理。
  5. 當您透過部署更新的程式碼來更新函數時,舊版的實例將與 ArtifactRegistry 中的建置工件一起被清除,並被新實例取代。
  6. 當您刪除函數時,所有實例和 zip 檔案以及 ArtifactRegistry 中的相關建置工件都會被清除。函數和事件提供者之間的連接被刪除。

除了使用後台函數監聽事件之外,還可以直接透過 HTTP 請求或客戶端呼叫來呼叫函數。您也可以透過 Admin SDK 依固定計畫觸發函數或將任務函數排隊

實施路徑

設定雲函數安裝 Firebase CLI 並初始化 Firebase 專案中的 Cloud Functions。
編寫函數編寫 JavaScript 程式碼、TypeScript 程式碼或 Python 程式碼來處理來自 Firebase 服務、Google Cloud 服務或其他事件提供者的事件。
測試功能使用本機模擬器來測試您的功能。
部署和監控使用 Firebase CLI 為您的專案啟用計費並部署您的功能。您可以使用Google Cloud Console查看和搜尋日誌。

下一步