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

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

ตรวจสอบกรณีการใช้งานและตัวอย่างของแต่ละหมวดหมู่ที่คุณสนใจ จากนั้นไปที่บทแนะนำเริ่มต้นใช้งานหรือคู่มือวิธีใช้ที่เฉพาะเจาะจงสำหรับเหตุการณ์การตรวจสอบสิทธิ์ เหตุการณ์ 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 ในการขจัดภาระงานที่ใช้ทรัพยากรในระบบคลาวด์ของ Google (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 จะทริกเกอร์ผ่าน GitHub Web API
  3. ฟังก์ชันดังกล่าวจะส่งการแจ้งเตือนเกี่ยวกับสัญญาผูกมัดไปยังช่อง Slack ของทีม

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

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