Cloud Functions for Firebase

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

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

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

ความสามารถหลัก

ผสานรวมฟีเจอร์ของ Firebase และเชื่อมต่อ Firebase กับ Google Cloud

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

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

ทำงานอย่างไร

หลังจากเขียนและทำให้ฟังก์ชันใช้งานได้แล้ว เซิร์ฟเวอร์ของ Google จะเริ่มจัดการฟังก์ชันนั้นทันที คุณสามารถเริ่มการทำงานของฟังก์ชันได้โดยตรงด้วยคำขอ HTTP, SDK การดูแลระบบ หรืองานที่กำหนดเวลาไว้ หรือในกรณีของฟังก์ชันที่ทำงานอยู่เบื้องหลัง เซิร์ฟเวอร์ของ 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
    3. ระบบได้อัปโหลดอิมเมจคอนเทนเนอร์สำหรับโค้ดฟังก์ชันที่สร้างขึ้นไปยังที่เก็บ Artifact Registry ส่วนตัวในโปรเจ็กต์ของคุณ (ชื่อ gcf-artifacts) และฟังก์ชันใหม่ได้เปิดตัวแล้ว
  3. เมื่อผู้ให้บริการเหตุการณ์สร้างเหตุการณ์ที่ตรงกับเงื่อนไขของฟังก์ชัน ระบบจะเรียกใช้โค้ด
  4. หากฟังก์ชันไม่ว่างเนื่องจากต้องจัดการหลายกิจกรรม Google จะสร้างอินสแตนซ์เพิ่มเติมเพื่อจัดการงานต่างๆ ได้เร็วขึ้น หากฟังก์ชันไม่มีการใช้งาน ระบบจะล้างข้อมูลอินสแตนซ์
  5. เมื่อคุณอัปเดตฟังก์ชันด้วยการทำให้โค้ดที่อัปเดตใช้งานได้ ระบบจะล้างอินสแตนซ์สำหรับเวอร์ชันเก่าออกพร้อมกับอาร์ติแฟกต์บิลด์ใน Artifact Registry และใช้อินสแตนซ์ใหม่แทน
  6. เมื่อคุณลบฟังก์ชัน ระบบจะล้างอินสแตนซ์และที่เก็บถาวรของ ZIP ทั้งหมด รวมถึงอาร์ติแฟกต์ของบิลด์ที่เกี่ยวข้องใน Artifact Registry การเชื่อมต่อระหว่างฟังก์ชันและผู้ให้บริการเหตุการณ์จะถูกนำออก

นอกเหนือจากการฟังเหตุการณ์ที่มีฟังก์ชันเบื้องหลังแล้ว คุณยังเรียกใช้ฟังก์ชันโดยตรงกับคำขอ HTTP หรือการเรียกจากไคลเอ็นต์ได้อีกด้วย คุณยังทริกเกอร์ฟังก์ชันในกำหนดเวลาแบบคงที่หรือฟังก์ชันงานของคิวผ่านทาง Admin SDK ได้ด้วย

เส้นทางการใช้งาน

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

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