คุณใช้ Cloud Functions ทำอะไรได้บ้าง

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

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

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

นักพัฒนาแอปสามารถใช้ Cloud Functions เพื่อให้ผู้ใช้มีส่วนร่วมและได้รับข้อมูลที่เกี่ยวข้องเกี่ยวกับแอปอยู่เสมอ ตัวอย่างเช่น แอปที่อนุญาตให้ผู้ใช้ติดตามกิจกรรมของกันและกันในแอป ทุกครั้งที่ผู้ใช้เพิ่มตนเองเป็นผู้ติดตามของผู้ใช้รายอื่น ระบบจะเขียนข้อมูลลงใน Realtime Database จากนั้นเหตุการณ์การเขียนนี้จะทริกเกอร์ฟังก์ชันเพื่อสร้างการแจ้งเตือน Firebase Cloud Messaging (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 เพื่อลดภาระงานที่ใช้ทรัพยากรมาก (CPU หรือเครือข่ายที่ทำงานหนัก) ไปยังระบบคลาวด์ของ Google แทนที่จะเรียกใช้ในอุปกรณ์ของผู้ใช้ ซึ่งจะช่วยปรับปรุงการตอบสนองของแอป ตัวอย่างเช่น คุณสามารถเขียนฟังก์ชันเพื่อรอรับการอัปโหลดรูปภาพไปยัง Cloud Storage, ดาวน์โหลดรูปภาพไปยังอินสแตนซ์ที่เรียกใช้ฟังก์ชัน, แก้ไขรูปภาพ และอัปโหลดกลับไปยัง Cloud Storage การแก้ไขอาจรวมถึงการปรับขนาด การครอบตัด หรือการแปลงรูปภาพด้วยเครื่องมือต่างๆ เช่น sharp หรือ Pillow

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

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

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

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

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

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

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

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

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

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

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