Cloud Storage verwenden

Wenn Ihre Anwendung während der Laufzeit Dateien lesen und schreiben oder Dateien wie Filme, Bilder oder andere statische Inhalte bereitstellen soll, empfehlen wir die Verwendung eines Cloud Storage-Buckets.

Wenn Sie eine Anwendung erstellen, legt App Engine einen Standard-Bucket an. Dieser Bucket bietet die ersten 5 GB Speicherplatz kostenlos sowie ein kostenloses Kontingent für Cloud Storage-E/A-Vorgänge. Sie können auch weitere Cloud Storage-Buckets erstellen. Allerdings sind nur beim Standard-Bucket die ersten 5 GB Speicherplatz kostenlos.

Cloud Storage mit App Engine verwenden

So verwenden Sie einen Cloud Storage-Bucket aus einer App Engine-Anwendung:

  1. Rufen Sie die Namen der vorhandenen Buckets in Ihrem App Engine-Projekt auf. Sie geben diese Namen beim Hochladen und Herunterladen von Daten in Cloud Storage an.

    Statt einer Hartcodierung der Namen Ihrer Cloud Storage-Buckets in der Anwendung empfehlen wir, die Namen in den Umgebungsvariablen Ihrer Anwendung zu speichern.

  2. So deklarieren Sie Cloud Storage in Ihrer Anwendung als Abhängigkeit:

    Einfach loslegen (Go)

    Mit dem Befehl go get cloud.google.com/go/storage. Alternativ können Sie Abhängigkeiten in der go.mod-Datei Ihrer Anwendung angeben. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

    Verwenden Sie die Google Cloud-Clientbibliothek zum Hochladen oder Herunterladen von Daten in bzw. aus Buckets.

    Weitere Informationen zum Bereitstellen statischer Inhalte finden Sie unter Statische Dateien speichern und bereitstellen.

    Java

    Fügen Sie die Bibliothek der Abhängigkeitsdatei Ihrer Anwendung hinzu.

    Verwenden Sie die Google Cloud-Clientbibliothek zum Hochladen oder Herunterladen von Daten in bzw. aus Buckets.

    Weitere Informationen zum Bereitstellen statischer Inhalte finden Sie unter Statische Dateien speichern und bereitstellen.

    Node.js

    Fügen Sie in app.yaml Ihre Projekt-ID zum Umgebungswert GOOGLE_CLOUD_PROJECT hinzu. Legen Sie anschließend für den Umgebungswert GCLOUD_STORAGE_BUCKET den Namen des Cloud Storage-Buckets fest, den Sie zuvor erstellt haben.

    Fügen Sie der Datei package.json Ihrer Anwendung @google-cloud/storage hinzu. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

    Verwenden Sie die Google Cloud-Clientbibliothek zum Hochladen oder Herunterladen von Daten in bzw. aus Buckets.

    Weitere Informationen zum Bereitstellen statischer Inhalte finden Sie unter Statische Dateien speichern und bereitstellen.

    Anleitungen zum lokalen Ausführen und Testen finden Sie in der Datei README.md.

    PHP

    Fügen Sie google/cloud-storage der Datei composer.json Ihrer Anwendung hinzu und führen Sie composer install aus dem Verzeichnis Ihrer Anwendung aus. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

    Registrieren Sie Google\Cloud\Storage\StorageClient als Stream-Wrapper für Ihre Anwendung. Verwenden Sie dann das gs-Protokoll, um Dateien zu lesen und zu schreiben.

    Siehe das Beispiel für die Registrierung und Verwendung des Stream-Wrappers.

    Alternativ können Sie die Google Cloud-Clientbibliothek direkt verwenden.

    Python

    Fügen Sie der Datei requirements.txt Ihrer Anwendung google-cloud-storage hinzu. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

    Verwenden Sie die Google Cloud-Clientbibliothek zum Hochladen oder Herunterladen von Daten in bzw. aus Buckets.

    Weitere Informationen zum Bereitstellen statischer Inhalte finden Sie unter Statische Dateien speichern und bereitstellen.

    Ruby

    Fügen Sie google-cloud-storage zu Gemfile Ihrer Anwendung hinzu. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

    Verwenden Sie die Google Cloud-Clientbibliothek zum Hochladen oder Herunterladen von Daten in bzw. aus Buckets.

    Weitere Informationen zum Bereitstellen statischer Inhalte finden Sie unter Statische Dateien speichern und bereitstellen.

Standard-Bucket verwenden

Wenn Sie eine Anwendung erstellen, erzeugt App Engine einen Standard-Bucket, der die ersten 5 GB Speicherplatz kostenlos zur Verfügung stellt. Der Standard-Bucket enthält auch ein kostenloses Kontingent für Cloud Storage-E/A-Vorgänge. Ausführliche Informationen finden Sie unter Preise, Kontingente und Limits. Speicherressourcen, die über das Limit von 5 GB hinausgehen, werden Ihnen in Rechnung gestellt.

Der Name des Standard-Buckets hat folgendes Format:

project-id.appspot.com

Wenn App Engine neue Versionen Ihrer Anwendung bereitstellt, erstellt es auch einen Bucket für die temporäre Speicherung. Dieser Bucket mit dem Namen staging.project-id.appspot.com wird nur von App Engine verwendet. Anwendungen können mit diesem Bucket nicht interagieren.

Bucket-Berechtigungen festlegen

Das mit Ihrer Anwendung verknüpfte Standarddienstkonto hat alle erforderlichen Berechtigungen für den Lese- und Schreibzugriff auf die Buckets in Ihrem Projekt.

Zur Verwaltung dieser Berechtigungen nutzt jede App Engine-Anwendung ein Standarddienstkonto, das vollständigen Lese- und Schreibzugriff auf Cloud Storage-Buckets im selben Projekt wie die Anwendung bietet. Sie können die Berechtigungen des Standarddienstkontos ändern. Ihre Anwendung verliert dann aber möglicherweise den Zugriff, solange Sie ihr keine IAM-Rolle mit den erforderlichen Berechtigungen zuweisen.

Informationen dazu, wie Sie anderen Nutzern, Anwendungen oder Projekten Zugriff auf einen Bucket und dessen Inhalte gewähren, finden Sie unter Bucket-Berechtigungen festlegen.

Cloud Storage mit dem lokalen Entwicklungsserver verwenden

Cloud Storage wird vom lokalen Entwicklungsserver von App Engine nicht emuliert. Deshalb müssen alle Cloud Storage-Anfragen über das Internet an einen tatsächlichen Cloud Storage-Bucket gesendet werden.

Preise, Kontingente und Beschränkungen

Für Cloud Storage-Aufrufe über die Cloud Storage-Clientbibliothek fallen keine Bandbreitengebühren an. Es fallen jedoch Vorgangskosten an. Außerdem werden die Aufrufe von Ihrem URL-Abrufkontingent abgezogen, da die Bibliothek den URL-Abrufdienst nutzt, um mit Cloud Storage zu interagieren.

Beachten Sie, dass Cloud Storage ein kostenpflichtiger Dienst ist. Die Gebühren richten sich nach der Preisübersicht für Cloud Storage.