Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เรียกใช้ฟังก์ชันในเครื่อง

Firebase CLI มีโปรแกรมจำลองฟังก์ชั่นคลาวด์ซึ่งสามารถจำลองประเภทฟังก์ชั่นต่อไปนี้:

  • ฟังก์ชัน HTTPS
  • ฟังก์ชั่น callable
  • ฟังก์ชั่น Cloud Firestore

คุณสามารถเรียกใช้ฟังก์ชั่นในท้องถิ่นเพื่อทดสอบก่อนที่จะปรับใช้กับการผลิต

ติดตั้ง Firebase CLI

ในการใช้โปรแกรมจำลองการทำงานของ Cloud ให้ติดตั้ง Firebase CLI ก่อน:

npm install -g firebase-tools

ในการใช้ตัวจำลองโลคัลฟังก์ชันคลาวด์ของคุณต้องขึ้นอยู่กับ:

  • firebase-admin เวอร์ชัน 8.0.0 หรือสูงกว่า
  • firebase-functions รุ่น 3.0.0 หรือสูงกว่า

ตั้งค่าข้อมูลรับรองผู้ดูแลระบบ (ตัวเลือก)

หากคุณต้องการให้ทดสอบการทำงานของคุณกับ Google API หรือ Firebase API อื่น ๆ ผ่าน Firebase Admin SDK คุณอาจต้องตั้งค่าข้อมูลประจำตัวของผู้ดูแลระบบ

  • ทริกเกอร์ Cloud Firestore และฐานข้อมูลเรียลไทม์มีข้อมูลประจำตัวที่เพียงพอและ ไม่ ต้องการการตั้งค่าเพิ่มเติม
  • API อื่น ๆ ทั้งหมดรวมถึง Firebase API เช่น Authentication และ FCM หรือ Google API เช่น Cloud Translation หรือ Cloud Speech ต้องใช้ขั้นตอนการตั้งค่าที่อธิบายไว้ในส่วนนี้ สิ่งนี้บังคับใช้ไม่ว่าคุณจะใช้เปลือกฟังก์ชั่นหรืออิ firebase emulators:start

ในการตั้งค่าข้อมูลรับรองผู้ดูแลระบบสำหรับฟังก์ชันที่จำลองแบบ:

  1. เปิด บานหน้าต่างบัญชีบริการ ของ Google Cloud Console
  2. ตรวจสอบให้แน่ใจว่าได้เลือก บัญชีบริการเริ่มต้นของ App Engine แล้วใช้เมนูตัวเลือกทางด้านขวาเพื่อเลือก สร้างคีย์
  3. เมื่อได้รับแจ้งให้เลือก JSON สำหรับประเภทคีย์และคลิก สร้าง
  4. ตั้งค่าข้อมูลรับรองเริ่มต้นของ Google ให้ชี้ไปที่คีย์ที่ดาวน์โหลด:

    ยูนิกซ์

     $ export GOOGLE_APPLICATION_CREDENTIALS="path/to/key.json"
    
    $ firebase emulators:start
     

    ของ windows

     $ set GOOGLE_APPLICATION_CREDENTIALS=path\to\key.json
    
    $ firebase emulators:start
     

หลังจากเสร็จสิ้นขั้นตอนเหล่านี้การทดสอบฟังก์ชั่นของคุณสามารถเข้าถึง Firebase และ Google API ได้โดยใช้ Admin SDK ตัวอย่างเช่นเมื่อทดสอบทริกเกอร์การตรวจสอบสิทธิ์ฟังก์ชันที่จำลองสามารถโทร admin.auth().getUserByEmail(email)

ตั้งค่าการกำหนดค่าฟังก์ชั่น (อุปกรณ์เสริม)

หากคุณกำลังใช้ตัวแปรการกำหนดค่าฟังก์ชั่นที่กำหนดเองอันดับแรกให้เรียกใช้คำสั่งเพื่อรับการกำหนดค่าแบบกำหนดเองของคุณ (เรียกใช้สิ่งนี้ภายในไดเรกทอรี functions ) ในสภาพแวดล้อมท้องถิ่นของคุณ:

 firebase functions:config:get > .runtimeconfig.json
# If using Windows PowerShell, replace the above with:
# firebase functions:config:get | ac .runtimeconfig.json
firebase functions:shell
 

เรียกใช้ชุดจำลอง

ในการรันโปรแกรมจำลองการทำงานของ Cloud ให้ใช้ตัว emulators:start คำสั่ง emulators:start :

firebase emulators:start

The emulators:start command จะเริ่มต้น emulators สำหรับฟังก์ชั่นคลาวด์, Cloud Firestore, ฐานข้อมูลเรียลไทม์และโฮสติ้ง Firebase ตามผลิตภัณฑ์ที่คุณได้เริ่มต้นในโครงการท้องถิ่นของคุณโดยใช้ firebase init หากคุณต้องการเริ่มโปรแกรมจำลองเฉพาะใช้แฟ --only :

firebase emulators:start --only functions

หากคุณต้องการรันชุดทดสอบหรือสคริปต์ทดสอบหลังจากตัวเลียนแบบเริ่มทำงานให้ใช้คำสั่ง emulators:exec :

firebase emulators:exec "./my-test.sh"

การโต้ตอบกับบริการอื่น ๆ

ชุดอีมูเลเตอร์มีหลายอีมูเลเตอร์ซึ่งช่วยให้สามารถทดสอบการโต้ตอบข้ามผลิตภัณฑ์

Cloud Firestore

หากคุณมีฟังก์ชั่นคลาวด์ที่ใช้ Firebase Admin SDK เพื่อเขียนไปยัง Cloud Firestore การเขียนเหล่านี้จะถูกส่งไปยังตัวจำลอง Cloud Firestore หากทำงานอยู่ หากมีการเรียกใช้ฟังก์ชั่นคลาวด์เพิ่มเติมโดยฟังก์ชั่นเหล่านี้จะถูกเรียกใช้ในฟังก์ชั่นคลาวด์อีมูเลเตอร์

Firebase Hosting

หากคุณกำลังใช้ฟังก์ชั่นคลาวด์เพื่อ สร้างเนื้อหาแบบไดนามิกสำหรับ Firebase Hosting ผู้ firebase emulators:start ใช้ฟังก์ชั่น HTTP ท้องถิ่นของคุณเป็นพร็อกซี่สำหรับการโฮสต์

เข้าสู่ระบบ

สตรีมอีมูเลเตอร์บันทึกการทำงานจากหน้าที่ของคุณไปยังหน้าต่างเทอร์มินัลที่ใช้งาน โดยจะแสดงเอาต์พุตทั้งหมดจากคำสั่ง console.log() , console.info() , console.error() และคำสั่ง console.warn() ภายในฟังก์ชันของคุณ

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

สำหรับตัวอย่างเต็มรูปแบบของการใช้ชุดจำลองฐานข้อมูล Firebase ให้ดู ตัวอย่างการทดสอบอย่างรวดเร็ว