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