Tính năng hỗ trợ Dart thử nghiệm trong Cloud Functions for Firebase cho phép bạn tạo các ứng dụng full-stack bằng Flutter và Dart. Giao tiếp với các dịch vụ Firebase khác bằng Firebase Admin Dart SDK mới.
Để bắt đầu với các hàm Dart, hãy thực hiện các tác vụ thiết lập trong hướng dẫn này, sau đó tiếp tục khám phá các hàm HTTP và hàm có thể gọi của Dart.
Điều kiện tiên quyết
- Dart SDK 3.9 trở lên
- Firebase CLI (phiên bản 15.15.0 trở lên)
Kiểm tra để đảm bảo bạn có phiên bản CLI Firebase hỗ trợ Dart trong Cloud Functions for Firebase bằng cờ --version:
`firebase --version`
Bật thử nghiệm trong giao diện dòng lệnh Firebase
firebase experiments:enable dartfunctions
Khởi chạy dự án
- Chạy:
bash firebase init functions - Chọn Dart làm ngôn ngữ của bạn.
- Khi được hỏi "Do you want to install dependencies now?" (Bạn có muốn cài đặt các phần phụ thuộc ngay bây giờ không?), hãy trả lời "Yes" (Có).
Xem mã hàm
Xem mã đã được tạo trong functions/bin/server.dart (hoặc điểm truy cập của bạn). Đoạn mã này minh hoạ một hàm HTTP đơn giản.
Xin lưu ý rằng mã mẫu đặt số lượng phiên bản tối đa cho hàm helloWorld thành 10 bằng hàm khởi tạo HttpsOptions. Bạn có thể tìm hiểu thêm về các lựa chọn thời gian chạy trong phần Đặt các lựa chọn thời gian chạy.
Kiểm thử cục bộ
firebase emulators:start
Sau khi Local Emulator Suite khởi động, bạn sẽ thấy một dòng nhật ký như functions http function initialized
(http://127.0.0.1:5001/<url>). Tải URL đó trong trình duyệt để gọi hàm Dart được mô phỏng cục bộ.
Nếu bạn chỉnh sửa mã Dart, Firebase Local Emulator Suite sẽ phát hiện thay đổi và tự động tải lại hàm của bạn.
Triển khai
firebase deploy --only functions
Quy trình triển khai cho Dart khác với các hàm Node.js hoặc Python. Thay vì tải mã nguồn lên để được tạo trong Cloud Build, Firebase CLI sẽ chạy một bước biên dịch Dart trên máy phát triển của bạn và tải tệp nhị phân đã tạo trực tiếp lên các hàm Cloud Run.
Khi quá trình triển khai hoàn tất, bạn sẽ thấy một dòng nhật ký như Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
Tải URL đó trong trình duyệt để gọi hàm Dart mới triển khai.
Các bước tiếp theo
- Đặt các lựa chọn cấu hình như số lượng phiên bản tối thiểu.
- Tìm hiểu thêm về các hàm HTTP và các hàm có thể gọi.
- Tham gia lớp học lập trình về hàm Dart Lớp học lập trình về hàm Dart
- Sử dụng Dart Admin SDK thử nghiệm để tương tác với các dịch vụ Firebase khác, chẳng hạn như Cloud Firestore, từ hàm của bạn
- Ngoài các hàm HTTP
onRequest, bạn có thể dùng mẫuonCallhoặconCallcó tính năng phát trực tuyến để gọi các hàm trực tiếp từ ứng dụng của bạn (lưu ý hạn chế đặc biệt liên quan đến phương thức gọi).
Hạn chế
- Bạn có thể triển khai trình kích hoạt
onCallnhưng không thể gọi trình kích hoạt này từ các SDK ứng dụng với những phương thức như httpsCallable, xác định các hàm theo tên. Thay vào đó, bạn có thể sử dụng các phương thức như httpsCallableFromURL và truyền URL đầy đủ của Cloud Run cho hàm. - Bạn có thể chạy các trình kích hoạt khác (chẳng hạn như trình kích hoạt Firestore) trong bộ mô phỏng cục bộ nhưng không thể triển khai.
- Bảng điều khiển Firebase không hiển thị các hàm Dart trong bản phát hành thử nghiệm. Thay vào đó, bạn có thể xem các hàm Dart trong trang hàm Cloud Run của bảng điều khiển Cloud.
Nếu phát hiện vấn đề trong khi làm việc với các hàm Dart, bạn nên gửi báo cáo cho nhóm để giúp chúng tôi cải thiện và mở rộng SDK Dart thử nghiệm.