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