Cloud Functions cấp cho nhà phát triển quyền truy cập vào các sự kiện 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ù dự kiến các ứng dụng Firebase sẽ sử dụng các Hàm trên đám mây theo cách riêng để đáp ứng các yêu cầu riêng của chú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 thú vị xảy ra.
- Thực hiện việc dọn dẹp và duy 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 sang 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ể sử dụng Cloud Functions để giữ chân người dùng và cập nhật thông tin liên quan về ứ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 người dùng khác 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 người dùng khác, một hoạt động 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) cho phép người dùng thích hợp 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 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 lại 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 việc 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 thư của người dùng. 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 cụ thể và truy xuất dữ liệu sự kiện có chứa văn bản của một thông báo.
- 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 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á hoàn toàn 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 công việc tốn nhiều tài nguyên trên đám mây của Google (CPU hoặc kết nối mạng nặng) thay vì chạy công việc đó trên thiết bị của người dùng, giúp 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 lượt tải hình ảnh lên Cloud Storage, tải hình ảnh xuống thực thể đang chạy hàm, sửa đổi hình ảnh đó rồi tải lại lên Cloud Storage. 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ư 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 sẽ 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 ở 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 xử lý các sự kiện Cloud Storage.
Các ví dụ khác về công việc hàng loạt trên đá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 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ị các 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 vào phòng trò chuyện của 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.
- Hàm HTTPS kích hoạt thông qua GitHub webhook API.
- Hàm này sẽ gửi thông báo về thay đổi đã thực hiện đến 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 các hình ảnh đã tải lên.
- Dịch thư 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 tới webhook trên Realtime Database ghi.
- 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 chatbot bằng Trợ lý Google.