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