Backup automatici

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

Configurazione

Per iniziare, visita la scheda Backup nella sezione Database della console Firebase e la procedura guidata ti guiderà nella configurazione dei backup automatici.

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

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

Una volta configurato, verrà creato un nuovo bucket Cloud Storage con l'autorizzazione WRITER per Firebase. Non devi archiviare in questo bucket dati a cui non vuoi che Firebase abbia accesso. Firebase non avrà accesso aggiuntivo ad altri bucket Cloud Storage o ad altre aree di Google Cloud.

Ripristino dai backup

Per ripristinare Firebase da un backup, scarica prima il file da Cloud Storage sul disco locale. Puoi farlo facendo clic sul nome del file nella sezione dell'attività di backup o dall'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.

Per prima cosa, recupera un secret da Firebase, che puoi ottenere visitando la pagina delle impostazioni del database.

Poi 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 carico uniforme e la massima disponibilità per tutti i clienti che utilizzano il 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 verranno contrassegnati con 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 specifica utilizzando la ricerca con il 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 a seconda delle caratteristiche dei dati del database, ma i database tipici possono ridursi 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 della riga di comando utilizzando il file binario gunzip 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 interruttore di configurazione facile da usare che attiva una norma predefinita del ciclo di vita degli oggetti di 30 giorni per il bucket Cloud Storage. Se attivata, i file nel bucket verranno eliminati automaticamente dopo 30 giorni. In questo modo, puoi ridurre i backup precedenti indesiderati, risparmiando sui costi di archiviazione e mantenendo pulita la directory del bucket. Se inserisci altri file nel bucket dei backup automatici, verranno eliminati anche questi in base alla stessa norma.

Costi

La funzionalità di backup può essere attivata per i progetti con il piano Blaze senza costi aggiuntivi. Tuttavia, ti verranno addebitati i costi alle tariffe standard per i file di backup inseriti 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.