Cloud Functions for Firebase มี 2 เวอร์ชัน ดังนี้
- Cloud Functions (รุ่นที่ 2) ซึ่ง จะติดตั้งใช้งานฟังก์ชันของคุณเป็นบริการใน Cloud Run ทำให้คุณ ทริกเกอร์ฟังก์ชันได้โดยใช้ Eventarc และ Pub/Sub
- Cloud Functions (รุ่นที่ 1) ฟังก์ชันเวอร์ชันดั้งเดิม ที่มีทริกเกอร์เหตุการณ์และการกำหนดค่าที่จำกัด
เราขอแนะนำให้คุณเลือก Cloud Functions (รุ่นที่ 2) สำหรับฟังก์ชันใหม่ๆ หากเป็นไปได้ อย่างไรก็ตาม เราวางแผนที่จะยังคงรองรับ Cloud Functions (รุ่นที่ 1) ต่อไป
หน้านี้อธิบายฟีเจอร์ที่เปิดตัวใน Cloud Functions และ เปรียบเทียบผลิตภัณฑ์ทั้ง 2 เวอร์ชัน
Cloud Functions (รุ่นที่ 2)
Cloud Functions คือข้อเสนอ Functions-as-a-Service รุ่นถัดไปของ Firebase Cloud Functions (รุ่นที่ 2) สร้างขึ้นบน Cloud Run และ Eventarc จึงมีโครงสร้างพื้นฐานที่ได้รับการปรับปรุงและครอบคลุมการแข่งขันที่กว้างขึ้นใน Cloud Functions ซึ่งรวมถึง
- สร้างขึ้นบน Cloud Run: ฟังก์ชันสร้างขึ้นด้วย Cloud Build และทำให้ใช้งานได้เป็นบริการ Cloud Run โดยใช้Cloud Run สภาพแวดล้อมการดำเนินการเริ่มต้น ซึ่งช่วยให้คุณปรับแต่งฟังก์ชันได้เหมือนกับCloud Runบริการ โปรดดูCloud Runเอกสารประกอบเพื่อ สำรวจตัวเลือกในการกำหนดค่าบริการ เช่น ขีดจำกัด หน่วยความจำ ตัวแปรสภาพแวดล้อม และอื่นๆ
- เวลาในการประมวลผลคำขอที่นานขึ้น: เรียกใช้เวิร์กโหลดคำขอที่นานขึ้น เช่น การประมวลผลสตรีมข้อมูลขนาดใหญ่จาก Cloud Storage หรือ BigQuery
- ขนาดอินสแตนซ์ที่ใหญ่ขึ้น: เรียกใช้ภาระงานในหน่วยความจำ ภาระงานที่ประมวลผลอย่างหนัก และภาระงานแบบ ขนานที่ใหญ่ขึ้น
- การทำงานพร้อมกันที่ดีขึ้น: จัดการคำขอหลายรายการพร้อมกันด้วยอินสแตนซ์ฟังก์ชันเดียวเพื่อลด Cold Start และปรับปรุงเวลาในการตอบสนอง
- การจัดการการรับส่งข้อมูล: แยกการรับส่งข้อมูลระหว่างฟังก์ชันเวอร์ชันต่างๆ หรือย้อนฟังก์ชันกลับไปเป็นเวอร์ชันก่อนหน้า
- การผสานรวม Eventarc: การรองรับ Eventarc ทริกเกอร์แบบเนทีฟ ซึ่งจะนำแหล่งที่มาของเหตุการณ์กว่า 90 รายการที่ Eventarc รองรับมายัง Cloud Functions
- การรองรับ CloudEvents ที่กว้างขึ้น: รองรับ CloudEvents มาตรฐานอุตสาหกรรมในรันไทม์ของภาษาทั้งหมด เพื่อมอบ ประสบการณ์การใช้งานที่สอดคล้องกันสำหรับนักพัฒนาแอป
ดูรายละเอียดในตารางเปรียบเทียบ
เนื่องจาก Cloud Functions จะติดตั้งใช้งานฟังก์ชันเป็นบริการใน Cloud Run Cloud Functions จึงใช้โควต้าและขีดจำกัดของทรัพยากรร่วมกับ Cloud Run ดูโควต้า
ตารางเปรียบเทียบ
ฟีเจอร์ | Cloud Functions (รุ่นที่ 1) | Cloud Functions |
---|---|---|
รีจิสทรีรูปภาพ | Container Registry หรือ Artifact Registry | Artifact Registry เท่านั้น |
ระยะหมดเวลาของคำขอ | ไม่เกิน 9 นาที |
|
ขนาดอินสแตนซ์ | RAM สูงสุด 8 GB พร้อม vCPU 2 รายการ | RAM สูงสุด 16 GiB พร้อม vCPU 4 ตัว |
การเกิดขึ้นพร้อมกัน | คำขอพร้อมกัน 1 รายการต่ออินสแตนซ์ฟังก์ชัน | คำขอพร้อมกันสูงสุด 1,000 รายการต่ออินสแตนซ์ของฟังก์ชัน |
ราคา
ดูข้อมูลราคาได้ที่แพ็กเกจราคาของ Firebase
หากใช้ Cloud Functions คุณจะดูค่าใช้จ่ายที่เชื่อมโยงกับ Cloud Functions เท่านั้นได้โดยทำดังนี้
- ไปที่Cloud Billingหน้ารายงาน ในคอนโซล Google Cloud
- หากได้รับข้อความแจ้ง ให้เลือกบัญชีสำหรับการเรียกเก็บเงินที่เชื่อมโยงกับโปรเจ็กต์ Google Cloud
- ในแผงตัวกรอง ภายในป้ายกำกับ
เพิ่มตัวกรองป้ายกำกับที่มีคีย์
goog-managed-by
และค่าcloudfunctions
ข้อจำกัด
Cloud Functions for Firebase (รุ่นที่ 2) ไม่รองรับAnalytics เหตุการณ์
แม้ว่า Cloud Functions for Firebase (รุ่นที่ 2) จะรองรับเหตุการณ์การบล็อกการตรวจสอบสิทธิ์ แต่ก็ไม่รองรับเหตุการณ์ Authentication พื้นฐานชุดเดียวกันกับ รุ่นที่ 1
อย่างไรก็ตาม เนื่องจากฟังก์ชันรุ่นที่ 1 และรุ่นที่ 2 สามารถอยู่ร่วมกันในไฟล์แหล่งข้อมูลเดียวกันได้ คุณจึงยัง พัฒนาและติดตั้งใช้งานทริกเกอร์ Analytics และทริกเกอร์พื้นฐาน Authentication ในรุ่นที่ 1 ร่วมกับฟังก์ชันรุ่นที่ 2 ได้