Cloud Functions per Firebase: account di fatturazione non configurato


89

Ho appena implementato le nuove Cloud Functions per Firebase, ma c'è qualcosa nel log che mi dà fastidio:

Account di fatturazione non configurato. La rete esterna non è accessibile e le quote sono fortemente limitate. Configura l'account di fatturazione per rimuovere queste restrizioni

In realtà sono riuscito ad accedere alla funzione dalla rete esterna, quindi mi chiedo: devo davvero dare il mio account di fatturazione? Non c'è niente su questo nella documentazione di Firebase.

Sto utilizzando il piano di abbonamento Spark per scopi di test personali e non voglio aggiungere informazioni di fatturazione se non ho ancora intenzione di pagare nulla.

Risposte:


90

Il messaggio di avviso "Account di fatturazione non configurato" viene registrato automaticamente da Google Cloud Functions quando non è configurato alcun account di fatturazione. Ciò non significa che il tuo codice non funzioni, ma è semplicemente un promemoria nel caso in cui tu abbia un problema.


La restrizione riguarda l'accesso in uscita, ad esempio la funzione può richiedere risorse da Internet in generale. Va assolutamente bene utilizzare una funzione per rispondere a un webhook o per accedere a servizi interni di Google come il Realtime Database.

Se desideri chiamare un servizio Web di terze parti (ad esempio), devi abilitare la fatturazione.

Per le altre quote, dai un'occhiata a: https://firebase.google.com/pricing/ - come puoi vedere ci sono limiti al numero di chiamate (125.000 al momento della scrittura) e CPU e memoria (40k cpu- secondi e 40.000 GB al secondo) nel livello gratuito.


Grazie per la risposta, che dire delle "quote limitate"?
Hristo Stoyanov

Che ne dici di inviare un'e-mail in risposta a una modifica sul database? Abilita la fatturazione per questo? Ad esempio, utilizzando i servizi di Gmail.
Lancelot

Gmail sarebbe l'API di Google, quindi dovrebbe essere OK, qualcosa come sendgrid per cui avresti bisogno di fatturazione.
Ian Barber

@IanBarber Significa attivare i piani Blaze / Flame? Il piano Blaze si addebita solo dopo aver utilizzato i limiti gratuiti?
SidFerreira

2
Lo capiscono tutti? Se ricevo questo registro, devo aggiungere le informazioni di fatturazione?

38

Le risposte di Doug stevenson mi hanno aiutato meglio:

TL; DR: è un messaggio di avviso. se non stai facendo chiamate in uscita, stai bene

Tale messaggio di avviso viene visualizzato per tutte le funzioni durante l'esecuzione sul piano Spark. È solo un avvertimento: puoi ignorarlo se stai facendo qualsiasi rete in uscita per conto tuo.

Stiamo cercando di far cambiare o rimuovere quel messaggio in modo che sia meno confuso.

[...]


7
Quel messaggio di errore ha confuso anche me! Voto per cambiare il messaggio in modo che sia più chiaro.
Thomas David Kehoe

Puoi filtrare quel messaggio nella console facendo clic sul menu a discesa "Tutti i livelli di registro" e scegliendo "Informazioni". Tutti i log e gli errori verranno comunque visualizzati, ma il messaggio nag scomparirà.
Jack Steam

8

Assicurati che il tuo progetto sia collegato a un account di fatturazione.

Se accedi a https://console.cloud.google.com/billing

Dovresti riuscire a trovare il tuo progetto Firebase elencato lì. In caso contrario, dovrai andare all'elenco dei progetti e dal menu dei tuoi progetti, selezionare la fatturazione, quindi collegare un account di fatturazione ad esso.

inserisci qui la descrizione dell'immagine


7

La prima chiamata avviene ma viene contrassegnata quando è in Spark Plan e viene richiamata da una rete esterna (guarda i log)

Al momento della stesura di questo documento, il piano chiamato BLAZE (Pay as you go) consente il networking (accesso esterno) e ha un livello gratuito perpetuo.

Le prime 2.000.000 chiamate, 400.000 GB al secondo, 200.000 CPU al secondo e 5 GB di traffico Internet in uscita vengono fornite gratuitamente ogni mese. Ti verrà addebitato solo l'utilizzo oltre questa assegnazione gratuita.

Ulteriori informazioni sui prezzi delle funzioni cloud https://cloud.google.com/functions/pricing


1
Quindi è sicuro che posso abilitare la fatturazione e iniziare a inviare e-mail utilizzando nodemailer e simili senza essere fatturato
Kingston Fortune

2

1.Depreciare la versione del nodo impostato versione del nodo 8

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

2.Quindi distribuisci Firebase seguendo il comando come sapete

> firebase deploy
Quindi otterrai questo tipo di output https://i.stack.imgur.com/4hWQZ.png nel tuo terminale se hai notato sopra l'immagine contrassegnata con una linea rossa questa è la regione ospitata dal tuo progetto Firebase. se anche tu ottieni lo stesso risultato tutto è fatto siamo nel passaggio finale

manualmente dobbiamo raggiungere l'endpoint del nostro progetto

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

Nel mio caso https://us-central1-socialape-d5dab.cloudfunctions.net/helloWorld

o segui questi passaggi

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

Sì, devi eseguire l'upgrade al piano blaze dal tuo piano gratuito esistente che è Spark. Non ti verrà addebitato alcun importo fino a quando non supererai i vantaggi del piano Spark.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.