Erste Schritte mit Cloud Storage im Web

Cloud Storage for Firebase lets you upload and share user generated content, such as images and video, which allows you to build rich media content into your apps. Ihre Daten werden in einem Google Cloud Storage Bucket gespeichert. Das ist eine Objektspeicherlösung im Exabyte-Bereich mit Hochverfügbarkeit und globaler Redundanz. Cloud Storage for Firebase ermöglicht Ihnen das sichere Hochladen dieser Dateien direkt von Mobilgeräten und Webbrowsern, auch bei instabilen Netzwerken mit Leichtigkeit.

Hinweis

  1. Wenn Sie es noch nicht getan haben, folgen Sie der Anleitung für Web-Apps . Dazu zählen:

    • Ein Firebase-Projekt erstellen

    • Ihre Web-App im Projekt registrieren und Ihre App mit Firebase verbinden, indem Sie das Firebase JS SDK und Ihr Firebase-Konfigurationsobjekt zu Ihrer App hinzufügen

  2. Ihr Firebase-Projekt muss den Blaze-Preismodell (Pay as you go) verwenden. Das ist eine Voraussetzung, die im Oktober 2024 eingeführt wurde (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

  1. Gehen Sie in der Firebase Konsole zu Databases & Storage > Storage.

    Wenn Ihr Projekt noch nicht das Blaze-Preismodell (Pay as you go) verwendet, werden Sie aufgefordert, ein Upgrade für Ihr Projekt durchzuführen.

  2. Klicken Sie auf Jetzt starten.

  3. Wählen Sie einen Speicherort für Ihren Standard-Bucket aus.

  4. Konfigurieren Sie die Firebase Security Rules für Ihren Standard-Bucket. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff einrichten.

  5. Klicken Sie auf Fertig.

Sie können den Bucket jetzt in der Firebase Konsole ansehen. Gehen Sie dazu zum Databases & Storage > Storage > Files Tab. 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 Authentication beginnen möchten, können Sie Ihre 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 JS SDK hinzufügen und Cloud Storage initialisieren

Sie müssen Ihren Cloud Storage Bucket-Namen angeben, wenn Sie das JavaScript SDK initialisieren.

Den Namen Ihres Cloud Storage Buckets finden Sie in der Firebase Konsole. Gehen Sie dazu zum Databases & Storage > Storage > Files Tab. Je nachdem, wann Sie Ihren Standard-Bucket erstellt haben, hat der Bucket-Name eines der folgenden Formate:

  • PROJECT_ID.firebasestorage.app (Standard-Bucket, der am oder nach dem 30. Oktober 2024)
  • PROJECT_ID.appspot.com (Standard-Bucket, der vor dem 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();

Sie können Cloud Storage jetzt verwenden.

Nächster Schritt? Informationen zum Erstellen einer ReferenzCloud Storage.

Erweiterte Einrichtung

Für einige Anwendungsfälle ist eine zusätzliche Einrichtung erforderlich:

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 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 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 Cloud Storage Bucket verwenden möchten, der sich vom Standard-Bucket unterscheidet, der weiter oben in dieser Anleitung beschrieben wurde, 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

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 Zugriff auf diese Dateien mit dem gsutil Tool gewähren, das im Google Cloud SDK enthalten ist:

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

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 Zugriffssteuerung so festgelegt ist, dass Firebase Zugriff hat. Das 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 firebase.app.App erstellen, können Sie eine Instanz von firebase.storage.Storage erstellen, die mit dieser App 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