Cloud Functions 提供哪些功能?

Cloud Functions 可讓開發人員存取 Firebase 和 Google Cloud 事件,並透過可擴充的運算能力執行程式碼,以回應這些事件。雖然 Firebase 應用程式預期會以獨特的方式使用 Cloud Functions 來滿足其獨特需求,但一般用途可分為以下領域:

針對您感興趣的各個類別,查看適用案例和範例,然後繼續我們的入門教學課程,或驗證事件數據分析事件等主題的具體使用指南。

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

開發人員可以利用 Cloud Functions 吸引使用者持續互動,並提供應用程式的相關資訊。舉例來說,假設某個應用程式允許使用者追蹤彼此的活動。每當使用者將自己新增為其他使用者的追蹤者時,系統就會在即時資料庫中寫入資料。然後,此寫入事件可能會觸發建立 Firebase 雲端通訊 (FCM) 通知的函式,讓相關使用者知道他們已獲得新追蹤者。

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

  1. 寫入即時資料庫路徑 (儲存追蹤者的即時資料庫路徑) 時,函式會觸發。
  2. 這個函式會撰寫要透過 FCM 傳送的訊息。
  3. FCM 會傳送通知訊息到使用者的裝置。

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

其他有趣的通知用途

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

執行資料庫清理和維護

藉由 Cloud Functions 資料庫事件處理,您可以根據使用者行為修改即時資料庫或 Cloud Firestore,讓系統保持您想要的狀態。例如,您可以監控寫入事件,並變更使用者訊息中特定字串的格式 (例如,變更為全部大寫)。運作方式如下:

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

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

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

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

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

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

您可以利用 Cloud Functions 卸載至會耗用大量資源的 Google Cloud 資源密集工作 (大量 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. 透過 GitHub Webhook API 觸發 HTTPS 函式。
  3. 函式會將修訂版本的通知傳送至團隊 Slack 頻道。

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

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