สิ่งที่ทำได้ใน Cloud Functions

Cloud Functions ช่วยให้นักพัฒนาซอฟต์แวร์มีสิทธิ์เข้าถึงเหตุการณ์ของ Firebase และ Google Cloud พร้อมพลังการประมวลผลที่ปรับขนาดได้เพื่อเรียกใช้โค้ดเพื่อตอบสนองต่อเหตุการณ์เหล่านั้น แม้ว่าแอป Firebase จะใช้ Cloud Functions ในแบบที่ไม่เหมือนใครเพื่อตอบสนองความต้องการเฉพาะ แต่กรณีการใช้งานทั่วไปจะจัดอยู่ในเรื่องต่อไปนี้

ตรวจสอบกรณีการใช้งานและตัวอย่างสำหรับแต่ละหมวดหมู่ที่คุณสนใจ แล้วไปยังบทแนะนำเริ่มต้นใช้งานหรือคำแนะนำวิธีใช้ที่เจาะจงสำหรับเหตุการณ์การตรวจสอบสิทธิ์ เหตุการณ์ใน Analytics และอื่นๆ

แจ้งผู้ใช้เมื่อมีสิ่งที่น่าสนใจเกิดขึ้น

นักพัฒนาซอฟต์แวร์สามารถใช้ Cloud Functions เพื่อช่วยให้ผู้ใช้มีส่วนร่วมและอัปเดตข้อมูลที่เกี่ยวข้องกับแอปอยู่เสมอ ตัวอย่างเช่น แอปจะอนุญาตให้ผู้ใช้ติดตามกิจกรรมของกันและกันในแอป ทุกครั้งที่ผู้ใช้เพิ่มตนเองเป็นผู้ติดตามอีกคนหนึ่ง การเขียนจะเกิดขึ้นใน Realtime Database จากนั้นเหตุการณ์การเขียนนี้จะทริกเกอร์ฟังก์ชันสำหรับสร้างการแจ้งเตือนการรับส่งข้อความในระบบคลาวด์ของ Firebase (FCM) เพื่อให้ผู้ใช้ที่เหมาะสมทราบว่าตนมีผู้ติดตามใหม่

แผนภาพแสดงการทำงานของแอปตามที่อธิบายไว้ด้านล่าง

  1. ทริกเกอร์ฟังก์ชันเมื่อเขียนไปยังเส้นทาง Realtime Database ซึ่งจัดเก็บผู้ติดตามไว้
  2. ฟังก์ชันนี้จะเขียนข้อความเพื่อส่งผ่านทาง FCM
  3. FCM จะส่งข้อความแจ้งเตือนไปยังอุปกรณ์ของผู้ใช้

หากต้องการตรวจสอบโค้ดการทำงาน โปรดดูโค้ดตัวอย่างใน GitHub:

กรณีการใช้งานการแจ้งเตือนอื่นๆ ที่น่าสนใจ

  • ส่งอีเมลยืนยันให้กับผู้ใช้ที่สมัครรับจดหมายข่าว
  • ส่งอีเมลต้อนรับเมื่อผู้ใช้ลงชื่อสมัครใช้เสร็จสมบูรณ์
  • ส่งการยืนยันทาง SMS เมื่อผู้ใช้สร้างบัญชีใหม่

ดำเนินการทำความสะอาดและบำรุงรักษาฐานข้อมูล

เมื่อใช้การจัดการเหตุการณ์ของฐานข้อมูล Cloud Functions คุณจะแก้ไข Realtime Database หรือ Cloud Firestore เพื่อตอบสนองพฤติกรรมของผู้ใช้ได้ ซึ่งทำให้ระบบอยู่ในสถานะที่ต้องการ ตัวอย่างเช่น คุณสามารถตรวจสอบเหตุการณ์การเขียนและเปลี่ยนรูปแบบ (เช่น เปลี่ยนเป็นตัวพิมพ์ใหญ่ทั้งหมด) ของสตริงที่ต้องการในข้อความของผู้ใช้ วิธีการทำงานมีดังนี้

แผนภาพแสดงการทำงานของแอปตามที่อธิบายไว้ด้านล่าง

  1. เครื่องจัดการเหตุการณ์ของฐานข้อมูลจะคอยฟังเหตุการณ์การเขียนในเส้นทางที่ระบุ และเรียกข้อมูลเหตุการณ์ที่มีข้อความของข้อความ
  2. ฟังก์ชันนี้จะประมวลผลข้อความเพื่อเปลี่ยนสตริงเป็นตัวพิมพ์ใหญ่
  3. ฟังก์ชันจะเขียนข้อความที่อัปเดตกลับไปยังฐานข้อมูล

หากต้องการตรวจสอบโค้ดการทำงาน โปรดดูโค้ดตัวอย่างใน GitHub:

