การรองรับ Dart เวอร์ชันทดลองใน Cloud Functions for Firebase ช่วยให้คุณสร้างแอปแบบฟูลสแต็ก ด้วย Flutter และ Dart ได้ สื่อสารกับบริการอื่นๆ ของ Firebase ด้วย Firebase Admin Dart SDK ใหม่
หากต้องการเริ่มต้นใช้งานฟังก์ชัน Dart ให้ทำตามงานการตั้งค่าในคู่มือนี้ จากนั้นสำรวจฟังก์ชัน HTTP และฟังก์ชันที่เรียกใช้ได้ของ Dart ต่อไป
ข้อกำหนดเบื้องต้น
- Dart SDK 3.9 ขึ้นไป
- Firebase CLI (เวอร์ชัน 15.15.0 ขึ้นไป)
ตรวจสอบว่าคุณมี Firebase CLI เวอร์ชันที่รองรับ Dart ใน
Cloud Functions for Firebase โดยใช้แฟล็ก --version
`firebase --version`
เปิดใช้การทดสอบใน Firebase CLI
firebase experiments:enable dartfunctions
เริ่มต้นโปรเจ็กต์
- เรียกใช้
bash firebase init functions - เลือก Dart เป็นภาษาของคุณ
- เมื่อระบบถามว่า "คุณต้องการติดตั้งการขึ้นต่อกันตอนนี้ไหม" ให้ตอบว่า "ใช่"
ดูโค้ดฟังก์ชัน
ดูโค้ดที่สร้างขึ้นใน functions/bin/server.dart (หรือจุดแรกเข้า) โค้ดนี้แสดงฟังก์ชัน HTTP อย่างง่าย
โปรดทราบว่าโค้ดตัวอย่างจะกำหนดจำนวนอินสแตนซ์สูงสุดสำหรับฟังก์ชัน
helloWorld เป็น 10 ด้วยตัวสร้าง HttpsOptions ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเวลาเรียกใช้ได้ในตั้งค่าตัวเลือกเวลาเรียกใช้
ทดสอบในเครื่อง
firebase emulators:start
เมื่อ Local Emulator Suite บูตขึ้นมา คุณจะเห็นบรรทัดบันทึกคล้ายกับ functions http function initialized
(http://127.0.0.1:5001/<url>) โหลด URL นั้นในเบราว์เซอร์เพื่อเรียกใช้ฟังก์ชัน Dart ที่จำลองในเครื่อง
หากคุณแก้ไขโค้ด Dart Firebase Local Emulator Suite จะตรวจพบการเปลี่ยนแปลงและโหลดฟังก์ชันซ้ำโดยอัตโนมัติ
ทำให้ใช้งานได้
firebase deploy --only functions
กระบวนการติดตั้งใช้งานสำหรับ Dart จะแตกต่างจากฟังก์ชัน Node.js หรือ Python แทนที่จะอัปโหลดซอร์สโค้ดเพื่อสร้างใน Cloud Build Firebase CLI จะเรียกใช้ขั้นตอนการคอมไพล์ Dart ในคอมพิวเตอร์สำหรับการพัฒนาซอฟต์แวร์และอัปโหลดไบนารีที่สร้างขึ้นไปยังฟังก์ชัน Cloud Run โดยตรง
เมื่อการติดตั้งใช้งานเสร็จสมบูรณ์ คุณจะเห็นบรรทัดบันทึกคล้ายกับ Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
โหลด URL นั้นในเบราว์เซอร์เพื่อเรียกใช้ฟังก์ชัน Dart ที่เพิ่งติดตั้งใช้งาน
ขั้นตอนถัดไป
- ตั้งค่าตัวเลือกการกำหนดค่า เช่น อินสแตนซ์ขั้นต่ำ
- ดูข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน HTTP และ ฟังก์ชันที่เรียกใช้ได้
- ทำตาม Codelab ฟังก์ชัน Dart Codelab ฟังก์ชัน Dart
- ใช้ Dart Admin SDK เวอร์ชันทดลองเพื่อโต้ตอบกับบริการอื่นๆ ของ Firebase เช่น Cloud Firestore จากฟังก์ชันของคุณ
- นอกจาก
onRequestฟังก์ชัน HTTP แล้ว คุณยังลองใช้onCallตัวอย่าง หรือonCallตัวอย่างที่มีการสตรีม เพื่อเรียกใช้ฟังก์ชันจากแอปโดยตรง (โปรดทราบข้อจำกัดพิเศษเกี่ยวกับวิธีการเรียกใช้) ได้ด้วย
ข้อจำกัด
onCallทริกเกอร์สามารถติดตั้งใช้งานได้ แต่เรียกจาก SDK ของไคลเอ็นต์ไม่ได้ ด้วยเมธอดต่างๆ เช่น httpsCallable ซึ่งระบุฟังก์ชันตามชื่อ คุณสามารถใช้วิธีการอื่นๆ แทนได้ เช่น httpsCallableFromURL และส่ง URL แบบเต็มของฟังก์ชัน Cloud Run- ทริกเกอร์อื่นๆ เช่น ทริกเกอร์ Firestore สามารถเรียกใช้ในชุดโปรแกรมจำลองในเครื่อง ได้ แต่จะติดตั้งใช้งานไม่ได้
- คอนโซล Firebase จะไม่แสดงฟังก์ชัน Dart ในระหว่างการ เปิดตัวเวอร์ชันทดลอง คุณดูฟังก์ชัน Dart ได้ในCloud คอนโซลCloud Runหน้าฟังก์ชันแทน
หากพบปัญหาขณะทำงานกับฟังก์ชัน Dart เราขอแนะนำให้คุณ ส่งรายงานให้ทีม เพื่อช่วยเราปรับปรุงและขยาย SDK ของ Dart เวอร์ชันทดลอง