Cloud Functions สำหรับ Firebase
หากใช้ Cloud Functions ใน Google Cloud อยู่แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Firebase เหมาะกับ ในรูปภาพ
ความสามารถที่สำคัญ
ผสานรวมฟีเจอร์ Firebase และเชื่อมต่อ Firebase ด้วย Google Cloud | ฟังก์ชันที่คุณเขียนสามารถตอบสนองต่อเหตุการณ์ที่สร้างขึ้นจาก ฟีเจอร์ของ Firebase และ Google Cloud จาก ทริกเกอร์การตรวจสอบสิทธิ์ Firebase ไปยังทริกเกอร์ Cloud Storage ผสานรวมในฟีเจอร์ต่างๆ ของ Firebase โดยใช้ SDK ผู้ดูแลระบบ ร่วมกับ Cloud Functions และผสานรวมกับ ด้วยการเขียนเว็บฮุคของคุณเอง Cloud Functions ลด Boilerplate ซึ่งทำให้คุณใช้ Firebase และ Google Cloud ได้ง่ายขึ้นใน |
ไม่ต้องบำรุงรักษา | ทำให้โค้ด JavaScript, TypeScript หรือ Python ใช้งานได้ในเซิร์ฟเวอร์ของเราด้วยโค้ดเดียว จากบรรทัดคำสั่ง หลังจากนั้น Firebase จะปรับขนาดทรัพยากรการประมวลผลให้ตรงกับ รูปแบบการใช้งานของผู้ใช้ คุณไม่ต้องกังวลเกี่ยวกับข้อมูลเข้าสู่ระบบ การกำหนดค่าเซิร์ฟเวอร์ การจัดสรรเซิร์ฟเวอร์ใหม่ หรือการเลิกใช้งานเวอร์ชันเก่า ใหม่ |
เก็บตรรกะของคุณไว้เป็นแบบส่วนตัวและปลอดภัย | ในหลายกรณี นักพัฒนาซอฟต์แวร์ต้องการควบคุมตรรกะแอปพลิเคชันบน เพื่อหลีกเลี่ยงการปลอมแปลงในฝั่งไคลเอ็นต์ และในบางครั้ง คุณไม่ควรอนุญาตให้ทำวิศวกรรมย้อนกลับกับโค้ดนั้นได้ Cloud Functions ถูกฉนวนไว้โดยสมบูรณ์จากไคลเอ็นต์ ดังนั้นคุณ ก็มั่นใจได้ว่าเว็บไซต์จะเป็นส่วนตัวและทำสิ่งที่คุณต้องการเสมอ |
วิธีการทำงาน
หลังจากที่คุณเขียนและทำให้ฟังก์ชันใช้งานได้ เซิร์ฟเวอร์ของ Google จะเริ่มจัดการ ของคุณทันที คุณสามารถเริ่มการทำงานของฟังก์ชันได้โดยตรงด้วยคำขอ HTTP Admin SDK หรืองานที่กำหนดเวลาไว้ หรือในกรณีที่เป็นฟังก์ชันในเบื้องหลัง เซิร์ฟเวอร์ของ Google จะคอยตรวจจับเหตุการณ์และเรียกใช้ฟังก์ชันเมื่อ ทริกเกอร์
เมื่อโหลดเพิ่มขึ้นหรือ Google ตอบสนองด้วยการปรับขนาดจำนวนเซิร์ฟเวอร์เสมือนอย่างรวดเร็ว ที่จำเป็นต่อการเรียกใช้ฟังก์ชัน แต่ละฟังก์ชันจะทำงานแยกกันใน ของตัวเองด้วยการกำหนดค่าของตัวเอง
วงจรของฟังก์ชันพื้นหลัง
- คุณเขียนโค้ดสำหรับฟังก์ชันใหม่ โดยเลือกผู้ให้บริการเหตุการณ์ (เช่น Cloud Firestore) และกำหนดเงื่อนไขที่ฟังก์ชันควร ดำเนินการ
- สิ่งที่จะเกิดขึ้นเมื่อทำให้ฟังก์ชันใช้งานได้มีดังนี้
- CLI ของ Firebase จะสร้างที่เก็บถาวร
.zip
ของโค้ดฟังก์ชัน ซึ่งจะอัปโหลดไปยังที่เก็บข้อมูล Cloud Storage (ขึ้นต้นด้วยgcf-sources
) ก่อน Cloud Functions สร้างที่เก็บ Artifact Registry (ตั้งชื่อแล้ว)gcf-artifacts
) ในโปรเจ็กต์ของคุณ - Cloud Build ดึงโค้ดฟังก์ชันและสร้างฟังก์ชัน แหล่งที่มา คุณสามารถดูบันทึก Cloud Build รายการใน คอนโซล Google Cloud
- อิมเมจคอนเทนเนอร์สำหรับโค้ดฟังก์ชันที่สร้างขึ้นจะได้รับการอัปโหลดไปยัง
ที่เก็บ Artifact Registry ส่วนตัวในโปรเจ็กต์ของคุณ
(ชื่อว่า
gcf-artifacts
) และจะเปิดตัวฟังก์ชันใหม่
- CLI ของ Firebase จะสร้างที่เก็บถาวร
- เมื่อผู้ให้บริการเหตุการณ์สร้างเหตุการณ์ที่ตรงกับฟังก์ชัน โค้ดจะถูกเรียกใช้
- หากฟังก์ชันไม่ว่างในการจัดการเหตุการณ์จำนวนมาก Google จะสร้างอินสแตนซ์เพิ่ม เพื่อให้จัดการงานได้เร็วขึ้น หากฟังก์ชันไม่มีการใช้งาน ระบบจะล้างข้อมูลอินสแตนซ์
- เมื่อคุณอัปเดตฟังก์ชันด้วยการทำให้โค้ดที่อัปเดตใช้งานได้ อินสแตนซ์สำหรับเวอร์ชันเก่า ระบบจะล้างเวอร์ชันพร้อมกับอาร์ติแฟกต์ของบิลด์ใน Artifact Registry และแทนที่ด้วยอินสแตนซ์ใหม่
- เมื่อลบฟังก์ชัน ระบบจะล้างข้อมูลอินสแตนซ์และที่เก็บถาวรแบบ Zip ทั้งหมด รวมถึงอาร์ติแฟกต์ของบิลด์ที่เกี่ยวข้องใน Artifact Registry การเชื่อมต่อระหว่างฟังก์ชันและผู้ให้บริการเหตุการณ์จะถูกนำออก
นอกจากการฟังเหตุการณ์ด้วยฟังก์ชันในเบื้องหลังแล้ว คุณยังเรียกใช้ ทำงานโดยตรงกับคำขอ HTTP หรือ จากไคลเอ็นต์ คุณยังเรียกใช้ฟังก์ชันได้ด้วย มีกำหนดการที่แน่นอน หรือ จัดคิวฟังก์ชันของงานผ่าน Admin SDK
เส้นทางการใช้งาน
ตั้งค่า Cloud Functions | ติดตั้ง Firebase CLI และเริ่มต้น Cloud Functions ในโปรเจ็กต์ Firebase | |
เขียนฟังก์ชัน | เขียนโค้ด JavaScript, โค้ด TypeScript หรือรหัส Python จัดการเหตุการณ์จาก Firebase บริการ, บริการ Google Cloud หรือผู้ให้บริการกิจกรรมอื่นๆ | |
ทดสอบฟังก์ชัน | ใช้โปรแกรมจำลองในเครื่อง เพื่อทดสอบฟังก์ชัน | |
ทำให้ใช้งานได้และเฝ้าติดตาม | เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์และทำให้ฟังก์ชันใช้งานได้โดยใช้ CLI Firebase คุณสามารถใช้ คอนโซล Google Cloud เพื่อดูและค้นหาในบันทึกของคุณ |
ขั้นตอนถัดไป
- เริ่มต้นตั้งค่า สร้าง และทำให้ฟังก์ชันใช้งานได้
- ดูข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณทำได้ด้วยฟังก์ชัน
- ลองใช้ Cloud Functions Codelab