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