Gli utenti del piano Blaze possono configurare Firebase Realtime Database per i backup automatici, una funzionalità self-service che consente i backup giornalieri dei dati e delle regole dell'applicazione di database 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 archiviare dati in questo bucket a cui non ritieni 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 dell'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 nel bucket Cloud Storage avranno 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, risparmiando sui costi di archiviazione e diminuendo 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 del ciclo di vita degli oggetti predefinito di 30 giorni per il bucket Cloud Storage. Se questa opzione è abilitata, i file nel 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.