Cloud Functions for Firebase - konto rozliczeniowe nie zostało skonfigurowane

88

Właśnie wdrożyłem nowe Funkcje chmury dla Firebase, ale w dzienniku jest coś, co mnie niepokoi:

Konto rozliczeniowe nie zostało skonfigurowane. Sieć zewnętrzna jest niedostępna, a limity są poważnie ograniczone. Skonfiguruj konto rozliczeniowe, aby usunąć te ograniczenia

Faktycznie udało mi się uzyskać dostęp do funkcji z sieci zewnętrznej, więc zastanawiam się, czy naprawdę muszę podawać swoje konto rozliczeniowe? W dokumentacji Firebase nie ma nic na ten temat.

Używam planu subskrypcji Spark do osobistych celów testowych i nie chcę dodawać informacji rozliczeniowych, jeśli jeszcze za nic nie zapłacę.

Hristo Stoyanov
źródło

Odpowiedzi:

89

Komunikat ostrzegawczy „Nie skonfigurowano konta rozliczeniowego” jest automatycznie rejestrowany przez Google Cloud Functions, gdy żadne konto rozliczeniowe nie jest skonfigurowane. Nie oznacza to, że Twój kod nie działa, ale jest tylko przypomnieniem, na wypadek gdybyś miał problem.


Ograniczenie dotyczy dostępu wychodzącego - np. Funkcja może zażądać zasobów z ogólnego Internetu. Używanie funkcji odpowiadającej na webhook lub dostępu do wewnętrznych usług Google, takich jak Baza danych czasu rzeczywistego, jest całkowicie w porządku.

Jeśli chcesz zadzwonić do usługi internetowej innej firmy (na przykład), musisz włączyć rozliczenia.

W przypadku innych limitów spójrz na: https://firebase.google.com/pricing/ - jak widać, istnieją ograniczenia liczby wywołań (125 000 w momencie pisania) oraz procesora i pamięci (40 000 cpu- sekund i 40 000 GB-sekund) w warstwie bezpłatnej.

Ian Barber
źródło
Dzięki za odpowiedź, a co z „ograniczonymi kwotami”?
Hristo Stoyanov
A co z wysłaniem wiadomości e-mail w odpowiedzi na zmianę w bazie danych? Czy włączasz w tym celu płatności? Na przykład korzystanie z usług Gmail.
Lancelot
Gmail byłby Google API, więc powinno być OK, coś takiego jak sendgrid, za które potrzebujesz rozliczeń.
Ian Barber
@IanBarber To znaczy aktywować plany Blaze / Flame? Czy abonament Blaze pobiera opłaty dopiero po wykorzystaniu bezpłatnych limitów?
SidFerreira
2
Czy wszyscy to rozumieją? Jeśli otrzymuję ten dziennik, czy muszę dodawać informacje rozliczeniowe?
38

Najbardziej pomogły mi odpowiedzi Douga Stevensona :

TL; DR: To ostrzeżenie. jeśli nie wykonujesz połączeń wychodzących, wszystko jest w porządku

Ten komunikat ostrzegawczy pojawia się dla wszystkich funkcji podczas wykonywania w planie Spark. To tylko ostrzeżenie - możesz je zignorować, jeśli robisz własne sieci wychodzące.

Chcemy zmienić lub usunąć tę wiadomość, aby była mniej zagmatwana.

[…]

bernatfortet
źródło
7
Ten komunikat o błędzie też mnie zmylił! Głosuję za zmianą przesłania, aby było jaśniejsze.
Thomas David Kehoe
Możesz odfiltrować tę wiadomość w konsoli, klikając menu „Wszystkie poziomy dziennika” i wybierając „Informacje”. Wszystkie dzienniki i błędy będą nadal wyświetlane, ale komunikat nag zniknie.
Jack Steam
7

Pierwsze wywołanie ma miejsce, ale zostaje zaznaczone, gdy jest w planie iskry i jest wywoływane z sieci zewnętrznej (spójrz na dzienniki)

W chwili pisania tego tekstu plan zwany BLAZE (Pay as you go) umożliwia korzystanie z sieci (dostęp zewnętrzny) i ma wieczny bezpłatny poziom.

Pierwsze 2 000 000 wywołań, 400 000 GB / s, 200 000 CPU / s i 5 GB ruchu wychodzącego do Internetu jest udostępnianych bezpłatnie każdego miesiąca. Opłaty są naliczane tylko za użycie po upływie tego bezpłatnego przydziału.

Więcej na temat cen funkcji chmury https://cloud.google.com/functions/pricing

Satta Ravi
źródło
1
Mówisz więc, że mogę włączyć rozliczanie i zacząć wysyłać wiadomości e-mail za pomocą Nodemailer i polubień bez naliczania opłat
Kingston Fortune
7

Upewnij się, że projekt jest połączony z kontem rozliczeniowym.

Jeśli przejdziesz do https://console.cloud.google.com/billing

Powinien być tam wymieniony projekt Firebase. Jeśli nie, będziesz musiał przejść do listy projektów iz menu projektów wybierz rozliczenia, a następnie połącz z nim konto rozliczeniowe.

wprowadź opis obrazu tutaj

Samer
źródło
2

1. Wycofaj wersję 8 węzła zestawu wersji węzła

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

2. Następnie wdróż firebase, wykonując polecenie, jak wiesz

> firebase deploy
Następnie otrzymasz tego typu wyjście https://i.stack.imgur.com/4hWQZ.png w swoim terminalu, jeśli zauważyłeś powyższy obraz oznaczony czerwoną linią, to jest region hostowany przez twój projekt Firebase. jeśli Ty również uzyskasz ten sam wynik, wszystko jest zrobione, jesteśmy na ostatnim etapie

ręcznie musimy trafić do naszego punktu końcowego projektu

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

W moim przypadku https://us-central1-socialape-d5dab.cloudfunctions.net/helloWorld

lub wykonaj te czynności

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
William James
źródło
0

Tak, musisz przejść na abonament blaze z istniejącego bezpłatnego planu, który jest iskrą. Opłata nie zostanie naliczona, dopóki nie przekroczysz korzyści z planu iskrowego.

Vamshidhar Reddy
źródło