Bạn có thể làm gì với Cloud Functions?

Cloud Functions cho phép nhà phát triển truy cập vào Firebase và các sự kiện Google Cloud, 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 các sự kiện đó. Mặc dù các ứng dụng Firebase dự kiến 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 mình, nhưng các trường hợp sử dụng điển hình có thể thuộc những lĩnh vực sau:

Xem xét 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 đến 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à nhiều sự kiện khác.

Thông báo cho người dùng khi có sự kiện thú vị

Nhà phát triển có thể sử dụng Cloud Functions để duy trì sự tương tác của người dùng và cung cấp cho họ thông tin mới nhất 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 mình 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.

Sơ đồ minh hoạ quy trình của ứng dụng được mô tả bên dưới

  1. Hàm này sẽ kích hoạt khi ghi vào đường dẫn Realtime Database nơi người theo dõi được lưu trữ.
  2. Hàm này tạo một thông báo để gửi qua FCM.
  3. 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:

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 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 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, duy trì 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 trong tin nhắn của người dùng. Sau đây là cách thức hoạt động:

Sơ đồ minh hoạ quy trình của ứng dụng được mô tả bên dưới

  1. Trình xử lý sự kiện cơ sở dữ liệu của hàm này 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 nội dung của thông báo.
  2. Hàm này xử lý văn bản để thay đổi chuỗi thành chữ hoa.
  3. 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:

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á hoàn toàn nội dung của người dùng đã 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 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 trong 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

Bạn có thể tận dụng Cloud Functions để chuyển những công việc tiêu tốn nhiều tài nguyên (CPU hoặc mạng) lên đám mây Google thay vì chạy công việc đó trên thiết bị của người dùng, từ đó 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 ảnh lên Cloud Storage, tải ảnh xuống phiên bản đang chạy hàm, sửa đổi ảnh rồi tải ảnh đó lên lại Cloud Storage. Bạn có thể sửa đổi bằng cách đổ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.

Sơ đồ minh hoạ quy trình của ứng dụng được mô tả bên dưới

  1. Một hàm sẽ kích hoạt khi một tệp hình ảnh được tải lên Cloud Storage.
  2. Hàm này tải hình ảnh xuống và tạo một phiên bản thu nhỏ của hình ảnh đó.
  3. Hàm này ghi vị trí của hình thu nhỏ vào cơ sở dữ liệu, nhờ đó, một ứng dụng khách có thể tìm và sử dụng hình thu nhỏ đó.
  4. Hàm này tải hình thu nhỏ lên lại Cloud Storage ở một vị trí mới.
  5. Ứng dụng sẽ tải đường liên kết đến hình thu nhỏ xuống.

Để xem hướng dẫn về ví dụ xử lý hình ảnh, hãy xem hướng dẫn về cách 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 đị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 được dùng để cộng tác trong quá trình phát triển có thể đăng các cam kết trên GitHub vào phòng trò chuyện của nhóm làm việc.

Sơ đồ minh hoạ quy trình của ứng dụng được mô tả bên dưới

  1. Người dùng đẩy các cam kết vào một kho lưu trữ trên GitHub.
  2. Một hàm HTTPS sẽ kích hoạt thông qua GitHub Webhook API.
  3. Hàm này sẽ gửi thông báo về cam kết đế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 API Cloud Vision của Google để phân tích và gắn thẻ hình ảnh đã tải lên.
  • Dịch tin nhắn bằng Google Dịch.
  • Sử dụng custom auth để đăng nhập người dùng.
  • Gửi yêu cầu đến một webhook khi 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 phản hồ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.