Backup automatici

Gli utenti del piano Blaze possono configurare il proprio Firebase Realtime Database per i backup automatici, una funzionalità self-service che consente i backup giornalieri dei dati dell'applicazione del database e delle regole in formato JSON in un bucket Cloud Storage.

Configurazione

Per iniziare, vai alla scheda Backup nella sezione Database della console Firebase e la procedura guidata ti aiuterà a configurare i backup automatici.

Per risparmiare sui costi di archiviazione, attiviamo la compressione Gzip per impostazione predefinita e puoi scegliere di attivare un criterio di ciclo di vita di 30 giorni sul tuo bucket per eliminare automaticamente i backup più vecchi di 30 giorni.

Puoi visualizzare lo stato e le attività di backup direttamente nella Firebase console dove puoi anche avviare un backup manuale. Questa operazione può essere utile per acquisire snapshot specifici con temporizzazione o come misura di sicurezza prima di apportare modifiche al codice.

Una volta completata la configurazione, verrà creato un nuovo bucket Cloud Storage con l'autorizzazione WRITER per Firebase. Non dovresti memorizzare in questo bucket dati a cui non vuoi che Firebase abbia accesso. Firebase non avrà accesso aggiuntivo ai tuoi altri bucket Cloud Storage o ad altre aree di Google Cloud.

Ripristino dai backup

Per ripristinare Firebase da un backup, scarica prima il file daCloud Storage sul tuo disco locale. Per farlo, fai clic sul nome del file nella sezione Attività di backup o nell'interfaccia del bucket Cloud Storage. Se il file è compresso con gzip, prima decomprimilo.

Puoi importare i dati in due modi:

Metodo 1: fai clic sul pulsante Importa JSON nella sezione Dati del database e seleziona il file JSON dei dati dell'applicazione.

Metodo 2: puoi anche inviare una richiesta CURL dalla riga di comando.

Innanzitutto, recupera un segreto da Firebase, che puoi ottenere visitando la pagina Impostazioni database.

Quindi, inserisci quanto segue nel terminale, sostituendo i campi DATABASE_NAME e SECRET con i tuoi valori:

curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json

Se hai difficoltà a ripristinare un backup da un database molto grande, contatta il nostro team di assistenza.

Programmazione

Il backup del database viene assegnato a un'ora specifica ogni giorno per garantire un caricamento uniforme e la massima disponibilità per tutti i clienti di backup. Questo backup pianificato verrà eseguito indipendentemente dal fatto che tu esegua backup manuali durante il giorno.

Denominazione dei file

I file trasferiti al bucket Cloud Storage verranno contrassegnati da un timestamp (standard ISO 8601) e utilizzeranno le seguenti convenzioni di denominazione:

  • Dati del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Regole del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Se Gzip è abilitato, ai nomi dei file verrà aggiunto il suffisso .gz. Puoi trovare facilmente i backup di una data o un'ora specifiche utilizzando la ricerca con prefisso Cloud Storage.

Compressione con Gzip

Per impostazione predefinita, comprimiamo i file di backup utilizzando la compressione Gzip per risparmiare sui costi di archiviazione e ridurre i tempi di trasferimento. Le dimensioni del file compresso variano in base alle caratteristiche dei dati del database, ma i database tipici possono essere ridotti a un terzo delle dimensioni originali, consentendoti di risparmiare sui costi di archiviazione e di ridurre il tempo di caricamento dei backup.

Per decomprimere i file JSON compressi con gzip, esegui un comando a riga di comando utilizzando il file gunzip binario fornito per impostazione predefinita per OS X e la maggior parte delle distribuzioni Linux.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

Ciclo di vita di 30 giorni per Storage

Offriamo un'opzione di configurazione facile da utilizzare che attiva un criterio di ciclo di vita degli oggetti predefinito di 30 giorni per il bucket Cloud Storage. Se questa opzione è attivata, i file nel tuo bucket verranno eliminati automaticamente dopo 30 giorni. In questo modo puoi ridurre i vecchi backup indesiderati, risparmiare sui costi di archiviazione e mantenere pulita la directory del bucket. Se inserisci altri file nel bucket dei backup automatici, anche questi verranno eliminati con le stesse norme.

Costi

La funzionalità di backup può essere attivata per i progetti nel piano Blaze senza costi aggiuntivi. Tuttavia, ti verranno addebitate le tariffe standard per i file di backup memorizzati nel bucket Cloud Storage. Puoi attivare la compressione GZIP e il ciclo di vita dello spazio di archiviazione di 30 giorni per ridurre i costi di archiviazione.