Diese Anleitung richtet sich an Personen, die noch keine Erfahrung mit der Entwicklung von Anwendungen in der Cloud haben, z. B. App-Entwickler und Webentwickler, die wichtige Konzepte der Anwendungsentwicklung im Zusammenhang mit Google Cloudkennenlernen möchten.
Ziele
- Grundlegende Google Cloud -Tools wie die Google Cloud Console und
gcloudkennenlernen - Anwendungen in Cloud Run bereitstellen
- Daten mit Firestore dauerhaft speichern
- Datei-Uploads in Cloud Storage speichern
- Überwachen Sie Ihre Anwendung mit Google Cloud Observability.
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 Kostenlosen Stufe von Google Cloudbleibt.
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
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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 Google Cloud Console die Seite Firestore-Datenbank erstellen auf.
- Klicken Sie im Bildschirm Firestore-Modus auswählen auf Nativen Modus auswählen.
- Wählen Sie einen Standort für Ihre Firestore-Datenbank aus. Diese Standorteinstellung ist der Standardspeicherort für Ressourcen von Google Cloud für Ihr Google Cloud -Projekt. Dieser Standort wird für Google Cloud -Dienste in Ihrem Google Cloud -Projekt verwendet, die eine Standorteinstellung erfordern, insbesondere für Ihren Standard-Cloud Storage-Bucket und Ihre Cloud Run-Anwendung.
- Klicken Sie auf Datenbank erstellen.
-
Rufen Sie in der Google Cloud Console die Seite Firestore-Datenbank erstellen auf.
-
Aktivieren Sie die Cloud Run Admin, Cloud Storage, Cloud Logging und Error Reporting APIs, falls sie noch nicht aktiviert sind.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen -
Klonen Sie das Beispiel-Repository und öffnen Sie die Beispielanwendung in Cloud Shell:
Cloud Shell aufrufenDie Cloud Shell bietet Befehlszeilenzugriff auf Ihre Google Cloud -Ressourcen direkt über den Browser.
- Klicken Sie bei der Aufforderung zum Klonen des Repositorys auf Bestätigen.
-
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 Projekt-ID von Google Cloud , die Sie mit der Google Cloud Console erstellt haben.
Die Google Cloud CLI ist die primäre Möglichkeit, über die Befehlszeile mit Ihren Google Cloud -Ressourcen zu interagieren. In dieser Anleitung verwenden Sie das
gcloud-Tool zum Bereitstellen und Überwachen der Anwendung.
App ausführen
- Installieren Sie die Abhängigkeiten Ihrer Anwendung mit
composer:composer install -
Führen Sie den in PHP integrierten Webserver aus:
GOOGLE_CLOUD_PROJECT=PROJECT_ID php -S localhost:8080Ersetzen Sie PROJECT_ID durch die von Ihnen erstellte Projekt-ID in Google Cloud .
- 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 Cloud Run bereitstellen
Google Cloud bietet mehrere Optionen zum Ausführen Ihres Codes. In diesem Beispiel stellen Sie Ihre skalierbare Anwendung in Cloud Run bereit. Bei Cloud Run müssen Sie keine Server verwalten und automatisch skalieren, um Trafficspitzen zu unterstützen.
- Container in Cloud Run bereitstellen:
gcloud run deploy bookshelf --region us-central1 --allow-unauthenticated \ --set-env-vars="GOOGLE_CLOUD_PROJECT=
PROJECT_ID" --source .Ihre Anwendung ist jetzt unter der URL sichtbar, die in der Ausgabe von
gcloud runangezeigt wird:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving 100 percent of traffic. Service URL: https://bookshelf-swsmmh5s5a-uc.a.run.app
-
Kopieren Sie die URL in Ihren Webbrowser, um die Anwendung anzuzeigen.
Weitere Informationen zur Bereitstellung in Cloud Run finden Sie in der Dokumentation zu Cloud Run.
Daten mit Firestore persistent speichern
Sie können keine Informationen auf Ihren Cloud Run-Instanzen speichern, da sie beim Neustart der Instanz verloren gehen und beim Erstellen neuer Instanzen nicht vorhanden sind. Stattdessen verwenden Sie eine Datenbank, aus der Ihre Instanzen lesen bzw. in die sie schreiben.
Google Cloud bietet verschiedene Optionen zum Speichern Ihrer 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.
-
Zum Erstellen eines Buchs für die bereitgestellte Anwendung klicken Sie auf Add book (Buch hinzufügen).
- Geben Sie im Feld Titel
Moby Dickein. - Geben Sie im Feld Autor
Herman Melvilleein. -
Klicken Sie auf Speichern. Die Bookshelf-Anwendung enthält jetzt einen Eintrag.
-
Klicken Sie in der Google Cloud Console auf Aktualisieren refresh, um die Firestore-Seite zu aktualisieren.
Die Daten sind in Firestore zu sehen. Die Bookshelf-Anwendung speichert jedes Buch als Firestore-Dokument mit einer eindeutigen ID. Alle 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.
Dateiuploads 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 Cloud Storage verwenden, um App-Assets zu hosten, die Sie in Google Cloudfreigeben möchten. Wenn Sie Cloud Storage verwenden möchten, müssen Sie einen Cloud Storage-Bucket erstellen. Dies ist ein einfacher Container für Ihre Daten.
- Wechseln Sie in der Google Cloud Console zur Seite Cloud Storage-Browser.
- Klicken Sie auf Bucket erstellen.
- Geben Sie im Dialogfeld Bucket erstellen einen Namen für den Bucket ein. Hängen Sie dazu Ihre Projekt-ID Google Cloud an den String
_bucketan, sodass der Name wieYOUR_PROJECT_ID_bucketaussieht. Dieser 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 mithilfe der Cloud Storage-Clientbibliothek an Cloud Storage.
Weitere Informationen zur Verwendung von Cloud Storage finden Sie in der Einführung in Cloud Storage.
Anwendung mit Google Cloud Observability ü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
-
Rufen Sie in der Google Cloudden Log-Explorer auf.
Zum Log-ExplorerHier können Sie die Anwendung in Echtzeit überwachen. Bei Problemen mit Ihrer Anwendung ist dies einer der ersten Anlaufpunkte.
- Wählen Sie in der Drop-down-Liste Ressource die Option Überarbeitung in Cloud Run, Bookshelf aus.
Fehler mithilfe von Error Reporting überwachen
-
Rufen Sie in der Google Cloud Console die Seite Error Reporting auf.
Zur Seite „Error Reporting“
Error Reporting hebt Fehler und Ausnahmen in Ihrer Anwendung hervor und ermöglicht es Ihnen, Benachrichtigungen dafür einzurichten. - Rufen Sie im Browser die URL
/errorsin der Anwendung auf.YOUR_CLOUD_RUN_URL/errors
Dadurch wird eine neue Testausnahme generiert und an Google Cloud Observability gesendet.
-
Kehren Sie in der Google Cloud Console zur Seite Error Reporting zurück. Nach kurzer Zeit wird der neue Fehler angezeigt. Klicken Sie auf Automatisch aktualisieren, 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
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.