คุณใช้ 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 แปลภาษา
  • ใช้การตรวจสอบสิทธิ์ที่กำหนดเองเพื่อลงชื่อเข้าใช้ผู้ใช้
  • ส่งคำขอไปยัง Webhook ใน Realtime Database writes
  • เปิดใช้การค้นหาข้อความแบบเต็มในองค์ประกอบ Realtime Database
  • ประมวลผลการชำระเงินจากผู้ใช้
  • สร้างการตอบกลับอัตโนมัติสำหรับการโทรและข้อความ SMS
  • สร้างแชทบอทโดยใช้ Google Assistant