Catch up on highlights from Firebase at Google I/O 2023. Learn more

ฟังก์ชันระบบคลาวด์สำหรับ Firebase

Cloud Functions for Firebase เป็นเฟรมเวิร์กแบบไร้เซิร์ฟเวอร์ที่ให้คุณเรียกใช้แบ็กเอนด์โค้ดโดยอัตโนมัติเพื่อตอบสนองต่อเหตุการณ์ที่ทริกเกอร์โดยฟีเจอร์ Firebase และคำขอ HTTPS รหัส JavaScript หรือ TypeScript ของคุณถูกจัดเก็บไว้ในระบบคลาวด์ของ Google และทำงานในสภาพแวดล้อมที่มีการจัดการ ไม่จำเป็นต้องจัดการและปรับขนาดเซิร์ฟเวอร์ของคุณเอง

ใช้ Cloud Functions ใน Google Cloud อยู่แล้วใช่หรือไม่ เรียนรู้เพิ่มเติม เกี่ยวกับวิธีที่ Firebase เข้ากับรูปภาพ

เริ่มต้น ใช้งาน กรณีใช้งาน

ความสามารถที่สำคัญ

ผสานรวมแพลตฟอร์ม Firebase

ฟังก์ชันที่คุณเขียนสามารถตอบสนองต่อเหตุการณ์ที่สร้างโดยฟีเจอร์ต่างๆ ของ Firebase และ Google Cloud ตั้งแต่ทริกเกอร์การ ตรวจสอบสิทธิ์ Firebase ไปจนถึงทริกเกอร์ Cloud Storage

ผสานรวมคุณสมบัติต่างๆ ของ Firebase โดยใช้ Admin SDK ร่วมกับ Cloud Functions และผสานรวมกับบริการของบุคคลที่สามโดยการเขียนเว็บฮุคของคุณเอง Cloud Functions ลดขนาดโค้ดสำเร็จรูป ทำให้ง่ายต่อการใช้ Firebase และ Google Cloud ภายในฟังก์ชันของคุณ
การบำรุงรักษาเป็นศูนย์ ปรับใช้โค้ด JavaScript หรือ TypeScript ของคุณกับเซิร์ฟเวอร์ของเราด้วยคำสั่งเดียวจากบรรทัดคำสั่ง หลังจากนั้น Firebase จะปรับขนาดทรัพยากรการคำนวณโดยอัตโนมัติเพื่อให้ตรงกับรูปแบบการใช้งานของผู้ใช้ของคุณ คุณไม่ต้องกังวลเกี่ยวกับข้อมูลประจำตัว การกำหนดค่าเซิร์ฟเวอร์ การจัดเตรียมเซิร์ฟเวอร์ใหม่ หรือการเลิกใช้เซิร์ฟเวอร์เก่า
ทำให้ตรรกะของคุณเป็นส่วนตัวและปลอดภัย ในหลายกรณี นักพัฒนาต้องการควบคุมตรรกะของแอปพลิเคชันบนเซิร์ฟเวอร์เพื่อหลีกเลี่ยงการปลอมแปลงในฝั่งไคลเอ็นต์ นอกจากนี้ บางครั้งก็ไม่ควรอนุญาตให้โค้ดนั้นทำวิศวกรรมย้อนกลับ Cloud Functions ได้รับการหุ้มฉนวนอย่างสมบูรณ์จากไคลเอ็นต์ ดังนั้นคุณจึงมั่นใจได้ว่าเป็นส่วนตัวและทำในสิ่งที่คุณต้องการได้เสมอ

มันทำงานอย่างไร?

หลังจากที่คุณเขียนและปรับใช้ฟังก์ชัน เซิร์ฟเวอร์ของ Google จะเริ่มจัดการฟังก์ชันทันที คุณสามารถเริ่มการทำงานของฟังก์ชันได้โดยตรงด้วยคำขอ HTTP หรือในกรณีของฟังก์ชันพื้นหลัง เซิร์ฟเวอร์ของ Google จะรับฟังเหตุการณ์และเรียกใช้ฟังก์ชันเมื่อมีการทริกเกอร์

