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

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

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

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

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

 `firebase --version`

เปิดใช้การทดสอบใน Firebase CLI

firebase experiments:enable dartfunctions

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

  1. วิ่ง:

    firebase init functions
    
  2. เลือก Dart เป็นภาษาของคุณ

  3. เมื่อระบบถามว่า "คุณต้องการติดตั้งทรัพยากร Dependency ตอนนี้เลยไหม" ให้ตอบว่า "ใช่"

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

ดูโค้ดที่สร้างขึ้นใน 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 ที่เพิ่งติดตั้งใช้งาน

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

ข้อจำกัด

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

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