เริ่มต้นใช้งาน Dart SDK เวอร์ชันทดลอง

การรองรับ Dart ใน Cloud Functions for Firebase ในระยะทดลองช่วยให้คุณสร้างแอปแบบ Full-Stack ด้วย Flutter และ Dart ได้ สื่อสารกับบริการอื่นๆ ของ Firebase ด้วย ใหม่ Firebase Admin Dart SDK

หากต้องการเริ่มต้นใช้งานฟังก์ชัน Dart ให้ทำตามขั้นตอนการตั้งค่าในคู่มือนี้ แล้วสำรวจฟังก์ชัน HTTP และฟังก์ชันที่เรียกใช้ได้ของ Dart ต่อ

ข้อกำหนดเบื้องต้น

ตรวจสอบว่าคุณมี Firebase CLI เวอร์ชันที่รองรับ Dart ใน Cloud Functions for Firebase ด้วยแฟล็ก --version โดยทำดังนี้

 `firebase --version`

เปิดใช้การทดลองใน Firebase CLI

firebase experiments:enable dartfunctions

เริ่มต้นโปรเจ็กต์

  1. เรียกใช้: bash firebase init functions
  2. เลือก Dart เป็นภาษา
  3. เมื่อระบบถามว่า "ต้องการติดตั้งการขึ้นต่อกันเลยไหม" ให้ตอบว่า "ใช่"

ดูโค้ดฟังก์ชัน

ดูโค้ดที่สร้างขึ้นใน 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 Firebase CLI จะเรียกใช้ขั้นตอนการคอมไพล์ Dart ในคอมพิวเตอร์สำหรับการพัฒนาซอฟต์แวร์และอัปโหลดไบนารีที่สร้างขึ้นไปยังฟังก์ชัน Cloud Run โดยตรง แทนที่จะอัปโหลดซอร์สโค้ดเพื่อสร้างใน Cloud BuildFirebase

เมื่อทำให้ใช้งานได้เสร็จสมบูรณ์ คุณจะเห็นบรรทัดบันทึก เช่น Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app

โหลด URL นั้นในเบราว์เซอร์เพื่อเรียกใช้ฟังก์ชัน Dart ที่ทำให้ใช้งานได้ใหม่

ขั้นตอนถัดไป

ข้อจำกัด

  • คุณทำให้ทริกเกอร์ onCall ใช้งานได้ แต่จะเรียกใช้จาก Client SDKs ด้วยเมธอดต่างๆ เช่น httpsCallable, ซึ่งระบุฟังก์ชันตามชื่อไม่ได้ คุณสามารถใช้เมธอดต่างๆ เช่น httpsCallableFromURL แทน และส่ง URL แบบเต็มของ Cloud Run ของฟังก์ชัน
  • คุณสามารถเรียกใช้ทริกเกอร์อื่นๆ เช่น ทริกเกอร์ Firestore ใน Local Emulator Suite ได้ แต่จะทำให้ใช้งานไม่ได้
  • คอนโซล Firebase จะไม่แสดงฟังก์ชัน Dart ในระหว่างการเปิดตัวระยะทดลอง แต่คุณสามารถดูฟังก์ชัน Dart ได้ในหน้าฟังก์ชัน Cloud Run ของ Cloud คอนโซล แทน

หากพบปัญหาขณะใช้งานฟังก์ชัน Dart โปรด ส่งรายงานให้ทีม เพื่อช่วยเราปรับปรุงและขยาย Dart SDK ในระยะทดลอง