เมื่อภาระเพิ่มขึ้นหรือลดลง Google จะตอบสนองโดยปรับขนาดอย่างรวดเร็วของจำนวนอินสแตนซ์เซิร์ฟเวอร์เสมือนที่จำเป็นในการเรียกใช้ฟังก์ชันของคุณ แต่ละฟังก์ชันทำงานแยกกันในสภาพแวดล้อมของตัวเองด้วยการกำหนดค่าของตัวเอง

วงจรชีวิตของฟังก์ชันพื้นหลัง

  1. คุณเขียนโค้ดสำหรับฟังก์ชันใหม่ เลือกผู้ให้บริการเหตุการณ์ (เช่น Cloud Firestore) และกำหนดเงื่อนไขที่ฟังก์ชันควรดำเนินการ
  2. เมื่อคุณปรับใช้ฟังก์ชันของคุณ:
    1. Firebase CLI จะสร้างไฟล์ .zip ของโค้ดฟังก์ชัน จากนั้นจึงอัปโหลดไปยังที่เก็บข้อมูล Cloud Storage (นำหน้าด้วย gcf-sources ) ก่อนที่ Cloud Functions จะสร้างที่เก็บ Artifact Registry (ชื่อ gcf-artifacts ) ในโปรเจ็กต์ของคุณ
    2. Cloud Build ดึงโค้ดฟังก์ชันและสร้างแหล่งที่มาของฟังก์ชัน คุณสามารถดูบันทึก Cloud Build ใน Google Cloud Console
    3. อิมเมจคอนเทนเนอร์สำหรับโค้ดฟังก์ชันที่สร้างไว้จะอัปโหลดไปยังที่เก็บ Artifact Registry ส่วนตัวในโปรเจ็กต์ของคุณ (ชื่อ gcf-artifacts ) และฟังก์ชันใหม่ของคุณจะเปิดตัว
  3. เมื่อตัวให้บริการเหตุการณ์สร้างเหตุการณ์ที่ตรงกับเงื่อนไขของฟังก์ชัน รหัสจะถูกเรียกใช้
  4. หากฟังก์ชันนี้กำลังยุ่งอยู่กับการจัดการหลายเหตุการณ์ Google จะสร้างอินสแตนซ์เพิ่มเติมเพื่อจัดการงานได้เร็วขึ้น หากฟังก์ชันไม่ได้ใช้งาน อินสแตนซ์จะถูกล้าง
  5. เมื่อคุณอัปเดตฟังก์ชันโดยการปรับใช้โค้ดที่อัปเดต อินสแตนซ์สำหรับเวอร์ชันเก่าจะถูกล้างพร้อมกับบิลด์ของอาร์ติแฟกต์ใน Artifact Registry และแทนที่ด้วยอินสแตนซ์ใหม่
  6. เมื่อคุณลบฟังก์ชันนี้ อินสแตนซ์และไฟล์ zip ทั้งหมดจะถูกล้าง พร้อมกับสร้างสิ่งประดิษฐ์ที่เกี่ยวข้องใน Artifact Registry การเชื่อมต่อระหว่างฟังก์ชันและผู้ให้บริการเหตุการณ์จะถูกลบออก

นอกจากการฟังเหตุการณ์ด้วยฟังก์ชันพื้นหลังแล้ว คุณยังสามารถเรียกใช้ฟังก์ชันต่างๆ ได้โดยตรงด้วยคำขอ HTTP หรือการ โทรจากไคลเอ็นต์

เส้นทางการดำเนินการ

ตั้งค่าฟังก์ชั่นคลาวด์ ติดตั้ง Firebase CLI และเริ่มต้น Cloud Functions ในโปรเจ็กต์ Firebase
เขียนฟังก์ชัน เขียนโค้ด JavaScript (หรือโค้ด TypeScript เพื่อแปลงเมื่อใช้งาน) เพื่อจัดการเหตุการณ์จากบริการ Firebase, บริการ Google Cloud หรือผู้ให้บริการเหตุการณ์อื่นๆ
ฟังก์ชั่นการทดสอบ ใช้ โปรแกรมจำลองในเครื่อง เพื่อทดสอบฟังก์ชันของคุณ
ปรับใช้และตรวจสอบ เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์และทำให้ฟังก์ชันใช้งานได้โดยใช้ Firebase CLI คุณสามารถใช้ Google Cloud Console เพื่อดูและค้นหาผ่านบันทึกของคุณ

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