Cloud Functions 使開發人員能夠訪問 Firebase 和 Google Cloud 事件,以及可擴展的計算能力來運行代碼以響應這些事件。雖然預計 Firebase 應用將以獨特的方式使用 Cloud Functions 來滿足其獨特的需求,但典型的用例可能屬於以下領域:
查看您感興趣的每個類別的用例和示例,然後繼續學習我們的入門教程或身份驗證事件、分析事件等的具體操作指南。
當有趣的事情發生時通知用戶
開發人員可以使用 Cloud Functions 來吸引用戶並及時了解應用程序的相關信息。例如,考慮一款允許用戶在應用程序中跟踪彼此活動的應用程序。每次用戶將自己添加為另一個用戶的關注者時,實時數據庫中都會發生寫入。然後,此寫入事件可以觸發一個函數來創建 Firebase 雲消息傳遞 (FCM) 通知,讓相應的用戶知道他們已經獲得了新的關注者。
- 該函數在寫入存儲關注者的實時數據庫路徑時觸發。
- 該函數編寫一條消息並通過FCM發送。
- FCM將通知消息發送到用戶的設備。
要查看工作代碼,請參閱發送 FCM 通知。
其他有趣的通知用例
- 向訂閱/取消訂閱時事通訊的用戶發送確認電子郵件。
- 當用戶完成註冊時發送歡迎電子郵件。
- 當用戶創建新帳戶時發送短信確認。
執行數據庫清理和維護
通過 Cloud Functions 數據庫事件處理,您可以修改實時數據庫或 Cloud Firestore 以響應用戶行為,從而使系統保持最新且乾淨。例如,在聊天室應用程序中,您可以監視寫入事件並從用戶消息中刪除不適當或褻瀆的文本。這是它的工作原理:
- 該函數的數據庫事件處理程序偵聽特定路徑上的寫入事件,並檢索包含任何聊天消息文本的事件數據。
- 該函數處理文本以檢測並清除任何不適當的語言。
- 該函數將更新後的文本寫回數據庫。
要查看工作代碼,請參閱文本審核示例。此示例會清理聊天消息中的不當語言以及大寫“喊叫”。
其他數據庫清理和維護用例
- 從實時數據庫中清除已刪除用戶的內容。
- 限制 Firebase 數據庫中的子節點數量。
- 跟踪實時數據庫列表中的元素數量。
- 將數據從實時數據庫複製到 Google Cloud BigQuery 。
- 將文本轉換為表情符號。
- 管理數據庫記錄的計算元數據。
在雲中而不是在您的應用程序中執行密集型任務
開發人員可以利用 Cloud Functions 將資源密集型工作(大量 CPU 或網絡)卸載到 Google 雲,而這些工作在用戶設備上運行是不切實際的。例如,您可以編寫一個函數來監聽圖像上傳到 Cloud Storage,將圖像下載到運行該函數的實例,對其進行修改,然後將其上傳回 Cloud Storage。您的修改可能包括調整圖像大小、裁剪或轉換圖像。提供了ImageMagick命令行工具,可與 Cloud Functions 一起使用,以使這項工作變得輕鬆。
- 當圖像文件上傳到 Cloud Storage 時會觸發函數。
- 該函數下載圖像並創建它的縮略圖版本。
- 該函數將該縮略圖位置寫入數據庫,以便客戶端應用程序可以找到並使用它。
- 該函數會將縮略圖上傳回 Cloud Storage 的新位置。
- 該應用程序下載縮略圖鏈接。
Firebase 雲中批處理作業的其他示例
- 定期刪除未使用的 Firebase 帳戶。
- 自動審核上傳的圖像。
- 向用戶發送批量電子郵件。
- 定期匯總和總結數據。
- 處理待處理工作的隊列。
與第三方服務和 API 集成
Cloud Functions 可以通過調用和公開 Web API 來幫助您的應用程序更好地與其他服務配合使用。例如,用於協作開發的應用程序可以將 GitHub 提交發佈到工作組聊天室。
- 用戶將提交推送到 GitHub 存儲庫。
- HTTPS 函數通過GitHub webhook API觸發。
- 該函數將提交通知發送到團隊 Slack 通道。
與第三方服務和 API 集成的其他方式
- 使用 Google Cloud Vision API分析和標記上傳的圖像。
- 使用 Google Translate 翻譯消息。
- 使用LinkedIn或Instagram等身份驗證提供商來登錄用戶。
- 向實時數據庫寫入的 Webhook 發送請求。
- 對實時數據庫元素啟用全文搜索。
- 處理用戶的付款。
- 創建對電話和短信的自動回复。
- 使用 Google Assistant 創建聊天機器人。