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:
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.
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 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.
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 UmgebungswertGOOGLE_CLOUD_PROJECT
hinzu. Legen Sie anschließend für den UmgebungswertGCLOUD_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 Dateicomposer.json
Ihrer Anwendung hinzu und führen Siecomposer 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 dasgs
-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 Anwendunggoogle-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
zuGemfile
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.