Cloud Functions 提供哪些功能?

Cloud Functions 可讓開發人員存取 Firebase 和 Google Cloud 事件和 可擴充的運算能力,讓您執行程式碼以回應這些事件。雖然 Firebase 應用程式會以獨特的方式使用 Cloud Functions 來滿足自身需求,但一般用途可能會落在以下幾個領域:

查看每個興趣類別的應用實例和範例 然後前往「開始使用」教學課程 或特定使用指南 定義驗證事件 Analytics 事件等。

有有趣的活動時通知使用者

開發人員可以使用 Cloud Functions,讓使用者持續參與應用程式,並掌握相關資訊。舉例來說,假設有個應用程式可讓使用者在應用程式中追蹤彼此的活動。每當使用者將自己加入其他使用者的追蹤者清單時,Realtime Database 就會發生寫入作業。接著,這個寫入事件可能會觸發函式 建立 Firebase Cloud Messaging (FCM) 通知, 使用者知道自己獲得了新的追蹤者。

顯示下方介紹應用程式流程的圖表

  1. 寫入 Realtime Database 路徑時,函式會觸發,其中 位追蹤者的資料已儲存。
  2. 這個函式會撰寫訊息,透過 FCM 傳送。
  3. FCM 會傳送通知訊息到使用者的裝置。

如要查看可運作的程式碼,請參閱 GitHub 中的程式碼範例:

其他有趣的通知用途

  • 向訂閱電子報的使用者傳送確認電子郵件。
  • 使用者完成註冊程序後,傳送歡迎電子郵件。
  • 當使用者建立新帳戶時,傳送 SMS 確認訊息。

執行資料庫清理和維護

透過 Cloud Functions 資料庫事件處理,您可以修改 Realtime DatabaseCloud Firestore 以回應使用者行為,讓系統保持您想要的運作 時間。舉例來說,您可以監控寫入事件並變更格式 (例如變更為全部大寫)訊息。 運作方式如下:

顯示下方介紹應用程式流程的圖表

  1. 該函式的資料庫事件處理常式會監聽特定路徑上的寫入事件,並擷取包含訊息文字的事件資料。
  2. 這個函式會處理文字,將字串轉換為大寫。
  3. 函式會將更新的文字寫回資料庫。

如要查看可運作的程式碼,請參閱 GitHub 中的程式碼範例:

其他資料庫清理與維護用途

  • 將已刪除使用者的內容從 Realtime Database 中清除。
  • 限制 Firebase 資料庫中的子節點數量。
  • 追蹤 Realtime Database 清單中的元素數量。
  • Realtime Database 中的資料複製到 Google Cloud BigQuery。
  • 將文字轉換成表情符號。
  • 管理資料庫記錄的運算中繼資料。

在雲端而非應用程式中執行大量工作

你可以使用 Cloud Functions,將資料卸載至 Google 不必執行會耗用大量雲端資源的工作 (耗用大量 CPU 或網路) 以提升應用程式的回應速度。 舉例來說,您可以編寫函式 監聽上傳至 Cloud Storage 的圖片,請將圖片下載至執行個體 執行函式並加以修改,然後將函式傳回 Cloud Storage。您的 修改方式可能包括調整大小、裁剪或使用工具轉換圖片 例如清晰枕頭

顯示下方介紹應用程式流程的圖表

  1. 圖片檔案上傳至 Cloud Storage 時,函式會觸發。
  2. 這個函式會下載圖片並建立其縮圖版本。
  3. 這個函式會將縮圖位置寫入資料庫,方便用戶端應用程式找到並使用該位置。
  4. 函式會將縮圖傳回新位置的 Cloud Storage
  5. 應用程式會下載縮圖連結。

如需圖片處理範例的逐步操作說明,請參閱 處理 Cloud Storage 事件

Firebase 雲端中批次工作的其他範例

  • 定期刪除未使用的 Firebase 帳戶 Node.js |Python
  • 自動備份上傳的圖片 Node.js | Python
  • 大量傳送電子郵件給使用者。
  • 定期匯總及摘要資料。
  • 處理待處理的工作。

與第三方服務和 API 整合

Cloud Functions 可協助您讓應用程式與其他服務完美搭配, 呼叫和公開網路 API。例如,在 開發團隊可以將 GitHub 修訂版本張貼至工作群組聊天室。

顯示下方介紹應用程式流程的圖表

  1. 使用者將修訂版本推送至 GitHub 存放區。
  2. HTTPS 函式會透過 GitHub webhook API 觸發。
  3. 函式會將修訂版本的通知傳送至團隊 Slack 頻道。

整合第三方服務和 API 的其他方式

  • 使用 Google Cloud Vision API 分析上傳的圖片並加上標記。
  • 使用 Google 翻譯服務翻譯訊息。
  • 使用自訂驗證讓使用者登入。
  • 透過 Realtime Database 寫入作業向 Webhook 傳送要求。
  • 啟用 Realtime Database 元素的全文搜尋功能。
  • 處理使用者支付的款項。
  • 為來電和簡訊建立自動回覆。
  • 使用 Google 助理建立聊天機器人。