Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte wie Bilder und Videos hochladen und freigeben und so Rich Media-Inhalte in Ihre Anwendungen einbinden. 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 hochladen und problemlos mit schwankender Netzwerkqualität umgehen.
Hinweis
Sehen Sie sich den Einstiegsleitfaden für Flutter-Apps an, falls Sie das noch nicht getan haben. Dazu zählen:
Firebase-Projekt erstellen
Firebase SDKs für Flutter installieren und initialisieren
Ihr Firebase-Projekt muss den Blaze-Tarif (Pay-as-you-go) verwenden. Wenn Sie Firebase und Google Cloud noch nicht verwenden, prüfen Sie, ob Sie Anspruch auf ein Guthaben in Höhe von 300$ haben.
Cloud Storage-Standard-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole die Option Speicher aus.
Wenn für Ihr Projekt noch nicht das „Pay as you go“-Preismodell „Blaze“ gilt, werden Sie aufgefordert, ein Upgrade Ihres Projekts durchzuführen.
Klicken Sie auf Jetzt starten.
Wählen Sie einen Standort für den Standard-Bucket aus.
Buckets in
,US-CENTRAL1
undUS-EAST1
können die Stufe „Immer kostenlos“ für Google Cloud Storage nutzen. Für alle anderen Standorte gelten die Google Cloud StoragePreise und Nutzungsbedingungen.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. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff festlegen.
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 definieren können, wie Ihre Daten strukturiert, wie sie indexiert werden sollen und wann Ihre Daten 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 ohne Einrichtung der Firebase Authentication loslegen möchten, können Sie Ihre 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 SDK zur 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_storage
Erstellen Sie anschließend Ihre Flutter-Anwendung neu:
flutter run
Importieren Sie das Plug-in in Ihren Dart-Code:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage einrichten
Führen Sie
flutterfire configure
aus dem Flutter-Projektverzeichnis 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 hat.Sie können auf Ihren Cloud Storage-Bucket zugreifen, indem Sie eine Instanz von
FirebaseStorage
erstellen: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? 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
- Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben App verwenden
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 oben genannten Standard verwenden 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 über das Tool gsutil
, das im Google Cloud SDK enthalten ist, die Berechtigung zum Zugriff auf diese Dateien erteilen:
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 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 komplexere App mit einer benutzerdefinierten FirebaseApp
erstellen, 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
- So bereiten Sie die Einführung Ihrer App vor:
- Aktivieren Sie App Check, damit nur Ihre Apps auf Ihre Speichergruppen zugreifen können.
- Richten Sie in der Google Cloud Console Budgetbenachrichtigungen für Ihr Projekt ein.
- Überwachen Sie das Dashboard Nutzung und Abrechnung in der Firebase Console, um sich einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten zu verschaffen. Im Dashboard Cloud Storage-Nutzung finden Sie detaillierte Informationen zur Nutzung.
- Checkliste für die Firebase-Einführung