Mit Cloud Storage für Firebase können Sie benutzergenerierte Inhalte wie Bilder und Videos hochladen und teilen, wodurch Sie Rich-Media-Inhalte in Ihre Apps integrieren können. Ihre Daten werden in einem Google Cloud Storage- Bucket gespeichert – einer Objektspeicherlösung im Exabyte-Bereich mit hoher Verfügbarkeit und globaler Redundanz. Mit Cloud Storage für Firebase können Sie diese Dateien sicher direkt von Mobilgeräten und Webbrowsern hochladen und so problemlos mit unregelmäßigen Netzwerken umgehen.
Voraussetzungen
Falls noch nicht geschehen, installieren Sie das Firebase JS SDK und initialisieren Sie Firebase .
Erstellen Sie einen Standard-Cloud Storage-Bucket
Wählen Sie im Navigationsbereich der Firebase-Konsole „Speicher“ aus und klicken Sie dann auf „Erste Schritte“ .
Lesen Sie die Nachrichten zur Sicherung Ihrer Cloud-Speicherdaten mithilfe von Sicherheitsregeln. Erwägen Sie während der Entwicklung die Einrichtung Ihrer Regeln für den öffentlichen Zugriff .
Wählen Sie einen Speicherort für Ihren Standard-Cloud-Storage-Bucket aus.
Diese Standorteinstellung ist der standardmäßige Google Cloud Platform (GCP)-Ressourcenstandort Ihres Projekts. Beachten Sie, dass dieser Standort für GCP-Dienste in Ihrem Projekt verwendet wird, die eine Standorteinstellung erfordern, insbesondere Ihre Cloud Firestore- Datenbank und Ihre App Engine -App (die erforderlich ist, wenn Sie Cloud Scheduler verwenden).
Wenn Sie keinen Standort auswählen können, verfügt Ihr Projekt bereits über einen standardmäßigen GCP-Ressourcenstandort. Es wurde entweder während der Projekterstellung oder beim Einrichten eines anderen Dienstes festgelegt, der eine Standorteinstellung erfordert.
Wenn Sie den Blaze-Plan nutzen, können Sie mehrere Buckets erstellen , jeder mit seinem eigenen Standort .
Klicken Sie auf Fertig .
Öffentlichen Zugang einrichten
Cloud Storage für Firebase bietet eine deklarative Regelsprache, mit der Sie definieren können, wie Ihre Daten strukturiert sein sollen, wie sie indiziert werden sollen und wann Ihre Daten gelesen und geschrieben werden können. Standardmäßig ist der Lese- und Schreibzugriff auf Cloud Storage eingeschränkt, sodass nur authentifizierte Benutzer Daten lesen oder schreiben können. Um loszulegen, ohne die Authentifizierung einzurichten, können Sie Ihre Regeln für den öffentlichen Zugriff konfigurieren .
Dadurch wird der Cloud-Speicher für jedermann zugänglich, auch für Personen, die Ihre App nicht nutzen. Schränken Sie Ihren Cloud-Speicher daher unbedingt wieder ein, wenn Sie die Authentifizierung einrichten.
Fügen Sie Ihrer App Ihre Bucket-URL hinzu
Wenn es noch nicht enthalten ist, müssen Sie die URL Ihres Cloud Storage-Buckets zum Konfigurationsobjekt Ihrer Firebase-App hinzufügen.
Gehen Sie in der Firebase-Konsole zu Ihrem Storage-Dashboard.
Klicken Sie auf die Registerkarte „Dateien“ und schauen Sie dann in der Kopfzeile des Datei-Viewers nach.
Kopieren Sie die URL in Ihre Zwischenablage. Normalerweise hat es die Form
project-id .appspot.com
.Fügen Sie Ihrem
firebaseConfig
Objekt in Ihrer App dasstorageBucket
Attribut mit Ihrer Bucket-URL hinzu:
Modulare Web-API
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-Namespace-API
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();
Sie können jetzt mit der Nutzung von Cloud Storage beginnen!
Nächster Schritt? Erfahren Sie, wie Sie eine Cloud Storage-Referenz erstellen .
Erweiterte Einrichtung
Es gibt einige Anwendungsfälle, die eine zusätzliche Einrichtung erfordern:
- Verwendung von Cloud Storage-Buckets in mehreren geografischen Regionen
- Verwendung von Cloud Storage-Buckets in verschiedenen Speicherklassen
- Verwenden von Cloud Storage-Buckets mit mehreren authentifizierten Benutzern in derselben App
Der erste Anwendungsfall ist perfekt, wenn Sie Benutzer auf der ganzen Welt haben und ihre Daten in deren Nähe speichern möchten. Sie können beispielsweise Buckets in den USA, Europa und Asien erstellen, um Daten für Benutzer in diesen Regionen zu speichern und so die Latenz zu reduzieren.
Der zweite Anwendungsfall ist hilfreich, wenn Sie Daten mit unterschiedlichen Zugriffsmustern haben. Sie können beispielsweise einen multiregionalen oder regionalen Bucket einrichten, in dem Bilder oder andere häufig aufgerufene Inhalte gespeichert werden, und einen Nearline- oder Coldline-Bucket, in dem Benutzersicherungen oder andere selten aufgerufene Inhalte gespeichert werden.
In jedem dieser Anwendungsfälle möchten Sie mehrere Cloud Storage-Buckets verwenden .
Der dritte Anwendungsfall ist nützlich, wenn Sie eine App wie Google Drive erstellen, mit der Benutzer über mehrere angemeldete Konten verfügen können (z. B. ein persönliches Konto und ein Arbeitskonto). Sie können eine benutzerdefinierte Firebase-App-Instanz verwenden , um jedes zusätzliche Konto zu authentifizieren.
Verwenden Sie mehrere Cloud Storage-Buckets
Wenn Sie einen anderen Cloud Storage-Bucket als den oben angegebenen Standard verwenden oder mehrere Cloud Storage-Buckets in einer einzelnen App verwenden möchten, können Sie eine Instanz von firebase.storage
erstellen, die auf Ihren benutzerdefinierten Bucket verweist:
Web modular API
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 namespaced API
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
Arbeiten mit importierten Buckets
Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, müssen Sie Firebase die Möglichkeit gewähren, mit dem gsutil
Tool, das im Google Cloud SDK enthalten ist, auf diese Dateien zuzugreifen:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Sie finden Ihre Projektnummer wie in der Einführung zu Firebase-Projekten beschrieben.
Dies wirkt sich nicht auf neu erstellte Buckets aus, da diese über die Standardzugriffskontrolle verfügen, die Firebase zulässt. Dies ist eine vorübergehende Maßnahme und wird in Zukunft automatisch durchgeführt.
Verwenden Sie eine benutzerdefinierte Firebase-App
Wenn Sie eine kompliziertere App mit einer benutzerdefinierten firebase.app.App
erstellen, können Sie eine Instanz von firebase.storage.Storage
erstellen, die mit dieser App initialisiert wird:
Web modular API
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 namespaced API
// 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");
Nächste Schritte
Bereiten Sie den Start Ihrer App vor:
Aktivieren Sie die App-Prüfung, um sicherzustellen, dass nur Ihre Apps auf Ihre Speicher-Buckets zugreifen können.
Richten Sie Budgetbenachrichtigungen für Ihr Projekt in der Google Cloud Console ein.
Überwachen Sie das Nutzungs- und Abrechnungs- Dashboard in der Firebase-Konsole, um einen Gesamtüberblick über die Nutzung Ihres Projekts über mehrere Firebase-Dienste hinweg zu erhalten. Sie können auch das Cloud- Speichernutzungs -Dashboard besuchen, um detailliertere Nutzungsinformationen zu erhalten.
Sehen Sie sich die Checkliste für den Firebase-Start an.