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