Cloud Functions สำหรับ Firebase

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

วิธีการทำงาน

หลังจากเขียนและติดตั้งใช้งานฟังก์ชันแล้ว เซิร์ฟเวอร์ของ Google จะเริ่มจัดการฟังก์ชันทันที คุณเรียกใช้ฟังก์ชันได้โดยตรงด้วยคำขอ HTTP Admin 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. เมื่อผู้ให้บริการเหตุการณ์สร้างเหตุการณ์ที่ตรงกับเงื่อนไขของฟังก์ชัน ระบบจะเรียกใช้โค้ด ฟังก์ชันมีบัญชีบริการที่แนบมา ซึ่งใช้เพื่อเข้าถึงบริการอื่นๆ ของ Firebase ได้โดยใช้Firebase Admin SDK
  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 หรือผู้ให้บริการเหตุการณ์อื่นๆ
ฟังก์ชันทดสอบ ใช้โปรแกรมจำลองในเครื่อง เพื่อทดสอบฟังก์ชัน
ติดตั้งใช้งานและตรวจสอบ อัปเกรดโปรเจ็กต์เป็นแพ็กเกจราคา Blaze แบบจ่ายตามการใช้งาน แล้วทำให้ฟังก์ชันใช้งานได้โดยใช้ Firebase CLI จากนั้นคุณจะใช้ Google Cloudคอนโซล เพื่อดูและค้นหาในบันทึกได้

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