Cloud Functions cho phép nhà phát triển truy cập vào Firebase và Google Cloud các sự kiện, cùng với sức mạnh tính toán có thể mở rộng để chạy mã nhằm phản hồi những sự kiện đó. Trong khi rằng ứng dụng Firebase sẽ sử dụng Cloud Functions theo những cách riêng để đáp ứng các yêu cầu riêng của chúng, các trường hợp sử dụng thông thường có thể thuộc các lĩnh vực sau:
- Thông báo cho người dùng khi có điều thú vị xảy ra.
- Làm sạch 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 của bạn.
- 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 phần hướng dẫn Bắt đầu hoặc hướng dẫn cụ thể về cách sử dụng 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 thú vị xảy ra
Nhà phát triển có thể dùng Cloud Functions để liên tục thu hút và cập nhật thông tin cho người dùng liên quan đến 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 tự thêm chính mình làm người theo dõi của người dùng khác, việc ghi 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 các thông báo Firebase Cloud Messaging (FCM) nhằm giúp những người dùng biết rằng họ đã có thêm người theo dõi mới.
- Hàm này kích hoạt khi ghi vào đường dẫn Realtime Database trong đó người theo dõi sẽ được lưu trữ.
- Hàm này soạn một tin nhắn để gửi qua FCM.
- FCM gửi nội dung thông báo đến thiết bị của người dùng.
Để xem lại mã đang hoạt động, hãy xem mã mẫu trong GitHub:
- Node.js: fcm-notifications
- Python: thông báo fcm
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 những 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 quá 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 việc dọn dẹp và bảo trì cơ sở dữ liệu
Với khả 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úp hệ thống luôn ở trạng thái mong muốn trạng thái. Ví dụ: bạn có thể theo dõi các sự kiện ghi và thay đổi định dạng (ví dụ: đổi sang tất cả chữ hoa) của một số chuỗi nhất định trong thuộc tính người dùng tin nhắn. Dưới đây là cách hoạt động:
- Trình xử lý sự kiện trong cơ sở dữ liệu của hàm theo dõi các sự kiện ghi trên một đường dẫn và truy xuất dữ liệu sự kiện có chứa văn bản của thông báo.
- Hàm này xử lý văn bản để đổ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 lại 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 để dọn dẹp và bảo trì cơ sở dữ liệu
- Xoá toàn bộ 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 các 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 Google công việc tốn nhiều tài nguyên trên đám mây (CPU hoặc mạng nặng) thay vì chạy công việc đó trên thiết bị của người dùng, 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 để nghe các hình ảnh đã tải lên Cloud Storage, hãy tải hình ảnh xuống phiên bản chạy hàm, sửa đổi hàm đó rồi tải hàm đó lên lại Cloud Storage. Thông tin các nội dung sửa đổi có thể bao gồm đổi kích thước, cắt hoặc chuyển đổi hình ảnh bằng các công cụ như sắc thái hoặc Gối.
- 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 vị trí đó.
- Hàm này tải hình thu nhỏ lên lại Cloud Storage ở vị trí mới.
- Ứng dụng sẽ tải đường liên kết đến hình thu nhỏ xuống.
Để xem hướng dẫn từng bước về ví dụ xử lý hình ảnh, hãy xem hướng dẫn về xử lý các sự kiện Cloud Storage.
Các ví dụ khác về công việc hàng loạt trong đám mây Firebase
- Định kỳ xoá 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 theo định kỳ.
- Xử lý hàng đợi công việc đang chờ xử lý.
Tích hợp với các API và dịch vụ 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ị các API web. Ví dụ: một ứng dụng dùng để cộng tác trên phát triển có thể đăng các cam kết GitHub lên một phòng trò chuyện nhóm làm việc.
- Một người dùng đẩy các lượt cam kết vào một kho lưu trữ GitHub.
- Một hàm HTTPS kích hoạt thông qua API webhook GitHub.
- Hàm này gửi thông báo cam kết đến một kênh Slack của nhóm.
Những cách khác để tích hợp với API và dịch vụ của bên thứ ba
- Sử dụng Cloud Vision API của Google để phân tích và gắn thẻ cho các hình ảnh đã tải lên.
- Dịch tin nhắn bằng Google Dịch.
- Sử dụng quy trình xác thực tuỳ chỉnh để đăng nhập người dùng.
- Gửi yêu cầu đến một webhook trên các hoạt động 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 câu trả lời tự động cho cuộc gọi điện thoại và tin nhắn SMS.
- Tạo bot trò chuyện bằng Trợ lý Google.