Cloud Functions สำหรับ Firebase - ไม่ได้กำหนดค่าบัญชีสำหรับการเรียกเก็บเงิน


90

ฉันเพิ่งใช้ Cloud Functions ใหม่สำหรับ Firebase แต่มีบางอย่างในบันทึกที่รบกวนฉัน:

ไม่ได้กำหนดค่าบัญชีสำหรับการเรียกเก็บเงิน ไม่สามารถเข้าถึงเครือข่ายภายนอกได้และโควต้าถูก จำกัด อย่างเข้มงวด กำหนดค่าบัญชีสำหรับการเรียกเก็บเงินเพื่อลบข้อ จำกัด เหล่านี้

ฉันจัดการเพื่อเข้าถึงฟังก์ชันจากเครือข่ายภายนอกได้ดังนั้นฉันจึงสงสัยว่าฉันต้องให้บัญชีสำหรับการเรียกเก็บเงินจริงๆหรือ ไม่มีอะไรเกี่ยวกับเรื่องนี้ในเอกสารของ Firebase

ฉันใช้แผนการสมัครสมาชิก Spark เพื่อการทดสอบส่วนบุคคลและฉันไม่ต้องการเพิ่มข้อมูลการเรียกเก็บเงินหากฉันยังไม่ต้องจ่ายอะไรเลย

คำตอบ:


90

ข้อความเตือน "ไม่ได้กำหนดค่าบัญชีการเรียกเก็บเงิน" จะถูกบันทึกโดย Google Cloud Functions โดยอัตโนมัติเมื่อไม่มีการกำหนดค่าบัญชีสำหรับการเรียกเก็บเงิน ไม่ได้หมายความว่ารหัสของคุณใช้งานไม่ได้ แต่เป็นเพียงการแจ้งเตือนในกรณีที่คุณมีปัญหา


ข้อ จำกัด คือเกี่ยวกับการเข้าถึงขาออก - เช่นฟังก์ชันของคุณสามารถขอทรัพยากรจากอินเทอร์เน็ตทั่วไปได้ การใช้ฟังก์ชันเพื่อตอบสนองต่อเว็บฮุคหรือเข้าถึงบริการภายในของ Google เช่นฐานข้อมูลเรียลไทม์เป็นสิ่งที่ดีอย่างยิ่ง

หากคุณต้องการเรียกใช้บริการเว็บของบุคคลที่สาม (เช่น) คุณจะต้องเปิดใช้งานการเรียกเก็บเงิน

สำหรับโควต้าอื่น ๆ โปรดดูที่: https://firebase.google.com/pricing/ - ดังที่คุณเห็นมีข้อ จำกัด สำหรับจำนวนการเรียกใช้ (125,000 ในเวลาที่เขียน) และ CPU และหน่วยความจำ (40k cpu- วินาทีและ 40k GB- วินาที) ในระดับฟรี


ขอบคุณสำหรับคำตอบแล้ว 'โควต้า จำกัด ' ล่ะ?
Hristo Stoyanov

แล้วการส่งอีเมลเพื่อตอบสนองการเปลี่ยนแปลงบนฐานข้อมูลล่ะ? คุณเปิดใช้การเรียกเก็บเงินสำหรับสิ่งนั้นหรือไม่ ตัวอย่างการใช้บริการ gmail
Lancelot

Gmail จะเป็น Google API ดังนั้นก็น่าจะใช้ได้เช่น sendgrid ที่คุณต้องการเรียกเก็บเงิน
Ian Barber

@IanBarber หมายความว่าเปิดใช้งานแผน Blaze / Flame? แผน Blaze จะเรียกเก็บเงินหลังจากใช้ขีด จำกัด ฟรีเท่านั้นหรือไม่?
SidFerreira

2
ทุกคนได้รับสิ่งนี้หรือไม่? หากฉันได้รับบันทึกนี้ฉันต้องเพิ่มข้อมูลการเรียกเก็บเงินหรือไม่

38

คำตอบของ Doug stevensonช่วยฉันได้ดีที่สุด:

TL; DR:เป็นข้อความเตือน หากคุณไม่ได้โทรออกคุณก็สบายดี

ข้อความเตือนจะปรากฏขึ้นสำหรับฟังก์ชันทั้งหมดเมื่อดำเนินการกับแผน Spark นี่เป็นเพียงคำเตือน - คุณสามารถเพิกเฉยได้หากคุณกำลังทำเครือข่ายขาออกด้วยตัวคุณเอง

