Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte wie Bilder und Videos hochladen und teilen, um Ihre Apps mit Rich-Media-Inhalten zu ergänzen. Ihre Daten werden an einem Google Cloud Storage-Bucket: ein Objektspeicherlösung im Exabyte-Bereich mit Hochverfügbarkeit und globaler Verfügbarkeit Redundanz. Mit Cloud Storage for Firebase können Sie diese Dateien sicher hochladen von Mobilgeräten und Webbrowsern direkt übertragen. Komfort zu bieten.
Vorbereitung
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls noch nicht geschehen.
Standard-Cloud Storage-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole Speicher aus. Klicken Sie dann auf Jetzt starten.
Lesen Sie die Mitteilungen zum Schutz Ihrer Cloud Storage-Daten mithilfe der Sicherheitsfunktionen Regeln. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff festlegen.
Wählen Sie einen Standort als Standardspeicherort aus. Cloud Storage Bucket.
Diese Standorteinstellung ist der standardmäßige Ressourcenstandort der Google Cloud Platform (GCP) für Ihr Projekt. Beachten Sie, dass dieser Speicherort für GCP-Dienste in Ihrem Projekt verwendet wird die eine Standorteinstellung erfordern, Cloud Firestore-Datenbank und Ihre App Engine App (Dies ist erforderlich, wenn Sie Cloud Scheduler verwenden.)
Wenn Sie keinen Speicherort auswählen können, verfügt Ihr Projekt bereits über einen standardmäßigen Speicherort für GCP-Ressourcen. Er wurde entweder während der Erstellung des Projekts oder beim Einrichten eines anderen Dienstes festgelegt, für den eine Speicherorteinstellung erforderlich ist.
Wenn Sie den Tarif „Blaze“ nutzen, können Sie Erstellen Sie mehrere Buckets mit jeweils einem eigenen Bucket. location fest.
Klicken Sie auf Fertig.
Öffentlichen Zugriff einrichten
Cloud Storage for Firebase bietet eine deklarative Regelsprache, mit der Sie um zu definieren, wie Ihre Daten strukturiert, wie sie indexiert werden und wann aus denen 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 Authentication nicht einrichten möchten, können Sie konfigurieren Sie Ihre Regeln für den öffentlichen Zugriff.
Dadurch wird Cloud Storage für jeden zugänglich, auch für Personen, die nicht dein App, also achte bei der Einrichtung darauf, dass du deine Cloud Storage wieder einschränkst Authentifizierung.
Der App das Cloud Storage SDK hinzufügen
In der Gradle-Datei des Moduls (auf App-Ebene) (normalerweise<project>/<app-module>/build.gradle.kts
oder
<project>/<app-module>/build.gradle
)
Fügen Sie die Abhängigkeit für die Cloud Storage-Bibliothek für Android hinzu. Wir empfehlen die Verwendung des
Firebase Android BoM
um die Versionsverwaltung der Bibliothek zu steuern.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.2.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Mit dem Firebase Android BoM Ihre App verwendet immer kompatible Versionen der Firebase Android Libraries.
(Alternative) Firebase-Bibliotheksabhängigkeiten ohne BoM hinzufügen
Wenn Sie Firebase BoM nicht verwenden, müssen Sie jede Firebase-Bibliotheksversion angeben in der Abhängigkeitszeile ein.
Wenn Sie in Ihrer App mehrere Firebase-Bibliotheken verwenden, empfehlen, Bibliotheksversionen mit der BoM zu verwalten. Dadurch wird sichergestellt, dass alle Versionen kompatibel.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Cloud Storage einrichten
Der erste Schritt zum Zugriff auf Ihren Cloud Storage-Bucket besteht darin, eine Instanz von FirebaseStorage
zu erstellen:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Sie können Cloud Storage jetzt verwenden.
Sehen wir uns zunächst an, wie Sie ein Cloud Storage-Element erstellen Referenz.
Erweiterte Einrichtung
Einige Anwendungsfälle erfordern eine zusätzliche Einrichtung:
- Cloud Storage Buckets werden verwendet in mehrere Regionen
- Cloud Storage Buckets werden verwendet in verschiedenen Speicherklassen
- Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben Anwendung verwenden
Der erste Anwendungsfall ist perfekt, wenn Sie Nutzende auf der ganzen Welt haben und ihre Daten in ihrer Nähe speichern. Sie können z. B. Buckets in den USA, Europa und Asien, 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 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 erstellen, Nutzer haben mehrere angemeldete Konten, z. B. ein privates Konto. und einem Arbeitskonto). Sie können benutzerdefinierte Firebase-App verwenden Instanz, um jedes zusätzliche Konto zu authentifizieren.
Mehrere Cloud Storage-Buckets verwenden
Wenn Sie einen anderen Cloud Storage-Bucket als den oben angegebenen Standard verwenden möchten, gehen Sie so vor:
oder mehrere Cloud Storage-Buckets in einer einzigen Anwendung verwenden, können Sie eine Instanz erstellen,
von FirebaseStorage
, die auf Ihren benutzerdefinierten Bucket verweisen:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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://<your-cloud-storage-bucket>
Ihre Projektnummer finden Sie wie in der Einführung zum Firebase-Projekte
Dies wirkt sich nicht auf neu erstellte Buckets aus, da diese den Standardzugriff haben Steuerelement zum Zulassen von Firebase festgelegt. Dies ist eine vorübergehende Maßnahme, künftig automatisch durchgeführt.
Benutzerdefinierte Firebase-App verwenden
Wenn du eine kompliziertere App mit einer benutzerdefinierten FirebaseApp
entwickelst, kannst du
Erstellen Sie eine FirebaseStorage
-Instanz, die mit dieser Anwendung initialisiert wurde:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "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.
Nutzung und Abrechnung überwachen Dashboard in der Firebase-Konsole, um einen Überblick über Nutzung in mehreren Firebase-Diensten. Im Cloud Storage Dashboard zur Nutzung finden Sie detailliertere Informationen zur Nutzung.