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

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

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

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

นักพัฒนาแอปสามารถใช้ 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 แทนที่จะเรียกใช้ในอุปกรณ์ของผู้ใช้ ซึ่งจะช่วยปรับปรุงการตอบสนองของแอปได้ ตัวอย่างเช่น คุณสามารถเขียนฟังก์ชัน เพื่อรอรับการอัปโหลดรูปภาพไปยัง 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 ช่วยให้แอปทำงานร่วมกับบริการอื่นๆ ได้ดียิ่งขึ้นด้วย การเรียกและแสดง API บนเว็บ ตัวอย่างเช่น แอปที่ใช้สำหรับการทำงานร่วมกันในการพัฒนาอาจโพสต์การคอมมิต GitHub ไปยังห้องแชทของกลุ่มงาน

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

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

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

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