กรณีการใช้งานอื่นๆ สำหรับการทำความสะอาดฐานข้อมูลและการบำรุงรักษา

  • ลบเนื้อหาของผู้ใช้ที่ถูกลบออกจาก Realtime Database อย่างถาวร
  • จำกัดจำนวนโหนดย่อยในฐานข้อมูล Firebase
  • ติดตามจำนวนองค์ประกอบในรายการ Realtime Database
  • คัดลอกข้อมูลจาก Realtime Database ไปยัง Google Cloud BigQuery
  • แปลงข้อความเป็นอีโมจิ
  • จัดการข้อมูลเมตาที่คำนวณแล้วสำหรับระเบียนฐานข้อมูล

ทำงานหนักในระบบคลาวด์แทนในแอป

คุณสามารถใช้ประโยชน์จาก Cloud Functions ในการลดภาระงานที่ใช้ทรัพยากรของ Google Cloud (CPU หรือเครือข่ายจำนวนมาก) แทนการเรียกใช้ในอุปกรณ์ของผู้ใช้ เพื่อปรับปรุงการตอบสนองของแอป ตัวอย่างเช่น คุณอาจเขียนฟังก์ชันเพื่อฟังการอัปโหลดไปยัง Cloud Storage ดาวน์โหลดรูปภาพไปยังอินสแตนซ์ที่เรียกใช้ฟังก์ชัน แก้ไข และอัปโหลดไปยัง Cloud Storage การแก้ไขของคุณอาจรวมถึงการปรับขนาด การครอบตัด หรือการแปลงรูปภาพด้วยเครื่องมือต่างๆ เช่น ทำให้ชัดหรือหมอน

แผนภาพแสดงการทำงานของแอปตามที่อธิบายไว้ด้านล่าง

  1. ฟังก์ชันจะทำงานเมื่อมีการอัปโหลดไฟล์ภาพไปยัง Cloud Storage
  2. ฟังก์ชันนี้จะดาวน์โหลดรูปภาพและสร้างเวอร์ชันภาพปก
  3. ฟังก์ชันนี้จะเขียนตำแหน่งของภาพขนาดย่อดังกล่าวไปยังฐานข้อมูล เพื่อให้แอปไคลเอ็นต์สามารถค้นหาและใช้งานได้
  4. ฟังก์ชันนี้จะอัปโหลดภาพขนาดย่อกลับไปยัง Cloud Storage ในตำแหน่งใหม่
  5. แอปจะดาวน์โหลดลิงก์ภาพขนาดย่อ

ดูคำแนะนำแบบทีละขั้นของตัวอย่างการประมวลผลรูปภาพได้ในคู่มือการจัดการเหตุการณ์ Cloud Storage

ตัวอย่างอื่นๆ ของงานแบบกลุ่มในระบบคลาวด์ของ Firebase

  • ลบบัญชี Firebase ที่ไม่ได้ใช้เป็นระยะ Node.js | Python
  • สำรองข้อมูลรูปภาพที่อัปโหลดโดยอัตโนมัติ Node.js | Python
  • ส่งอีเมลจำนวนมากถึงผู้ใช้
  • รวบรวมและสรุปข้อมูลเป็นระยะๆ
  • ประมวลผลคิวงานที่รอดำเนินการ

ผสานรวมกับบริการและ API ของบุคคลที่สาม

Cloud Functions ช่วยให้แอปทำงานกับบริการอื่นๆ ได้ดียิ่งขึ้นด้วยการเรียกและเปิดเผย API ของเว็บ ตัวอย่างเช่น แอปที่ใช้สำหรับการทำงานร่วมกันเพื่อพัฒนาอาจโพสต์การคอมมิตของ GitHub ไว้ในห้องแชทของกลุ่มงาน

แผนภาพแสดงการทำงานของแอปตามที่อธิบายไว้ด้านล่าง

  1. ผู้ใช้พุชการคอมมิตไปยังที่เก็บ GitHub
  2. ฟังก์ชัน HTTPS จะทริกเกอร์ผ่าน API ของเว็บฮุค GitHub
  3. ฟังก์ชันนี้จะส่งการแจ้งเตือนเกี่ยวกับการคอมมิตไปยังช่อง Slack ของทีม

วิธีอื่นๆ ในการผสานรวมกับบริการและ API ของบุคคลที่สาม

  • ใช้ Cloud Vision API ของ Google เพื่อวิเคราะห์และติดแท็กรูปภาพที่อัปโหลด
  • แปลข้อความโดยใช้ Google แปลภาษา
  • ใช้การตรวจสอบสิทธิ์ที่กำหนดเองเพื่อลงชื่อเข้าใช้ผู้ใช้
  • ส่งคำขอไปยังเว็บฮุคในการเขียนฐานข้อมูลเรียลไทม์
  • เปิดใช้การค้นหาข้อความแบบเต็มในองค์ประกอบ Realtime Database
  • ประมวลผลการชำระเงินจากผู้ใช้
  • สร้างการตอบกลับอัตโนมัติสำหรับโทรศัพท์และข้อความ SMS
  • สร้างแชทบ็อตโดยใช้ Google Assistant