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