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 โดยใช้ SDK ผู้ดูแลระบบ ร่วมกับ Cloud Functions และผสานรวมกับ ด้วยการเขียนเว็บฮุคของคุณเอง Cloud Functions ช่วยลด Boilerplate ให้เหลือน้อยที่สุด ซึ่งทำให้คุณใช้ 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 Console
    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 เพื่อดูและค้นหาในบันทึกของคุณ

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