Cloud Functions cho phép nhà phát triển truy cập vào các sự kiện của Firebase và Google Cloud, cùng với sức mạnh điện toán có thể mở rộng để chạy mã nhằm phản hồi các sự kiện đó. Mặc dù các ứng dụng Firebase thường sử dụng Cloud Functions theo những cách riêng để đáp ứng các yêu cầu riêng, nhưng các trường hợp sử dụng thông thường có thể thuộc những lĩnh vực sau:
- Thông báo cho người dùng khi có điều gì đó thú vị xảy ra.
- Thực hiện dọn dẹp và bảo trì cơ sở dữ liệu.
- Thực thi các tác vụ chuyên sâu trên đám mây thay vì trong ứng dụng.
- Tích hợp với các dịch vụ và API của bên thứ ba.
Xem các trường hợp sử dụng và ví dụ cho từng danh mục mà bạn quan tâm, sau đó chuyển đến hướng dẫn Bắt đầu hoặc các hướng dẫn cụ thể về cách thực hiện cho sự kiện xác thực, sự kiện phân tích, v.v.
Thông báo cho người dùng khi có điều gì đó thú vị xảy ra
Nhà phát triển có thể sử dụng Cloud Functions để thu hút người dùng và cập nhật thông tin liên quan về một ứng dụng. Ví dụ: hãy xem xét một ứng dụng cho phép người dùng theo dõi hoạt động của nhau trong ứng dụng. Mỗi khi người dùng thêm chính họ làm người theo dõi của một người dùng khác, một thao tác ghi sẽ xảy ra trong Realtime Database. Sau đó, sự kiện ghi này có thể kích hoạt một hàm để tạo thông báo Firebase Cloud Messaging (FCM) nhằm cho người dùng thích hợp biết rằng họ có người theo dõi mới.

- Hàm này kích hoạt khi có thao tác ghi vào đường dẫn Realtime Database nơi lưu trữ người theo dõi.
- Hàm này soạn một tin nhắn để gửi qua FCM.
- FCM gửi thông báo đến thiết bị của người dùng.
Để xem mã đang hoạt động, hãy xem mã mẫu trong GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Các trường hợp sử dụng thông báo thú vị khác
- Gửi email xác nhận cho người dùng đăng ký nhận bản tin.
- Gửi email chào mừng khi người dùng hoàn tất quy trình đăng ký.
- Gửi tin nhắn SMS xác nhận khi người dùng tạo tài khoản mới.
Thực hiện dọn dẹp và bảo trì cơ sở dữ liệu
Với tính năng xử lý sự kiện cơ sở dữ liệu Cloud Functions, bạn có thể sửa đổi Realtime Database hoặc Cloud Firestore để phản hồi hành vi của người dùng, giữ cho hệ thống ở trạng thái mong muốn. Ví dụ: bạn có thể theo dõi các sự kiện ghi và thay đổi định dạng (ví dụ: thay đổi thành tất cả chữ hoa) của một số chuỗi nhất định trong tin nhắn của người dùng. Sau đây là cách hoạt động:

- Trình xử lý sự kiện cơ sở dữ liệu của hàm sẽ theo dõi các sự kiện ghi trên một đường dẫn cụ thể và truy xuất dữ liệu sự kiện chứa văn bản của tin nhắn.
- Hàm này xử lý văn bản để thay đổi chuỗi thành chữ hoa.
- Hàm này ghi văn bản đã cập nhật trở lại cơ sở dữ liệu.
Để xem mã đang hoạt động, hãy xem mã mẫu trong GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Các trường hợp sử dụng khác về việc dọn dẹp và bảo trì cơ sở dữ liệu
- Xoá nội dung của người dùng đã bị xoá khỏi Realtime Database.
- Giới hạn số lượng nút con trong cơ sở dữ liệu Firebase.
- Theo dõi số lượng phần tử trong danh sách Realtime Database.
- Sao chép dữ liệu từ Realtime Database sang Google Cloud BigQuery.
- Chuyển đổi văn bản thành biểu tượng cảm xúc.
- Quản lý siêu dữ liệu được tính toán cho bản ghi cơ sở dữ liệu.
Thực thi các tác vụ chuyên sâu trên đám mây thay vì trong ứng dụng
Bạn có thể tận dụng Cloud Functions để giảm tải cho tài nguyên đám mây của Google (CPU hoặc mạng nặng) thay vì chạy tài nguyên đó trên thiết bị của người dùng, nhờ đó cải thiện khả năng phản hồi của ứng dụng. Ví dụ: bạn có thể viết một hàm để theo dõi các tệp tải lên hình ảnh vào Cloud Storage, tải hình ảnh xuống thực thể đang chạy hàm, sửa đổi hình ảnh và tải hình ảnh lên lại Cloud Storage. Nội dung sửa đổi có thể bao gồm việc đổi kích thước, cắt hoặc chuyển đổi hình ảnh bằng các công cụ như sharp hoặc Pillow.

- Một hàm kích hoạt khi tệp hình ảnh được tải lên Cloud Storage.
- Hàm này tải hình ảnh xuống và tạo phiên bản hình thu nhỏ của hình ảnh đó.
- Hàm này ghi vị trí hình thu nhỏ đó vào cơ sở dữ liệu để ứng dụng khách có thể tìm và sử dụng.
- Hàm này tải hình thu nhỏ lên lại Cloud Storage ở một vị trí mới.
- Ứng dụng tải đường liên kết đến hình thu nhỏ xuống.
Để xem hướng dẫn từng bước về một ví dụ xử lý hình ảnh, hãy xem hướng dẫn về cách xử lý sự kiện Cloud Storage.
Các ví dụ khác về công việc theo lô trong đám mây Firebase
- Xoá định kỳ các tài khoản Firebase không dùng đến Node.js | Python.
- Tự động sao lưu hình ảnh đã tải lên Node.js | Python.
- Gửi email hàng loạt cho người dùng.
- Tổng hợp và tóm tắt dữ liệu định kỳ.
- Xử lý hàng đợi công việc đang chờ xử lý.
Tích hợp với các dịch vụ và API của bên thứ ba
Cloud Functions có thể giúp ứng dụng của bạn hoạt động hiệu quả hơn với các dịch vụ khác bằng cách gọi và hiển thị API web. Ví dụ: một ứng dụng dùng để cộng tác trong quá trình phát triển có thể đăng các thay đổi trên GitHub lên phòng trò chuyện của nhóm làm việc.

- Người dùng đẩy các thay đổi lên một kho lưu trữ GitHub.
- Hàm HTTPS kích hoạt thông qua API webhook của GitHub.
- Hàm này sẽ gửi thông báo về thay đổi đã xác nhận đến một kênh Slack của nhóm.
Các cách khác để tích hợp với các dịch vụ và API của bên thứ ba
- Sử dụng Cloud Vision API của Google để phân tích và gắn thẻ cho hình ảnh đã tải lên.
- Dịch tin nhắn bằng Google Dịch.
- Sử dụng phương thức xác thực tuỳ chỉnh để đăng nhập người dùng.
- Gửi yêu cầu đến webhook khi có thao tác ghi Realtime Database.
- Bật tính năng tìm kiếm toàn bộ văn bản trên các phần tử Realtime Database.
- Xử lý các khoản thanh toán của người dùng.
- Tạo tin nhắn trả lời tự động cho cuộc gọi điện thoại và tin nhắn SMS.
- Tạo chatbot bằng Trợ lý Google.