Catch up on everthing we announced at this year's Firebase Summit. Learn more

Imposta la logica e gli avvisi di fatturazione avanzati

Mentre semplici messaggi di posta elettronica di avviso di bilancio sono un modo relativamente semplice per ricevere gli aggiornamenti di fatturazione, ci possono essere momenti in cui si desidera creare avvisi più sofisticate che comprendono una logica più personalizzato. Ecco due approcci da considerare:

  • Usa Cloud Monitoring per creare avvisi più sofisticati e tempestivi

  • Utilizza una notifica Pub/Sub di fatturazione insieme a una funzione cloud corrispondente per creare un comportamento personalizzato in risposta ai cambiamenti nella tua spesa

Sebbene entrambe queste tecniche richiedano più lavoro da parte tua, ti danno il potere di controllare esattamente quali tipi di avvisi stai ricevendo e come rispondere ad essi.

Questa pagina offre una panoramica per ciascuno di questi approcci.

Crea avvisi più sofisticati con Cloud Monitoring

Semplici e-mail di avviso sul budget ti informano quando la tua fatturazione complessiva ha raggiunto determinate soglie. Tuttavia, potresti anche essere interessato a sapere se i singoli servizi stanno aumentando in modo imprevisto, prima che abbiano avuto la possibilità di incidere in modo significativo sul tuo budget. Per casi d'uso più sofisticati come questo, ti consigliamo di conoscere Cloud Monitoring, che è uno strumento Google Cloud disponibile per il tuo progetto Firebase.

Cloud Monitoring è utile per diversi tipi di avvisi:

  • Se una risorsa su cui si basa il tuo progetto non è disponibile (sia per i servizi Firebase che Google Cloud, ma anche per i servizi esterni, come AWS)

  • Se servizi come Cloud Functions impiegano più tempo del previsto per rispondere

  • Se il tuo bucket Cloud Storage, l'istanza Realtime Database o l'istanza Cloud Firestore rifiuta troppe richieste (un'indicazione che le regole di sicurezza Firebase potrebbero essere errate).

  • Se la quantità di risorse utilizzate da alcuni dei tuoi prodotti Firebase è aumentata oltre una certa soglia

Gli avvisi creati tramite Cloud Monitoring vengono generalmente inviati più rapidamente rispetto alle semplici e-mail di avviso di budget, che in genere vengono inviate una volta al giorno. Gli avvisi possono assumere la forma di messaggi SMS, messaggi di canale Slack, notifiche PagerDuty, webhook e altro. Queste opzioni ti consentono di inviare avvisi con livelli di visibilità più elevati e più attuabili.

Utilizzo del monitoraggio cloud

Per iniziare con Cloud di monitoraggio, si consiglia di iniziare con la metrica Explorer , che permette di creare grafici di metriche personalizzate all'interno del progetto Firebase / Google Cloud e visualizzare il loro utilizzo.

Nello specifico, puoi esaminare risorse come le istanze Cloud Firestore, Realtime Database o Cloud Function. È possibile visualizzare le informazioni sull'utilizzo di questi prodotti (come il numero di letture di documenti, byte inviati o chiamate di funzioni) che potrebbero avere un effetto sulla fatturazione.

Dopo sei a tuo agio visualizzare l'uso delle risorse nel Metrics Explorer, si consiglia di creare una politica di allertare sulle metriche che ti interessano di più. Di seguito sono riportati alcuni esempi di criteri di avviso:

  • Se il numero di documenti letti in un periodo di 30 minuti è maggiore di un determinato valore

  • Se l'utilizzo di una risorsa specifica (come l'invocazione di una funzione) sembra aumentare troppo rapidamente in un determinato lasso di tempo

Crea logica di fatturazione aggiuntiva

Gli avvisi di budget inviano email automaticamente quando il budget raggiunge determinate soglie, ma per avvisi più sofisticati o reazioni programmatiche agli aumenti di spesa, potresti prendere in considerazione l'impostazione di una logica personalizzata aggiuntiva basata sui messaggi Pub/Sub di Google Cloud.

Ad esempio, puoi inviare avvisi ai canali Slack o tramite SMS oppure apportare modifiche programmatiche alla tua app o al tuo progetto a seconda dei livelli di spesa.

Pub/Sub è un servizio di scambio di messaggi che consente ad altri servizi di inviare messaggi, in genere sotto forma di dati JSON, in modo asincrono attraverso canali noti come argomenti Pub/Sub. Puoi impostare servizi autorizzati, come Cloud Functions, per ascoltare i messaggi in questi argomenti e agire sui dati in modo appropriato.

Tieni presente che le notifiche Pub/Sub per la fatturazione vengono inviate circa una volta ogni 20 minuti, indipendentemente dal fatto che l'utilizzo della fatturazione sia cambiato o meno, e sono stateless (nel senso che non forniscono alcun contesto su ciò che le ha precedute). Se desideri tenere traccia di aumenti insoliti della spesa nel tempo o confrontare la tua spesa con il ciclo precedente, dovrai gestire tu stesso quei dati storici utilizzando un database come Cloud Firestore o Realtime Database.

Utilizzo di argomenti Pub/Sub con Cloud Functions

È possibile impostare un / argomento Sub Pub per i dati di fatturazione visitando il bilancio associato con il progetto Firebase nel Cloud Console di Google (sotto Fatturazione> bilanci e avvisi), quindi fare clic sulla casella di controllo per Connect un argomento Pub / Sub questo bilancio . Questo creerà un argomento Pub/Sub che puoi ascoltare in seguito. Per la procedura dettagliata, fare riferimento alla documentazione completa .

Dopo aver creato il tuo argomento di fatturazione Pub/Sub, puoi scrivere una funzione cloud per ascoltare questo argomento e agire di conseguenza sui dati. I dati vengono inviati come dati JSON e includono informazioni utili come l'importo speso finora, l'importo del budget e la data di inizio del ciclo di fatturazione corrente.

La documentazione di Google Cloud contiene tutti i dettagli su come ricevere questi dati utilizzando una funzione cloud. Tuttavia, se si sta utilizzando funzioni cloud per Firebase per distribuire le funzioni, il processo generale è un po 'più semplice (controllare la documentazione di Firebase ). È inoltre possibile fare riferimento a questo video per una procedura dettagliata di esempio del processo.

Una volta ricevuti questi dati, ci sono diversi modi in cui puoi rispondere ad essi. Ecco alcune opzioni: