Cloud Storage verwenden

Wenn Ihre Go 1.11-Anwendung während der Laufzeit Dateien lesen und schreiben oder Dateien für Filme, Bilder oder andere statische Inhalte bereitstellen muss, empfehlen wir die Verwendung eines Cloud Storage-Buckets.

App Engine erstellt einen Standard-Bucket, wenn Sie eine Anwendung erstellen. Dieser Bucket bietet die ersten 5 GB Speicherplatz kostenlos und 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. Deklarieren Sie in Ihrer Anwendung Cloud Storage mit dem go get cloud.google.com/go/storage-Befehl als Abhängigkeit. Alternativ können Sie Abhängigkeiten in der go.mod-Datei Ihrer Anwendung angeben. Weitere Informationen finden Sie unter Abhängigkeiten angeben.

  3. 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 diesen Bucket nicht nutzen.

Bucket- und Objektberechtigungen festlegen

Das mit Ihrer Anwendung verknüpfte Dienstkonto benötigt Berechtigungen zum Lesen und Schreiben in die Buckets in Ihrem Projekt. Informationen zu den erforderlichen Berechtigungen finden Sie unter IAM-Rollen für Cloud Storage.

In der Regel ist das mit Ihrer Anwendung verknüpfte Dienstkonto das App Engine-Standarddienstkonto.

Abhängig von der Konfiguration Ihrer Organisationsrichtlinie kann dem Standarddienstkonto für Ihr Projekt automatisch die Rolle "Bearbeiter" zugewiesen werden. Wir empfehlen dringend, die automatische Rollenzuweisung zu deaktivieren, indem Sie die Einschränkung der Organisationsrichtlinien iam.automaticIamGrantsForDefaultServiceAccounts erzwingen. Wenn Sie Ihre Organisation nach dem 3. Mai 2024 erstellt haben, wird diese Einschränkung standardmäßig erzwungen.

Wenn Sie die automatische Rollenzuweisung deaktivieren, müssen Sie entscheiden, welche Rollen den Standarddienstkonten zugeteilt werden sollen, und diese Rollen dann selbst zuweisen.

Wenn das Standarddienstkonto bereits die Rolle "Bearbeiter" hat, sollten Sie die Rolle "Bearbeiter" durch weniger strikte Rollen ersetzen. Verwenden Sie zum sicheren Ändern der Rollen des Dienstkontos Policy Simulator, um die Auswirkungen der Änderung zu sehen, und weisen Sie die entsprechenden Rollen zu und widerrufen Sie sie.

Informationen dazu, wie Sie anderen Nutzern, Anwendungen oder Projekten Zugriff auf einen Bucket und dessen Inhalte gewähren, finden Sie unter Bucket-Berechtigungen festlegen und Objektberechtigungen 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.