Cloud Functions cho Firebase

Cloud Functions cho Firebase là một khung không có 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 các sự kiện trong nền, yêu cầu HTTPS, công việc Admin SDK hoặ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 Google Cloud và chạy trong môi trường được quản lý. Bạn không cần phải 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 tổng thể.

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 bạn viết có thể phản hồi các sự kiện do nhiều tính năng Firebase và Google Cloud tạo ra, từ Điều kiện kích hoạt xác thực Firebase đến Điều kiện kích hoạt bộ nhớ trên đám mây.

Tích hợp trên các tính năng của Firebase bằng cách sử dụng SDK quản trị cùng với các Hàm trên đám mây và 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 bên trong hàm.
Không cần bảo trì Triển khai mã JavaScript, TypeScript hoặc Python cho 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 mở rộng quy mô tài nguyên điện toán để phù hợp với thói quen sử dụng của người dùng. Bạn không bao giờ phải lo lắng về thông tin xác thực, cấu hình máy chủ, việc cấp phép máy chủ mới hoặc ngừng sử dụng máy chủ cũ.
Giữ logic của bạn ở chế độ riêng tư và bảo mật 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 can thiệp vào phía máy khách. Ngoài ra, đôi khi bạn không nên cho phép kỹ thuật đảo ngược mã đó. Cloud Functions được cách ly hoàn toàn khỏi ứng dụng, vì vậy, bạn có thể chắc chắn rằng ứng dụng này là 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, 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 được lên lịch. Trong trường hợp các hàm ở chế độ nền, máy chủ của Google sẽ theo dõi 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 số lượng thực thể 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 trong 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 tạo một bản lưu trữ .zip của mã hàm, sau đó được tải lên bộ chứa Cloud Storage (có tiền tố là gcf-sources) trước khi Cloud Functions tạo 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 được tạo sẽ được tải lên một kho lưu trữ Artifact Registry riêng 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 khớp với điều kiện của hàm, mã sẽ được gọi.
  4. Nếu hàm đang bận xử lý nhiều sự kiện, Google sẽ tạo thêm các thực thể để xử lý công việc nhanh hơn. Nếu hàm ở trạng thái rảnh, các thực thể 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 thực thể 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 bản dựng trong Artifact Registry và được thay thế bằng các thực thể mới.
  6. Khi bạn xoá hàm, tất cả các thực thể 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 bản dựng có liên quan trong Artifact Registry. Mối liên kết 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 hàm ở chế độ nền, bạn có thể gọi trực tiếp các hàm bằng yêu cầu HTTP hoặc lệnh gọi từ ứng dụng. Bạn cũng có thể kích hoạt các hàm trên 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 chạy Cloud Functions trong dự án Firebase.
Viết hàm Viết mã JavaScript, mã TypeScript hoặc mã Python để xử lý các sự kiện từ 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.
Triển khai và giám sát Nâng cấp dự án lên gói giá linh hoạt (trả tiền theo mức dùng) của Blaze và triển khai các hàm bằng cách sử dụ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ác bước tiếp theo