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:
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.
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 dergo.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.
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 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 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.