Les utilisateurs du forfait Blaze peuvent configurer leur Firebase Realtime Database pour les sauvegardes automatiques. Cette fonctionnalité en libre-service permet d'effectuer des sauvegardes quotidiennes des données de votre application de base de données et de vos règles au format JSON dans un bucket Cloud Storage.
Prérequis
Pour commencer, accédez à l'onglet "Sauvegardes" de la section "Base de données" de la console Firebase. L'assistant vous guidera dans la configuration de vos sauvegardes automatiques.
Pour réduire les coûts de stockage, nous activons la compression Gzip par défaut. Vous pouvez également choisir d'activer une règle de cycle de vie de 30 jours sur votre bucket pour que les sauvegardes de plus de 30 jours soient automatiquement supprimées.
Vous pouvez consulter l'état et l'activité de sauvegarde directement dans la console Firebase, où vous pouvez également lancer une sauvegarde manuelle. Cela peut être utile pour prendre des instantanés spécifiques à des moments précis ou comme mesure de sécurité avant d'apporter des modifications au code.
Une fois la configuration effectuée, un bucket Cloud Storage est créé pour vous avec l'autorisation WRITER pour Firebase. Vous ne devez pas stocker dans ce bucket des données auxquelles vous ne souhaitez pas que Firebase ait accès. Firebase n'aura aucun accès supplémentaire à vos autres buckets Cloud Storage ni à d'autres zones de Google Cloud.
Restaurer à partir de sauvegardes
Pour restaurer votre projet Firebase à partir d'une sauvegarde, commencez par télécharger le fichier depuis Cloud Storage sur votre disque local. Pour ce faire, cliquez sur le nom du fichier dans la section "Activité de sauvegarde" ou dans l'interface du bucket Cloud Storage. Si le fichier est compressé au format Gzip, décompressez-le d'abord.
Vous pouvez importer vos données de deux manières :
Méthode 1 : Cliquez sur le bouton "Import JSON" (Importer JSON) dans la section "Data" (Données) de votre base de données, puis sélectionnez le fichier JSON des données de votre application.
Méthode 2 : Vous pouvez également envoyer une requête CURL depuis votre ligne de commande.
Commencez par récupérer un secret depuis votre Firebase. Pour ce faire, accédez à la page Paramètres de la base de données.
Saisissez ensuite les informations suivantes dans votre terminal, en remplaçant les champs DATABASE_NAME
et SECRET
par vos propres valeurs :
curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
Si vous rencontrez des difficultés pour restaurer une sauvegarde à partir d'une très grande base de données, veuillez contacter notre équipe d'assistance.
Planification
Votre sauvegarde de base de données est attribuée à une heure spécifique chaque jour, ce qui permet d'assurer une charge équilibrée et une disponibilité maximale pour tous les clients de sauvegarde. Cette sauvegarde planifiée aura lieu même si vous effectuez des sauvegardes manuelles au cours de la journée.
Nommer les fichiers
Les fichiers transférés vers votre bucket Cloud Storage seront horodatés (norme ISO 8601) et utiliseront les conventions d'attribution de noms suivantes :
- Données de la base de données :
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
- Règles concernant la base de données :
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
Si Gzip est activé, le suffixe .gz
est ajouté aux noms de fichiers. Vous pouvez facilement trouver les sauvegardes d'une date ou d'une heure spécifiques à l'aide de la recherche par préfixe Cloud Storage.
Utiliser la compression Gzip
Par défaut, nous compressons vos fichiers de sauvegarde à l'aide de la compression Gzip pour réduire les coûts de stockage et les temps de transfert. La taille du fichier compressé varie en fonction des caractéristiques des données de votre base de données, mais les bases de données classiques peuvent être réduites à un tiers de leur taille d'origine, ce qui vous permet de réduire les coûts de stockage et de diminuer le temps d'importation de vos sauvegardes.
Pour décompresser vos fichiers JSON compressés au format Gzip, exécutez une commande en ligne à l'aide du binaire gunzip
fourni par défaut pour OS-X et la plupart des distributions Linux.
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
Stockage activé pendant 30 jours
Nous proposons un paramètre de configuration facile à utiliser qui permet d'activer une règle de cycle de vie des objets par défaut de 30 jours pour votre bucket Cloud Storage. Lorsqu'elle est activée, les fichiers de votre bucket sont automatiquement supprimés au bout de 30 jours. Cela permet de réduire le nombre d'anciennes sauvegardes indésirables, ce qui vous permet de faire des économies sur les coûts de stockage et de garder le répertoire de votre bucket propre. Si vous placez d'autres fichiers dans votre bucket "Sauvegardes automatiques", ils seront également supprimés conformément à ce règlement.
Coûts
La fonctionnalité de sauvegarde peut être activée sans frais supplémentaires pour les projets associés à la formule Blaze. Toutefois, les fichiers de sauvegarde placés dans votre bucket Cloud Storage vous seront facturés aux tarifs standards. Vous pouvez activer la compression Gzip et le cycle de vie de stockage de 30 jours pour réduire vos coûts de stockage.