Cloud Functions cho Firebase

Cloud Functions cho Firebase là một khung không máy chủ cho phép bạn tự động chạy mã phụ trợ để phản hồi các sự kiện do sự kiện nền, yêu cầu HTTPS, Admin SDK hoặc các công việc Cloud Scheduler kích hoạt. Mã JavaScript, TypeScript hoặc Python của bạn được lưu trữ trên cơ sở hạ tầng của Google Cloud và chạy trong một môi trường được quản lý. Bạn không cần quản lý và mở rộng quy mô máy chủ của riêng mình.

Bạn đã sử dụng Cloud Functions trong Google Cloud chưa? Tìm hiểu thêm về cách Firebase phù hợp với bức tranh này.

Bắt đầu Trường hợp sử dụng

Các chức năng chính

Tích hợp các tính năng của Firebase và kết nối Firebase với Google Cloud

Các hàm mà bạn viết có thể phản hồi các sự kiện do nhiều tính năng của Firebase và Google Cloud tạo ra, từ điều kiện kích hoạt của Firebase Authentication đến điều kiện kích hoạt của Cloud Storage.

Tích hợp trên các tính năng của Firebase bằng Admin SDK cùng với Cloud Functions, đồng thời tích hợp với các dịch vụ của bên thứ ba bằng cách viết webhook của riêng bạn. Cloud Functions giảm thiểu mã nguyên mẫu, giúp bạn dễ dàng sử dụng Firebase và Google Cloud trong hàm của mình.
Không cần bảo trì Triển khai mã JavaScript, TypeScript hoặc Python lên các máy chủ của chúng tôi bằng một lệnh từ dòng lệnh. Sau đó, Firebase sẽ tự động tăng quy mô tài nguyên điện toán để phù hợp với các mẫu sử dụng của người dùng. Bạn không bao giờ phải lo lắng về thông tin đăng nhập, cấu hình máy chủ, việc cấp phép máy chủ mới hoặc ngừng hoạt động máy chủ cũ.
Đảm bảo tính riêng tư và bảo mật cho logic của bạn Trong nhiều trường hợp, nhà phát triển muốn kiểm soát logic ứng dụng trên máy chủ để tránh hành vi giả mạo ở phía máy khách. Ngoài ra, đôi khi bạn không muốn cho phép mã đó bị đảo ngược. Cloud Functions hoàn toàn tách biệt với ứng dụng, vì vậy, bạn có thể chắc chắn rằng Cloud Functions ở chế độ riêng tư và luôn thực hiện chính xác những gì bạn muốn.

Tính năng này hoạt động như thế nào?

Sau khi bạn viết và triển khai một hàm, các máy chủ của Google sẽ bắt đầu quản lý hàm đó ngay lập tức. Bạn có thể kích hoạt hàm trực tiếp bằng một yêu cầu HTTP, Admin SDK hoặc một công việc theo lịch, hoặc trong trường hợp hàm nền, máy chủ của Google sẽ lắng nghe các sự kiện và chạy hàm khi hàm được kích hoạt.

Khi tải tăng hoặc giảm, Google sẽ phản hồi bằng cách nhanh chóng mở rộng quy mô số lượng phiên bản máy chủ ảo cần thiết để chạy hàm của bạn. Mỗi hàm chạy riêng biệt trong môi trường riêng với cấu hình riêng.

Vòng đời của một hàm nền

  1. Bạn viết mã cho một hàm mới, chọn một trình cung cấp sự kiện (chẳng hạn như Cloud Firestore) và xác định các điều kiện mà hàm sẽ thực thi.
  2. Khi bạn triển khai hàm:
    1. CLI Firebase sẽ tạo một kho lưu trữ .zip cho mã hàm, sau đó kho lưu trữ này sẽ được tải lên một vùng chứa Cloud Storage (bắt đầu bằng gcf-sources) trước khi Cloud Functions tạo một kho lưu trữ Artifact Registry (có tên là gcf-artifacts) trong dự án của bạn.
    2. Cloud Build truy xuất mã hàm và tạo nguồn hàm. Bạn có thể xem nhật ký Cloud Build trong bảng điều khiển Google Cloud.
    3. Hình ảnh vùng chứa cho mã hàm đã tạo được tải lên một kho lưu trữ Artifact Registry riêng tư trong dự án của bạn (có tên là gcf-artifacts) và hàm mới của bạn sẽ được triển khai.
  3. Khi trình cung cấp sự kiện tạo ra một sự kiện phù hợp với các điều kiện của hàm, mã sẽ được gọi. Hàm này có một tài khoản dịch vụ được đính kèm. Bạn có thể dùng tài khoản này để truy cập vào các dịch vụ khác của Firebase nhờ Firebase Admin SDK.
  4. Nếu hàm đang xử lý nhiều sự kiện, Google sẽ tạo thêm các phiên bản để xử lý công việc nhanh hơn. Nếu hàm ở trạng thái rảnh, các phiên bản sẽ được dọn dẹp.
  5. Khi bạn cập nhật hàm bằng cách triển khai mã đã cập nhật, các phiên bản cho phiên bản cũ sẽ được dọn dẹp cùng với các cấu phần phần mềm trong Artifact Registry và được thay thế bằng các phiên bản mới.
  6. Khi bạn xoá hàm, tất cả các phiên bản và tệp lưu trữ zip sẽ được dọn dẹp, cùng với các cấu phần phần mềm có liên quan trong Artifact Registry. Mối kết nối giữa hàm và trình cung cấp sự kiện sẽ bị xoá.

Ngoài việc theo dõi các sự kiện bằng một hàm nền, bạn có thể gọi trực tiếp các hàm bằng một yêu cầu HTTP hoặc một lệnh gọi từ ứng dụng. Bạn cũng có thể kích hoạt các hàm theo một lịch biểu cố định hoặc đưa các hàm tác vụ vào hàng đợi thông qua Admin SDK.

Đường dẫn triển khai

Thiết lập Cloud Functions Cài đặt CLI Firebase và khởi động Cloud Functions trong dự án Firebase của bạn.
Viết hàm Viết mã JavaScript, mã TypeScript hoặc mã Python để xử lý các sự kiện từ các dịch vụ Firebase, dịch vụ Google Cloud hoặc các nhà cung cấp sự kiện khác.
Hàm kiểm thử Sử dụng trình mô phỏng cục bộ để kiểm thử các hàm của bạn.
Triển khai và giám sát Nâng cấp dự án của bạn lên gói giá linh hoạt (trả tiền theo mức dùng) và triển khai các hàm bằng CLI Firebase. Sau đó, bạn có thể sử dụng bảng điều khiển Google Cloud để xem và tìm kiếm trong nhật ký của mình.

Các bước tiếp theo