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 anreichern. 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 sicher direkt von Mobilgeräten und Webbrowsern hochladen und auch bei instabilen Netzwerken problemlos verwalten.
Vorbereitung
Falls noch nicht geschehen, führen Sie die Schritte in der Anleitung Erste Schritte für Flutter-Appsaus. Dazu zählen:
Ein Firebase-Projekt erstellen
Die Firebase SDKs für Flutter installieren und initialisieren
Achten Sie darauf, dass für Ihr Firebase-Projekt der Blaze-Tarif (Pay as you go) aktiviert ist. Das ist seit Oktober 2024 erforderlich (siehe unsere FAQs). Wenn Sie Firebase und Google Cloud noch nicht kennen, 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 Storage aus.
Wenn für Ihr Projekt noch nicht der Blaze-Tarif (Pay as you go) aktiviert ist, werden Sie aufgefordert, ein Upgrade für Ihr Projekt durchzuführen.
Klicken Sie auf Jetzt starten.
Wählen Sie einen Speicherort für Ihren Standard-Bucket aus.
Für Buckets in
,US-CENTRAL1 undUS-EAST1 kann der "Always Free"-Tarif für Google Cloud Storage genutzt werden. Für Buckets an allen anderen Standorten gelten Google Cloud Storage Preise und Nutzungsbedingungen.US-WEST1Sie können später auch mehrere Buckets mit jeweils eigenem Standort erstellen.
Konfigurieren Sie die Firebase Security Rules für Ihren Standard-Bucket. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff einrichten.
Klicken Sie auf Fertig.
Sie können den Bucket jetzt in der
Cloud Storage Dateien tab
der Firebase Konsole ansehen. Das Standardformat für den Bucket-Namen ist
PROJECT_ID.firebasestorage.app
Öffentlichen Zugriff einrichten
Cloud Storage for Firebase bietet eine deklarative Regelsprache, mit der Sie definieren können, wie Ihre Daten strukturiert und indexiert 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 Nutzer Daten lesen oder schreiben können. Wenn Sie ohne Einrichtung von Firebase Authentication beginnen möchten, können Sie Regeln für den öffentlichen Zugriff konfigurieren.
Dadurch wird Cloud Storage für alle geöffnet, auch für Personen, die Ihre App nicht verwenden. Sie sollten Cloud Storage daher wieder einschränken, wenn Sie die Authentifizierung einrichten.
Cloud Storage SDK zu Ihrer App hinzufügen
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Plug-in zu installieren:
flutter pub add firebase_storageErstellen Sie nach Abschluss des Vorgangs Ihre Flutter-Anwendung neu:
flutter runImportieren Sie das Plug-in in Ihren Dart-Code:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage einrichten
Führen Sie
flutterfire configureim Verzeichnis Ihres Flutter-Projekts aus. Dadurch wird die Firebase-Konfigurationsdatei (firebase_options.dart) in der Codebasis Ihrer App so aktualisiert, dass sie den Namen Ihres Standard-Cloud Storage Buckets enthält.Greifen Sie auf Ihren Cloud Storage-Bucket zu, indem Sie eine Instanz von
FirebaseStorageerstellen:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
Sie können Cloud Storage jetzt verwenden.
Nächster Schritt? Informationen zum Erstellen einer Cloud Storage-Referenz
Erweiterte Einrichtung
Für einige Anwendungsfälle ist eine zusätzliche Einrichtung erforderlich:
- Cloud Storage-Buckets in mehreren geografischen Regionen verwenden
- Cloud Storage-Buckets in verschiedenen Speicherklassen verwenden
- Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben App verwenden
Der erste Anwendungsfall ist ideal, 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 so die Latenz zu verringern.
Der zweite Anwendungsfall ist hilfreich, wenn Sie Daten mit unterschiedlichen Zugriffsmustern haben. Beispiel: Sie können 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 Nutzersicherungen oder andere selten aufgerufene Inhalte gespeichert werden.
In beiden Anwendungsfällen sollten Sie mehrere Cloud Storage-Buckets verwenden.
Der dritte Anwendungsfall ist nützlich, wenn Sie eine App wie Google Drive entwickeln, mit der Nutzer mehrere angemeldete Konten haben können (z. B. ein privates Konto und ein geschäftliches Konto). 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 oben genannten Standard-Bucket verwenden möchten,
oder mehrere Cloud Storage-Buckets in einer einzelnen App verwenden möchten, können Sie eine Instanz
von FirebaseStorage erstellen, die auf Ihren benutzerdefinierten Bucket verweist:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
Mit importierten Buckets arbeiten
Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, müssen Sie Firebase die Möglichkeit geben, mit dem
gsutil Tool auf diese Dateien zuzugreifen. Dieses Tool ist im
Google Cloud SDK enthalten:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET
Ihre Projektnummer finden Sie wie in der Einführung zu Firebase-Projekten beschrieben.
Dies hat keine Auswirkungen auf neu erstellte Buckets, da für diese standardmäßig die Zugriffs steuerung so festgelegt ist, dass Firebase Zugriff hat. Dies ist eine vorübergehende Maßnahme, die in Zukunft automatisch ausgeführt wird.
Benutzerdefinierte Firebase-App verwenden
Wenn Sie eine komplexere App mit einer benutzerdefinierten FirebaseApp entwickeln, können Sie
eine Instanz von FirebaseStorage erstellen, die mit dieser App initialisiert wird:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
Nächste Schritte
- App auf die Veröffentlichung vorbereiten:
- Aktivieren Sie App Check, um sicherzustellen, dass nur Ihre Apps auf Ihre Storage-Buckets zugreifen können.
- Richten Sie in der Google Cloud Console Budgetbenachrichtigungen für Ihr Projekt ein.
- Auf dem Dashboard Nutzung und Abrechnung in der Firebase Console erhalten Sie einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten. Weitere Informationen zur Nutzung finden Sie auch auf dem Dashboard Nutzung von Cloud Storage.
- Prüfen Sie die Firebase-Checkliste für die Veröffentlichung.