คุณใช้ 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

Use Case อื่นๆ ที่น่าสนใจเกี่ยวกับการแจ้งเตือน

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

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

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

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

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