Erste Schritte mit Cloud Storage für C++

Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte hochladen und freigeben, z. B. als Bilder und Videos. So können Sie Rich Media-Inhalte in Ihr Apps. 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 direkt von Mobilgeräten und Webbrowsern aus sicher hochladen und problemlos mit schwankenden Verbindungen umgehen.

Hinweis

Vor der Verwendung Cloud Storage, sind folgende Schritte erforderlich:

  • Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    Wenn Ihr C++-Projekt bereits Firebase verwendet, ist es bereits registriert und die für Firebase konfiguriert sind.

  • Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt sowohl Aufgaben im Firebase-Konsole und in Ihrem offenen C++-Projekt, z. B. wenn Sie Firebase-Konfigurationsdateien aus der Console und verschieben Sie sie dann in Ihr C++-Projekt.

Cloud Storage-Standard-Bucket erstellen

  1. Wählen Sie im Navigationsbereich der Firebase-Konsole Speicher aus. Klicken Sie dann auf Jetzt starten.

  2. Lesen Sie die Mitteilungen zum Schutz Ihrer Cloud Storage-Daten mithilfe der Sicherheitsfunktionen Regeln. Berücksichtigen Sie bei der Entwicklung Festlegen der Regeln für den öffentlichen Zugriff

  3. 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.

  4. 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 Lese- und Schreibzugriff auf Cloud Storage ist eingeschränkt, sodass nur authentifizierte Nutzer Lese- oder Schreibrechte haben Daten. 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.

firebase::App erstellen und initialisieren

Bevor Sie auf Cloud Storage zugreifen können, müssen Sie die firebase::App erstellen und initialisieren.

Fügen Sie die Headerdatei für firebase::App hinzu:

#include "firebase/app.h"

Android

Erstellen Sie die firebase::App und übergeben Sie die JNI-Umgebung und eine jobject Verweis auf die Java-Aktivität als Argumente:

app = App::Create(AppOptions(), jni_env, activity);

iOS+

Erstellen Sie firebase::App:

app = App::Create(AppOptions());

Auf die Klasse firebase::storage::Storage zugreifen

Die firebase::storage::Storage ist der Einstiegspunkt für das Cloud Storage C++ SDK.

Storage* storage = Storage::GetInstance(app);

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. Sie können beispielsweise einen multiregionalen oder regionalen Bucket einrichten, in dem Bilder oder andere Inhalte, auf die häufig zugegriffen wird, sowie ein Nearline- oder Coldline-Bucket zur Speicherung von Nutzersicherungen oder anderen Inhalten, auf die selten zugegriffen wird.

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 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 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 firebase::storage::Storage, die auf Ihren benutzerdefinierten Bucket verweisen:

// Get a non-default Cloud Storage bucket
Storage* storage = Storage::GetInstance("gs://my-custom-bucket");

Mit importierten Buckets arbeiten

Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, Firebase den Zugriff auf diese Dateien über die gsutil-Tool, das im Google Cloud SDK:

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 firebase::App entwickelst, kann eine firebase::storage::Storage-Instanz erstellen, die damit initialisiert wird. App:

// Get the default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp);

// Get a non-default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");

Nächste Schritte