เรากำลังดำเนินการแก้ไขหรือลบข้อความนั้นเพื่อให้เกิดความสับสนน้อยลง

[... ]


7
ข้อความแสดงข้อผิดพลาดนั้นทำให้ฉันสับสนเช่นกัน! ฉันโหวตให้เปลี่ยนข้อความให้ชัดเจนมากขึ้น
Thomas David Kehoe

คุณสามารถกรองข้อความนั้นออกจากคอนโซลได้โดยคลิกเมนูแบบเลื่อนลง "ระดับการบันทึกทั้งหมด" แล้วเลือก "ข้อมูล" บันทึกและข้อผิดพลาดทั้งหมดของคุณจะยังคงแสดง แต่ข้อความจู้จี้จะหายไป
Jack Steam

8

ตรวจสอบให้แน่ใจว่าโครงการของคุณเชื่อมโยงกับบัญชีสำหรับการเรียกเก็บเงิน

หากคุณไปที่https://console.cloud.google.com/billing

คุณควรจะพบโครงการ Firebase ของคุณอยู่ในรายการนั้น ถ้าไม่เช่นนั้นคุณจะต้องไปที่รายการโครงการและจากเมนูโครงการของคุณเลือกการเรียกเก็บเงินจากนั้นเชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินเข้ากับโครงการนั้น

ใส่คำอธิบายภาพที่นี่


7

การเรียกใช้ครั้งแรกเกิดขึ้น แต่จะถูกทำเครื่องหมายเมื่ออยู่ในแผนจุดประกายและถูกเรียกจากเครือข่ายภายนอก (ดูที่บันทึก)

ในขณะที่เขียนนี้ Plan ที่เรียกว่า BLAZE (Pay as you go) อนุญาตให้สร้างเครือข่าย (การเข้าถึงภายนอก) และมีระดับฟรีตลอดเวลา

การเรียกใช้ 2,000,000 ครั้งแรก, 400,000 GB- วินาที, CPU 200,000 วินาทีและการรับส่งข้อมูลทางอินเทอร์เน็ต 5GB ให้บริการฟรีในแต่ละเดือน คุณจะถูกเรียกเก็บเงินสำหรับการใช้งานหลังจากการจัดสรรฟรีนี้เท่านั้น

ข้อมูลเพิ่มเติมเกี่ยวกับราคาฟังก์ชันคลาวด์https://cloud.google.com/functions/pricing


1
ดังนั้นบอกได้เลยว่าฉันสามารถเปิดใช้งานการเรียกเก็บเงินและเริ่มส่งอีเมลโดยใช้ nodemailer และสิ่งที่ชอบโดยไม่ได้รับการเรียกเก็บเงิน
Kingston Fortune

2

1. ชื่นชมชุดโหนดรุ่นโหนดเวอร์ชัน 8

   "engines": {
   "node": "8"
   },

2. จากนั้นปรับใช้ firebase โดยทำตามคำสั่งตามที่พวกคุณรู้

> firebase deploy
จากนั้นคุณจะได้รับผลลัพธ์https://i.stack.imgur.com/4hWQZ.pngประเภทนี้ในเทอร์มินัลของคุณหากคุณสังเกตเห็นภาพด้านบนที่มีเส้นสีแดง นี่คือพื้นที่โฮสต์โครงการ firebase ของคุณ หากคุณได้รับผลลัพธ์เหมือนกันทุกอย่างเสร็จสิ้นเราก็อยู่ในขั้นตอนสุดท้าย

ด้วยตนเองเราต้องไปถึงจุดสิ้นสุดโครงการของเรา

 https://yourregion-firebaseprojectname.cloudfunctions.net/yourfunctionname
 (exported function name)
 

ในกรณีของฉัน https://us-central1-socialape-d5dab.cloudfunctions.net/helloWorld

หรือทำตามขั้นตอนนี้

1.Depreciate node version to 8 
2. firebase deploy  
3. you'll get deploy complete message above that message you'll see 
   functions[helloWorld(us-central)]:Succesful update operation .
4. this us-central  is your project hosted region 
   prefix to this [helloWorld   is your function name  get this information from uour output terminal.   
5.  After  that https://yourregion-firebaseprojectname.cloudfunctions.net/yourfunctionname
 (exported function name)       which is  helloWorld

0

ใช่คุณต้องอัปเกรดเป็นแผนไฟจากแผนฟรีที่มีอยู่ซึ่งเป็นจุดประกาย คุณจะไม่ถูกเรียกเก็บเงินจนกว่าจะเกินสิทธิประโยชน์ของแผนจุดประกาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.