Cloud Functions 使開發人員能夠存取 Firebase 和 Google Cloud 事件,以及可擴展的運算能力來運行程式碼以回應這些事件。雖然預計 Firebase 應用將以獨特的方式使用 Cloud Functions 來滿足其獨特的需求,但典型的用例可能屬於以下領域:
查看您感興趣的每個類別的用例和範例,然後繼續學習我們的入門教學課程或身分驗證事件、分析事件等的特定操作指南。
當有趣的事情發生時通知用戶
開發人員可以使用 Cloud Functions 來吸引使用者並隨時了解應用程式的相關資訊。例如,考慮一款允許用戶在應用程式中追蹤彼此活動的應用程式。每次使用者將自己新增為另一個使用者的追蹤者時,即時資料庫中都會發生寫入。然後,此寫入事件可以觸發一個函數來建立 Firebase 雲端訊息傳遞 (FCM) 通知,讓相應的使用者知道他們已經獲得了新的追蹤者。
- 此函數在寫入儲存追蹤者的即時資料庫路徑時觸發。
- 該函數編寫一條訊息並透過FCM發送。
- FCM將通知訊息傳送到使用者的裝置。
若要查看工作程式碼,請參閱 GitHub 中的範例程式碼:
其他有趣的通知用例
- 向訂閱新聞通訊的用戶發送確認電子郵件。
- 用戶完成註冊後發送歡迎電子郵件。
- 當用戶建立新帳戶時發送簡訊確認。
執行資料庫清理和維護
透過 Cloud Functions 資料庫事件處理,您可以修改即時資料庫或 Cloud Firestore 以回應使用者行為,讓系統保持在您所需的狀態。例如,您可以監視寫入事件並變更使用者訊息中某些字串的格式(例如,變更為全部大寫)。這是它的工作原理:
- 此函數的資料庫事件處理程序會偵聽特定路徑上的寫入事件,並擷取包含訊息文字的事件資料。
- 此函數處理文字以將字串變更為大寫。
- 該函數將更新後的文字寫回資料庫。
若要查看工作程式碼,請參閱 GitHub 中的範例程式碼:
其他資料庫清理和維護用例
- 從即時資料庫中清除已刪除使用者的內容。
- 限制 Firebase 資料庫中的子節點數量。
- 追蹤即時資料庫清單中的元素數量。
- 將資料從即時資料庫複製到 Google Cloud BigQuery。
- 將文字轉換為表情符號。
- 管理資料庫記錄的計算元資料。
在雲端而不是在您的應用程式中執行密集型任務
您可以利用 Cloud Functions 將資源密集工作(大量 CPU 或網路)卸載到 Google 雲,而不是在使用者裝置上運行,從而提高應用程式的回應能力。例如,您可以編寫一個函數來監聽映像上傳到 Cloud Storage,將映像下載到執行該函數的實例,對其進行修改,然後將其上傳回 Cloud Storage。您的修改可能包括調整大小、裁剪或使用Sharp或Pillow 等工具轉換影像。
- 當圖像檔案上傳到 Cloud Storage 時會觸發函數。
- 該函數下載圖像並創建它的縮圖版本。
- 該函數將該縮圖位置寫入資料庫,以便客戶端應用程式可以找到並使用它。
- 該函數會將縮圖上傳回 Cloud Storage 的新位置。
- 該應用程式下載縮圖連結。
有關影像處理範例的演練,請參閱處理 Cloud Storage 事件指南 。
Firebase 雲端中批次作業的其他範例
與第三方服務和 API 集成
Cloud Functions 可以透過呼叫和公開 Web API 來幫助您的應用程式更好地與其他服務搭配使用。例如,用於協作開發的應用程式可以將 GitHub 提交發佈到工作小組聊天室。
- 用戶將提交推送到 GitHub 儲存庫。
- HTTPS 函數透過GitHub webhook API觸發。
- 此函數將提交通知傳送到團隊 Slack 頻道。
與第三方服務和 API 整合的其他方式
- 使用 Google Cloud Vision API分析和標記上傳的圖像。
- 使用 Google 翻譯翻譯訊息。
- 使用自訂身份驗證來登入使用者。
- 向即時資料庫寫入的 Webhook 發送請求。
- 對即時資料庫元素啟用全文搜尋。
- 處理用戶的付款。
- 建立對電話和簡訊的自動回覆。
- 使用 Google Assistant 建立聊天機器人。