Diese Anleitung richtet sich an alle Nutzer, die sich mit dem Erstellen von Anwendungen in der Cloud vertraut machen möchten, z. B. Software- oder Webentwickler, die die grundlegenden Konzepte der Anwendungsentwicklung im Zusammenhang mit Google Cloud kennenlernen möchten.
Lernziele
- Grundlegende Google Cloud-Tools wie die Google Cloud Console und
gcloud
kennenlernen. - Anwendungen in der App Engine-Standardumgebung bereitstellen
- Daten mit Firestore dauerhaft speichern
- Datei-Uploads in Cloud Storage speichern
- Anwendungen mit der Operations-Suite von Google Cloud überwachen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Die Anleitungen in diesem Dokument wurden so gestaltet, dass Ihre Ressourcennutzung innerhalb der Limits der Stufe Immer kostenlos von Google Cloud bleibt.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Mit den folgenden Schritten können Sie eine Firebase-Datenbank im nativen Modus erstellen:
-
Rufen Sie in der Cloud Console die Seite Firestore-Betrachter auf.
Zur Firestore-Seite - Klicken Sie auf dem Bildschirm Cloud Firestore-Modus auswählen auf Nativen Modus auswählen.
- Wählen Sie einen Standort für Ihre Firestore-Datenbank aus. Mit dieser Standorteinstellung legen Sie den Standardspeicherort für Google Cloud-Ressourcen in Ihrem Cloud-Projekt fest. Er wird für Google Cloud-Dienste in Ihrem Cloud-Projekt verwendet, die eine Standorteinstellung benötigen. Dabei geht es speziell um Ihren standardmäßigen Cloud Storage-Bucket und Ihre App Engine-Anwendung.
- Klicken Sie auf Datenbank erstellen.
-
Rufen Sie in der Cloud Console die Seite Firestore-Betrachter auf.
-
Enable the App Engine Admin, Cloud Storage, Cloud Logging, and Error Reporting APIs.
-
Klonen Sie das Beispiel-Repository und öffnen Sie die Beispielanwendung in Cloud Shell:
Zu Cloud ShellCloud Shell bietet Ihnen eine Befehlszeile, mit der Sie direkt über den Browser auf Google Cloud-Ressourcen zugreifen können.
- Klicken Sie auf Weiter, um den Beispielcode herunterzuladen und ins Anwendungsverzeichnis zu wechseln.
-
Konfigurieren Sie in Cloud Shell das
gcloud
-Tool, um das neue Google Cloud-Projekt zu verwenden:# Configure gcloud for your project gcloud config set project PROJECT_ID
Ersetzen Sie PROJECT_ID durch die Google Cloud-Projekt-ID, die Sie mit der Cloud Console erstellt haben.
Die Google Cloud-Befehlszeile ist die primäre Möglichkeit, mit Ihren Google Cloud-Ressourcen über die Befehlszeile zu interagieren. In dieser Anleitung verwenden Sie das
gcloud
-Tool, um Ihre Anwendung bereitzustellen und zu beobachten.
Anwendung ausführen
-
Installieren Sie in Cloud Shell die Abhängigkeiten Ihrer Anwendung mit
pip
:pip3 install -r requirements.txt --user
-
Installieren Sie den Gunicorn-HTTP-Server:
pip3 install gunicorn --user
-
Führen Sie den Gunicorn-HTTP-Server aus:
~/.local/bin/gunicorn -b :8080 main:app
- Klicken Sie in Cloud Shell auf Webvorschau und wählen Sie dann Vorschau auf Port 8080 aus. Ein neues Fenster mit der ausgeführten Anwendung wird geöffnet.
Anwendung in App Engine bereitstellen
Google Cloud bietet mehrere Optionen zum Ausführen des Codes. In diesem Beispiel verwenden Sie App Engine zum Bereitstellen einer skalierbaren Anwendung in Google Cloud. Dank Bereitstellungen ohne Konfigurationsaufwand und ohne Serververwaltung können Sie sich mit App Engine ganz auf das Schreiben von Code konzentrieren. Außerdem skaliert App Engine automatisch und unterstützt so plötzlich auftretende Trafficspitzen.
Dieapp.yaml
-Datei ist Ihre Hauptkonfigurationsdatei zum Bereitstellen in App Engine:
-
Stellen Sie die Anwendung mithilfe der gcloud-Befehlszeile in Ihrem Terminalfenster in App Engine bereit:
# on the command-line gcloud app deploy
-
Geben Sie im Webbrowser die folgende URL ein:
https://PROJECT_ID.REGION_ID.r.appspot.com
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google Cloud-Projekt-IDREGION_ID
: Ein Code, der Ihrer Anwendung von App Engine zugewiesen wird
Weitere Informationen zum Bereitstellen in App Engine finden Sie in der Python 3-Laufzeitumgebung.
Daten mit Firestore dauerhaft speichern
Sie können keine Daten in App Engine-Instanzen speichern, da diese verloren gehen, wenn die Instanz neu gestartet wird, bzw. nicht vorhanden sind, wenn neue Instanzen erstellt werden. Stattdessen verwenden Sie eine Datenbank, aus der Ihre Instanzen lesen bzw. in die sie schreiben.
Google Cloud bietet mehrere Optionen zum Speichern von Daten. In diesem Beispiel verwenden Sie Firestore zum Speichern der Daten für jedes Buch. Firestore ist eine vollständig verwaltete, serverlose NoSQL-Dokumentendatenbank, in der Sie Daten speichern und abfragen können. Firestore skaliert automatisch, um die Anwendungsanforderungen zu erfüllen; wenn Sie die Anwendung nicht nutzen, skaliert Firestore auf null. Fügen Sie jetzt das erste Buch hinzu.
-
Geben Sie im Webbrowser die folgende URL ein:
https://PROJECT_ID.REGION_ID.r.appspot.com
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google Cloud-Projekt-IDREGION_ID
: Ein Code, der Ihrer Anwendung von App Engine zugewiesen wird
-
Zum Erstellen eines Buchs für die bereitgestellte Anwendung klicken Sie auf Add book (Buch hinzufügen).
- Geben Sie im Feld Titel
Moby Dick
ein. - Geben Sie im Feld Autor
Herman Melville
ein. -
Klicken Sie auf Speichern. Die Bookshelf-Anwendung enthält jetzt einen Eintrag.
- Klicken Sie in der Cloud Console auf Aktualisieren refresh, um die Firestore-Seite zu aktualisieren. Die Daten sind in Firestore zu sehen. In der Bookshelf-Anwendung wird jedes Buch als Firestore-Dokument mit einer eindeutigen ID gespeichert. All diese Dokumente werden in einer Firestore-Sammlung gespeichert. In dieser Anleitung wird die Sammlung „books“ genannt.
Firestore speichert die Bücher mithilfe der Firestore-Clientbibliothek. Hier ein Beispiel zum Abrufen eines Firestore-Dokuments:
Weitere Informationen zum Verwenden von Firestore finden Sie unter Daten in Firestore hinzufügen.
Datei-Uploads in Cloud Storage speichern
Nachdem Sie ein Buch hinzugefügt haben, soll nun auch noch ein Bild des Buchcovers hinzugefügt werden. Dateien können nicht in Instanzen gespeichert werden. Eine Datenbank ist auch nicht der richtige Ort für Bilddateien. Verwenden Sie stattdessen Cloud Storage.
Cloud Storage ist der primäre Blob-Speicher für Google Cloud. Sie können mit Cloud Storage Anwendungs-Assets hosten, die Sie in der Google Cloud freigeben möchten. Zur Verwendung von Cloud Storage müssen Sie einen Cloud Storage-Bucket – einen Basiscontainer für Daten – erstellen.
- Rufen Sie in der Cloud Console die Seite Cloud Storage-Browser auf.
- Klicken Sie auf Bucket erstellen.
- Geben Sie im Dialogfeld Bucket erstellen einen Namen für den Bucket ein, indem Sie die Google Cloud-Projekt-ID vor dem String
_bucket
einfügen, sodass der NameYOUR_PROJECT_ID_bucket
lautet. Der Name unterliegt den Anforderungen für Bucket-Namen. Bei allen übrigen Feldern können die Standardwerte übernommen werden. - Klicken Sie auf Erstellen.
- Nach dem Erstellen des Buckets müssen Objekte öffentlich zugänglich gemacht werden, damit Nutzer sie aufrufen können. Informationen dazu, wie Sie Objekte öffentlich zugänglich machen, finden Sie unter Daten öffentlich machen.
-
Klicken Sie auf Buch bearbeiten und wählen Sie ein Bild als Buchcover zum Hochladen aus. Sie können beispielsweise dieses urheberrechtsfreie Bild verwenden:
-
Klicken Sie auf Speichern. Sie werden zur Startseite weitergeleitet, auf der sich ein Eintrag für Ihre Bookshelf-Anwendung befindet.
Die Bookshelf-Anwendung sendet hochgeladene Dateien über die Cloud Storage-Clientbibliothek an Cloud Storage.
Weitere Informationen zur Verwendung von Cloud Storage finden Sie in der Liste der Anleitungen.
Anwendung mit der Operations-Suite von Google Cloud überwachen
Sie haben Ihre Anwendung bereitgestellt und Bücher erstellt und bearbeitet. Diese Ereignisse können Sie für Ihre Nutzer mit Application Performance Management überwachen.
Logs mit Cloud Logging überwachen
Cloud Console
-
Rufen Sie im Browser die
/logs
-URL in Ihrer Anwendung auf:https://PROJECT_ID.REGION_ID.r.appspot.com/logs
Dadurch wird ein benutzerdefinierter Eintrag an Cloud Logging gesendet. Der Eintrag hat einen Logschweregrad von
NOTICE
und enthält die Nachricht „Hey, you triggered a custom log entry. Good job!“. -
Rufen Sie die Loganzeige auf. Darin können Sie die Anwendung in Echtzeit überwachen. Wenn etwas schiefgeht, ist dies einer Ihrer ersten Anlaufpunkte.
-
Wählen Sie in der Ressourcen-Drop-down-Liste
GAE Application
(GAE-Anwendung) aus. -
Wählen Sie in der Logs-Drop-down-Liste All logs (Alle Logs) aus.
Es gibt eine Zeile für den benutzerdefinierten Logeintrag.
gcloud
-
Verwenden Sie in Ihrem Terminalfenster die Google Cloud CLI, um Ihre Anwendungslogs durch Überwachen neuer Logeinträge zu überwachen:
gcloud app logs tail
-
Rufen Sie im Browser die
/logs
-URL in Ihrer Anwendung auf:https://PROJECT_ID.REGION_ID.r.appspot.com/logs
Dadurch wird ein benutzerdefinierter Eintrag an Cloud Logging gesendet. Der Eintrag hat einen Logschweregrad von
NOTICE
und enthält die Nachricht „Hey, you triggered a custom log entry. Good job!“.In der Ausgabe des
gcloud
-Befehls wird der neue Logeintrag angezeigt:Waiting for new log entries... 2019-03-27 22:17:01 default[20190327t151430] "Hey, you triggered a custom log entry. Good job!"
Fehler mithilfe von Error Reporting überwachen
-
Rufen Sie in der Cloud Console die Seite Error Reporting auf.
Zur Seite „Error Reporting“
In Error Reporting werden Fehler und Ausnahmen in der Anwendung hervorgehoben. Sie können auch diesbezügliche Benachrichtigungen einrichten. -
Rufen Sie im Browser die
/errors
-URL in der Anwendung auf.
https://PROJECT_ID.REGION_ID.r.appspot.com/errors
Dadurch wird eine neue Testausnahme generiert und an die Operations-Suite von Google Cloud gesendet.
-
Kehren Sie in der Cloud Console zur Seite Error Reporting zurück. Kurz darauf ist der neue Fehler sichtbar. Klicken Sie auf Automatische Aktualisierung, damit Sie die Seite nicht manuell aktualisieren müssen.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.