Cloud Storage for Firebase vous permet d'importer et de partager du contenu généré par l'utilisateur, tel que comme les images et les vidéos, ce qui vous permet d'intégrer du contenu rich media applications. Vos données sont stockées dans un bucket Google Cloud Storage, une solution de stockage d'objets à l'échelle d'un exaoctet offrant une haute disponibilité et une redondance globale. Cloud Storage for Firebase vous permet d'importer ces fichiers de manière sécurisée directement à partir d'appareils mobiles et de navigateurs Web, ce qui permet de gérer les réseaux instables avec en toute simplicité.
Prérequis
Si ce n'est pas déjà fait, installez le SDK JS Firebase et initialisez Firebase.
Créer un bucket Cloud Storage par défaut
Dans le volet de navigation de la console Firebase, sélectionnez Stockage. puis cliquez sur Commencer.
Consultez les messages concernant la sécurisation de vos données Cloud Storage à l'aide de règles de sécurité. Pendant le développement, tenez compte Configurer vos règles d'accès public
Sélectionnez un emplacement pour l'emplacement par défaut. Cloud Storage.
Ce paramètre d'emplacement correspond à l'emplacement par défaut des ressources Google Cloud Platform (GCP) pour le projet. Notez que cet emplacement sera utilisé pour les services GCP dans votre projet. qui requièrent un paramètre de localisation : la base de données Cloud Firestore et votre Application App Engine (obligatoire si vous utilisez Cloud Scheduler).
Si vous ne parvenez pas à sélectionner un emplacement, c'est que votre projet dispose déjà d'un emplacement par défaut des ressources GCP. Il a été défini lors de la création du projet ou lors de la configuration d'un autre service nécessitant un paramètre d'emplacement.
Si vous utilisez le forfait Blaze, vous pouvez créer plusieurs buckets, chacun avec sa propre zone.
Cliquez sur OK.
Configurer l'accès public
Cloud Storage for Firebase fournit un langage de règles déclaratives qui vous permet pour définir la façon dont vos données doivent être structurées, comment elles doivent être indexées et à quel moment vos données peuvent être lues et écrites. Par défaut, l'accès en lecture et en écriture à Cloud Storage est limité de sorte que seuls les utilisateurs authentifiés peuvent lire ou écrire des données données. Pour commencer sans configurer Authentication, vous pouvez : configurez vos règles d'accès public.
Cela rend Cloud Storage ouvert à tous, même aux personnes qui n'utilisent pas votre N'oubliez donc pas de restreindre de nouveau votre Cloud Storage lors de la configuration l'authentification unique.
Ajouter l'URL de votre bucket à votre application
Si elle n'est pas déjà incluse, vous devez ajouter l'URL de votre bucket Cloud Storage à l'objet de configuration de votre application Firebase.
Accédez au tableau de bord Stockage dans la console Firebase.
Cliquez sur l'onglet Fichiers, puis regardez dans l'en-tête de la visionneuse de fichiers.
Copiez l'URL dans le presse-papiers. Elle se présente généralement sous la forme
project-id.appspot.com
Dans votre application, ajoutez l'attribut
storageBucket
à votre objetfirebaseConfig
avec l'URL de votre bucket :
Web
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
Vous pouvez maintenant utiliser Cloud Storage !
Étape suivante ? Découvrez comment créer un Cloud Storage référence.
Configuration avancée
Certains cas d'utilisation nécessitent une configuration supplémentaire:
- Utilisation de Cloud Storage buckets dans plusieurs zones géographiques
- Utilisation de Cloud Storage buckets dans différentes classes de stockage
- Utiliser des buckets Cloud Storage avec plusieurs utilisateurs authentifiés dans la même application
Le premier cas d'utilisation est idéal si vous avez des utilisateurs dans le monde entier pour stocker leurs données à proximité. Par exemple, vous pouvez créer des buckets aux États-Unis, l'Europe et l'Asie pour stocker les données des utilisateurs dans ces régions afin de réduire la latence.
Le deuxième cas d'utilisation est utile si vos données présentent différents modèles d'accès. Par exemple, vous pouvez configurer un bucket multirégional ou régional qui stocke des images ou d'autres contenus fréquemment consultés, ainsi qu'un bucket Nearline ou Coldline qui stocke les sauvegardes des utilisateurs ou d'autres contenus rarement consultés.
Dans les deux cas, vous devez utiliser plusieurs buckets Cloud Storage.
Le troisième cas d'utilisation est utile si vous développez une application, comme Google Drive, permet aux utilisateurs de disposer de plusieurs comptes connectés (par exemple, un compte personnel) et un compte professionnel). Vous pouvez utiliser une application Firebase personnalisée. pour authentifier chaque compte supplémentaire.
Utiliser plusieurs buckets Cloud Storage
Si vous souhaitez utiliser un bucket Cloud Storage autre que celui par défaut fourni ci-dessus,
ou utiliser plusieurs buckets Cloud Storage dans une même application, vous pouvez créer une instance
de firebase.storage
qui fait référence à votre bucket personnalisé:
Web
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
Utiliser des buckets importés
Lorsque vous importez un bucket Cloud Storage existant dans Firebase, vous devez :
devez autoriser Firebase à accéder à ces fichiers à l'aide du
gsutil
, inclus dans le
SDK Google Cloud:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Vous trouverez votre numéro de projet comme décrit dans la section Présentation Projets Firebase.
Cela n'a aucune incidence sur les nouveaux buckets, car leur contrôle d'accès par défaut est défini pour autoriser Firebase. Il s'agit d'une mesure temporaire qui sera effectuée automatiquement à l'avenir.
Utiliser une application Firebase personnalisée
Si vous créez une application plus complexe à l'aide d'un firebase.app.App
personnalisé, vous
Vous pouvez créer une instance de firebase.storage.Storage
initialisée avec cette application:
Web
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
Étapes suivantes
Préparez le lancement de votre application :
Activez App Check pour vous assurer que seuls vos applications peuvent accéder à vos buckets de stockage.
Définir un budget des alertes pour votre projet dans la console Google Cloud.
Surveillez l'utilisation et la facturation. tableau de bord dans la console Firebase pour obtenir une vue d'ensemble de l'état dans plusieurs services Firebase. Vous pouvez également consulter la page Cloud Storage Utilisation tableau de bord pour en savoir plus des informations détaillées sur son utilisation.
Consultez la checklist avant le lancement de Firebase.