Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte wie Bilder und Videos hochladen und teilen. So können Sie Ihre Apps mit Rich-Media-Inhalten ausstatten. Ihre Daten werden in einem Google Cloud Storage-Bucket gespeichert, einer Objektspeicherlösung im Exabyte-Maßstab mit hoher Verfügbarkeit und globaler Redundanz. Mit Cloud Storage for Firebase können Sie diese Dateien direkt von Mobilgeräten und Webbrowsern aus sicher hochladen und problemlos mit schwankenden Verbindungen umgehen.
Hinweis
Lesen Sie sich den Einstiegsleitfaden für Web-Apps durch, falls Sie das noch nicht getan haben. Dazu zählen:
Firebase-Projekt erstellen
Registrieren Sie Ihre Webanwendung beim Projekt und verbinden Sie sie mit Firebase, indem Sie Ihrer App das Firebase JS SDK und Ihr Firebase-Konfigurationsobjekt hinzufügen.
Ihr Firebase-Projekt muss den Blaze-Tarif (Pay-as-you-go) verwenden. Wenn Sie neu bei Firebase und Google Cloud sind, prüfen Sie, ob Sie Anspruch auf ein Guthaben von 300$ haben.
Standard-Cloud Storage-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole die Option Speicher aus.
Wenn für Ihr Projekt noch kein Blaze-Tarif mit Abrechnung nach Verbrauch gilt, werden Sie aufgefordert, ein Upgrade für Ihr Projekt durchzuführen.
Klicken Sie auf Jetzt starten.
Wählen Sie einen Standort für den Standard-Bucket aus.
Für Buckets in
,US-CENTRAL1
undUS-EAST1
kann der Tarif „Immer kostenlos“ für Google Cloud Storage genutzt werden. Für Buckets an allen anderen Standorten gelten die Preise und Nutzungsbedingungen für Google Cloud Storage.US-WEST1
Sie können später mehrere Buckets mit jeweils einem eigenen Standort erstellen.
Konfigurieren Sie die Firebase Security Rules für Ihren Standard-Bucket. Ziehen Sie während der Entwicklung in Betracht, Regeln für den öffentlichen Zugriff einzurichten.
Klicken Sie auf Fertig.
Sie können den Bucket jetzt auf dem Tab Cloud Storage Dateien der Firebase-Konsole aufrufen. Das Format des Standard-Bucket-Namens ist PROJECT_ID.firebasestorage.app
Öffentlichen Zugriff einrichten
Cloud Storage for Firebase bietet eine deklarative Regelsprache, mit der Sie festlegen können, wie Ihre Daten strukturiert, indexiert und wann sie gelesen und geschrieben werden können. Der Lese- und Schreibzugriff auf Cloud Storage ist standardmäßig eingeschränkt, sodass nur authentifizierte Nutzer Daten lesen oder schreiben können. Wenn Sie Authentication nicht einrichten möchten, können Sie Regeln für den öffentlichen Zugriff konfigurieren.
Dadurch ist Cloud Storage für alle Nutzer zugänglich, auch für Nutzer, die Ihre App nicht verwenden. Sie sollten Cloud Storage daher wieder einschränken, wenn Sie die Authentifizierung einrichten.
Cloud Storage JS SDK hinzufügen und Cloud Storage initialisieren
Sie müssen den Namen Ihres Cloud Storage-Buckets beim Initialisieren des JavaScript SDK angeben.
Sie finden den Namen Ihres Cloud Storage-Buckets in der Firebase-Konsole auf dem Tab Cloud Storage Dateien. Je nachdem, wann Sie Ihren Standard-Bucket erstellt haben, hat der Bucket-Name eines der folgenden Formate:
(Standard-Bucket, der am oder nachPROJECT_ID.firebasestorage.app
30. Oktober 2024 erstellt wurde) (Standard-Bucket, der vorPROJECT_ID.appspot.com
30. Oktober 2024 erstellt wurde)
Initialisieren Sie das SDK mit dem folgenden Code-Snippet:
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: 'BUCKET_NAME' }; // 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: 'BUCKET_NAME' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
Du kannst Cloud Storage jetzt verwenden.
Nächster Schritt? Weitere Informationen zum Erstellen einer Cloud Storage-Referenz
Erweiterte Einrichtung
Einige Anwendungsfälle erfordern eine zusätzliche Einrichtung:
- Cloud Storage-Buckets in mehreren geografischen Regionen verwenden
- Cloud Storage-Buckets in verschiedenen Speicherklassen verwenden
- Verwendung von Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben App
Der erste Anwendungsfall eignet sich perfekt, wenn Sie Nutzer auf der ganzen Welt haben und ihre Daten in ihrer Nähe speichern möchten. Sie können beispielsweise Buckets in den USA, Europa und Asien erstellen, um Daten für Nutzer in diesen Regionen zu speichern und die Latenz zu reduzieren.
Der zweite Anwendungsfall ist hilfreich, wenn Sie Daten mit unterschiedlichen Zugriffsmustern haben. Beispiel: Sie können einen mehrregionalen oder regionalen Bucket einrichten, in dem Bilder oder andere häufig aufgerufene Inhalte gespeichert werden, und einen Nearline- oder Coldline-Bucket, in dem Nutzersicherungen oder andere selten aufgerufene Inhalte gespeichert werden.
In beiden Fällen sollten Sie mehrere Cloud Storage-Buckets verwenden.
Der dritte Anwendungsfall ist nützlich, wenn Sie eine App wie Google Drive entwickeln, in der Nutzer mehrere angemeldete Konten haben können (z. B. ein privates Konto und ein Arbeitskonto). Sie können eine benutzerdefinierte Firebase App-Instanz verwenden, um jedes zusätzliche Konto zu authentifizieren.
Mehrere Cloud Storage-Buckets verwenden
Wenn Sie einen anderen Cloud Storage-Bucket als den zuvor in diesem Leitfaden beschriebenen Standard-Bucket oder mehrere Cloud Storage-Buckets in einer einzelnen Anwendung verwenden möchten, können Sie eine Instanz von firebase.storage
erstellen, die auf Ihren benutzerdefinierten Bucket verweist:
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");
Mit importierten Buckets arbeiten
Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, müssen Sie Firebase über das gsutil
-Tool, das im Google Cloud SDK enthalten ist, Zugriff auf diese Dateien gewähren:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Sie finden Ihre Projektnummer wie in der Einführung in Firebase-Projekte beschrieben.
Das gilt nicht für neu erstellte Buckets, da für diese standardmäßig Firebase zugelassen ist. Dies ist eine vorübergehende Maßnahme, die in Zukunft automatisch durchgeführt wird.
Benutzerdefinierte Firebase App verwenden
Wenn Sie eine kompliziertere Anwendung mit einem benutzerdefinierten firebase.app.App
erstellen, können Sie eine firebase.storage.Storage
-Instanz erstellen, die mit dieser Anwendung initialisiert wird:
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");
Nächste Schritte
Einführung Ihrer App vorbereiten:
Aktivieren Sie App Check, damit nur Ihre Anwendungen auf Ihre Storage-Buckets zugreifen können.
Richten Sie in der Google Cloud Console Budgetbenachrichtigungen für Ihr Projekt ein.
Über das Dashboard „Nutzung und Abrechnung“ in der Firebase-Konsole erhalten Sie einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten. Im Cloud Storage Dashboard zur Nutzung finden Sie detailliertere Informationen zur Nutzung.
Sehen Sie sich die Checkliste für die Einführung von Firebase an.