Cloud Functions ให้สิทธิ์เข้าถึง Firebase และเหตุการณ์ Google Cloud แก่นักพัฒนาแอป รวมถึงความสามารถในการประมวลผลที่ปรับขนาดได้เพื่อเรียกใช้โค้ดเพื่อตอบสนองต่อเหตุการณ์เหล่านั้น แม้ว่าแอป Firebase จะใช้ Cloud Functions ในลักษณะเฉพาะเพื่อตอบสนองข้อกําหนดเฉพาะของตน แต่กรณีการใช้งานทั่วไปอาจอยู่ในขอบเขตต่อไปนี้
- แจ้งเตือนผู้ใช้เมื่อมีเหตุการณ์ที่น่าสนใจ
- ดำเนินการล้างข้อมูลและบำรุงรักษาฐานข้อมูล
- เรียกใช้งานที่ต้องใช้ทรัพยากรมากในระบบคลาวด์แทนในแอป
- ผสานรวมกับบริการและ API ของบุคคลที่สาม
ตรวจสอบกรณีการใช้งานและตัวอย่างของแต่ละหมวดหมู่ที่คุณสนใจ จากนั้นไปที่บทแนะนำเริ่มต้นใช้งานหรือคู่มือวิธีการที่เฉพาะเจาะจงสำหรับเหตุการณ์การตรวจสอบสิทธิ์ เหตุการณ์การวิเคราะห์ และอื่นๆ
แจ้งผู้ใช้เมื่อมีสิ่งที่น่าสนใจเกิดขึ้น
นักพัฒนาแอปสามารถใช้ Cloud Functions เพื่อดึงดูดผู้ใช้ให้มีส่วนร่วมอยู่เสมอและอัปเดตข้อมูลที่เกี่ยวข้องเกี่ยวกับแอปอยู่เสมอ ตัวอย่างเช่น แอปที่อนุญาตให้ผู้ใช้ติดตามกิจกรรมของกันและกันในแอป ทุกครั้งที่ผู้ใช้เพิ่มตัวเองเป็นผู้ติดตามของผู้ใช้รายอื่น ระบบจะดำเนินการเขียนใน Realtime Database จากนั้นเหตุการณ์การเขียนนี้อาจทริกเกอร์ฟังก์ชันเพื่อสร้างการแจ้งเตือน Firebase Cloud Messaging (FCM) เพื่อแจ้งให้ผู้ใช้ที่เหมาะสมทราบว่าตนได้ผู้ติดตามใหม่
- ฟังก์ชันจะทริกเกอร์เมื่อมีการเขียนไปยังเส้นทาง Realtime Database ที่เก็บข้อมูลผู้ติดตาม
- ฟังก์ชันจะเขียนข้อความที่จะส่งผ่าน FCM
- FCM ส่งข้อความแจ้งเตือนไปยังอุปกรณ์ของผู้ใช้
หากต้องการตรวจสอบโค้ดที่ใช้งานได้ โปรดดูโค้ดตัวอย่างใน GitHub
- Node.js: fcm-notifications
- Python: fcm-notifications
Use Case อื่นๆ ที่น่าสนใจเกี่ยวกับการแจ้งเตือน
- ส่งอีเมลยืนยันให้ผู้ใช้ที่สมัครรับจดหมายข่าว
- ส่งอีเมลต้อนรับเมื่อผู้ใช้ลงชื่อสมัครใช้เสร็จสมบูรณ์
- ส่งการยืนยันทาง SMS เมื่อผู้ใช้สร้างบัญชีใหม่
ดำเนินการล้างข้อมูลและบำรุงรักษาฐานข้อมูล
Cloud Functionsการจัดการเหตุการณ์ในฐานข้อมูลช่วยให้คุณแก้ไข Realtime Database หรือ Cloud Firestore เพื่อตอบสนองต่อพฤติกรรมของผู้ใช้ได้ ซึ่งจะทำให้ระบบอยู่ในสถานะที่ต้องการ เช่น คุณสามารถตรวจสอบเหตุการณ์การเขียนและเปลี่ยนรูปแบบ (เช่น เปลี่ยนเป็นอักษรตัวพิมพ์ใหญ่ทั้งหมด) ของสตริงบางอย่างในข้อความของผู้ใช้ วิธีการทํามีดังนี้
- ตัวแฮนเดิลเหตุการณ์ฐานข้อมูลของฟังก์ชันจะรอรับเหตุการณ์การเขียนในเส้นทางที่เฉพาะเจาะจง และดึงข้อมูลเหตุการณ์ที่มีข้อความของข้อความ
- ฟังก์ชันจะประมวลผลข้อความเพื่อเปลี่ยนสตริงเป็นตัวพิมพ์ใหญ่
- ฟังก์ชันจะเขียนข้อความที่อัปเดตแล้วกลับไปยังฐานข้อมูล
หากต้องการตรวจสอบโค้ดที่ใช้งานได้ โปรดดูโค้ดตัวอย่างใน GitHub
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
กรณีการใช้งานอื่นๆ เกี่ยวกับการทำให้ฐานข้อมูลสะอาดและการบำรุงรักษา
- ลบเนื้อหาของผู้ใช้ที่ถูกลบออกจาก Realtime Database
- จำกัดจำนวนโหนดย่อยในฐานข้อมูล Firebase
- ติดตามจํานวนองค์ประกอบในรายการ Realtime Database
- ทำสำเนาข้อมูลจาก Realtime Database ไปยัง Google Cloud BigQuery
- แปลงข้อความเป็นอีโมจิ
- จัดการข้อมูลเมตาที่คำนวณแล้วสำหรับระเบียนฐานข้อมูล
ทำงานที่ต้องใช้ทรัพยากรมากในระบบคลาวด์แทนในแอป
คุณสามารถใช้ Cloud Functions เพื่อส่งงานที่ใช้ทรัพยากรมาก (CPU หรือเครือข่ายที่ทำงานหนัก) ไปยัง Google Cloud แทนที่จะทำงานในอุปกรณ์ของผู้ใช้ ซึ่งจะช่วยปรับปรุงการตอบสนองของแอปได้ ตัวอย่างเช่น คุณอาจเขียนฟังก์ชันเพื่อรอการอัปโหลดรูปภาพไปยัง Cloud Storage, ดาวน์โหลดรูปภาพไปยังอินสแตนซ์ที่เรียกใช้ฟังก์ชัน, แก้ไข และอัปโหลดกลับไปยัง Cloud Storage การแก้ไขอาจรวมถึงการปรับขนาด การครอบตัด หรือการเปลี่ยนรูปแบบรูปภาพด้วยเครื่องมือต่างๆ เช่น sharp หรือ Pillow
- ฟังก์ชันจะทริกเกอร์เมื่อมีการอัปโหลดไฟล์รูปภาพไปยัง Cloud Storage
- ฟังก์ชันนี้จะดาวน์โหลดรูปภาพและสร้างรูปภาพขนาดย่อ
- ฟังก์ชันจะเขียนตำแหน่งของภาพขนาดย่อนั้นลงในฐานข้อมูลเพื่อให้แอปไคลเอ็นต์ค้นหาและใช้ภาพดังกล่าวได้
- ฟังก์ชันจะอัปโหลดภาพขนาดย่อกลับไปยัง Cloud Storage ในตำแหน่งใหม่
- แอปจะดาวน์โหลดลิงก์ภาพปก
ดูตัวอย่างการประมวลผลรูปภาพแบบทีละขั้นตอนได้ในคู่มือการจัดการเหตุการณ์ Cloud Storage
ตัวอย่างอื่นๆ ของงานกลุ่มในระบบคลาวด์ Firebase
- ลบบัญชี Firebase ที่ไม่ได้ใช้เป็นระยะๆ Node.js | Python
- สำรองข้อมูลรูปภาพที่อัปโหลดโดยอัตโนมัติ Node.js | Python
- ส่งอีเมลจำนวนมากถึงผู้ใช้
- รวบรวมและสรุปข้อมูลเป็นระยะๆ
- ประมวลผลคิวงานที่รอดำเนินการ
ผสานรวมกับบริการและ API ของบุคคลที่สาม
Cloud Functions ช่วยให้แอปทำงานร่วมกับบริการอื่นๆ ได้ดียิ่งขึ้นด้วยการเรียกใช้และแสดง Web API เช่น แอปที่ใช้สำหรับการทำงานร่วมกันในการพัฒนาอาจโพสต์การคอมมิต GitHub ไปยังห้องแชทของกลุ่มทำงาน
- ผู้ใช้พุชการคอมมิตไปยังที่เก็บ GitHub
- ฟังก์ชัน HTTPS จะทริกเกอร์ผ่าน GitHub Webhook API
- ฟังก์ชันนี้จะส่งการแจ้งเตือนการคอมมิตไปยังแชแนล Slack ของทีม
วิธีอื่นๆ ในการผสานรวมกับบริการและ API ของบุคคลที่สาม
- ใช้ Cloud Vision API ของ Google เพื่อวิเคราะห์และติดแท็กรูปภาพที่อัปโหลด
- แปลข้อความโดยใช้ Google แปลภาษา
- ใช้การตรวจสอบสิทธิ์ที่กำหนดเองเพื่อลงชื่อเข้าใช้ผู้ใช้
- ส่งคําขอไปยัง Webhook เมื่อ Realtime Database เขียน
- เปิดใช้การค้นหาข้อความแบบเต็มในองค์ประกอบ Realtime Database
- ประมวลผลการชำระเงินจากผู้ใช้
- สร้างการตอบกลับอัตโนมัติสำหรับการโทรและข้อความ SMS
- สร้างแชทบ็อตโดยใช้ Google Assistant