Wird geladen…
Keine Ergebnisse gefunden.

    Testen und teilen Sie Ihr Wissen mit unserer Community.
    done
    Sie erhalten Zugriff auf über 700 praxisorientierte Labs, Skill-Logos und Kurse

    REST API mit Go und Cloud Run entwickeln

    Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
    info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
    Testen und teilen Sie Ihr Wissen mit unserer Community.
    done
    Sie erhalten Zugriff auf über 700 praxisorientierte Labs, Skill-Logos und Kurse

    GSP761

    Logo: Google Cloud-Labs zum selbstbestimmten Lernen

    Logo von Pet Theory

    Übersicht

    Den Labs des Kurses Serverless Cloud Run Development liegt das Szenario eines fiktiven Unternehmens zugrunde, in dem Sie den handelnden Personen bei der Umsetzung ihres Plans für eine serverlose Migration helfen.

    Vor zwölf Jahren gründete Lily die Tierklinikkette „Pet Theory“. Seitdem ist die Kette stark gewachsen und Lily verbringt mehr Zeit am Telefon mit Versicherungen als mit der Behandlung von Tieren. Praktisch wäre es, wenn die Versicherungen die Gesamtkosten der Behandlungen einfach online einsehen könnten.

    In vorherigen Labs dieser Reihe migrierten die Softwareberaterin Ruby und der IT-Administrator Patrick die Kundendatenbank von Pet Theory in eine serverlose Firestore-Datenbank in der Cloud und gewährten den Kunden Zugriff darauf, damit diese Termine online vereinbaren können. Da das Administrationsteam von Pet Theory aus nur einer Person besteht, wird eine serverlose Lösung benötigt, die nicht viel laufende Wartung erfordert.

    In diesem Lab helfen Sie Ruby und Patrick dabei, Versicherungen Zugang zu den Kundendaten von Pet Theory zu gewähren, ohne dabei personenidentifizierbare Informationen offenzulegen. Dafür erstellen Sie mit Cloud Run, einem serverlosen Dienst, ein sicheres REST API-Gateway (Representational State Transfer). So können die Versicherungen die Gesamtkosten der Behandlungen einsehen, ohne Zugriff auf die personenidentifizierbaren Informationen der Kunden zu haben.

    Lernziele

    Aufgaben in diesem Lab:

    • REST API mit Go entwickeln
    • Testkundendaten in Firestore importieren
    • REST API mit der Firestore-Datenbank verbinden
    • REST API in Cloud Run bereitstellen

    Vorbereitung

    Dies ist ein Lab für Fortgeschrittene. Es setzt Vertrautheit mit der Cloud Console und Cloud Shell-Umgebungen voraus. Dieses Lab ist Teil einer Reihe. Es kann hilfreich sein, die vorherigen Labs zu absolvieren, ist aber nicht unbedingt erforderlich:

    • Daten in eine serverlose Datenbank importieren
    • Serverlose Webanwendung mit Firebase und Firestore erstellen
    • Serverlose Anwendung für das Erstellen von PDF-Dateien entwickeln

    Einrichtung und Anforderungen

    Vor dem Klick auf „Start Lab“ (Lab starten)

    Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.

    In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

    Für dieses Lab benötigen Sie Folgendes:

    • Einen Standardbrowser (empfohlen wird Chrome)
    Hinweis: Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
    • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
    Hinweis: Wenn Sie über ein persönliches Google Cloud-Konto oder -Projekt verfügen, verwenden Sie es nicht für dieses Lab. So werden zusätzliche Kosten für Ihr Konto vermieden.

    Lab starten und bei der Google Cloud Console anmelden

    1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:

      • Schaltfläche Google Cloud Console öffnen
      • Restzeit
      • Temporäre Anmeldedaten für das Lab
      • Ggf. weitere Informationen für dieses Lab
    2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

      Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.

      Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

      Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
    3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

      {{{user_0.username | "Username"}}}

      Sie finden den Nutzernamen auch im Bereich Details zum Lab.

    4. Klicken Sie auf Weiter.

    5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

      {{{user_0.password | "Password"}}}

      Sie finden das Passwort auch im Bereich Details zum Lab.

    6. Klicken Sie auf Weiter.

      Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
    7. Klicken Sie sich durch die nachfolgenden Seiten:

      • Akzeptieren Sie die Nutzungsbedingungen.
      • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
      • Melden Sie sich nicht für kostenlose Testversionen an.

    Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

    Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü. Symbol für Navigationsmenü

    Cloud Shell aktivieren

    Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

    1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

    Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:

    Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}

    gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

    1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
    gcloud auth list
    1. Klicken Sie auf Autorisieren.

    Ausgabe:

    ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Um das aktive Konto festzulegen, führen Sie diesen Befehl aus: $ gcloud config set account `ACCOUNT`
    1. (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
    gcloud config list project

    Ausgabe:

    [core] project = {{{project_0.project_id | "PROJECT_ID"}}} Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.

    Lily

    Lily, Gründerin von Pet Theory

    Hallo Ruby,

    ich hab dir doch letzte Woche erzählt, wie sehr mich der Papierkrieg und die vielen Telefonate mit den Versicherern belasten. Es würde mir unglaublich helfen, wenn die Sachbearbeiter direkt auf die Daten unserer Kunden zugreifen könnten. Natürlich sicher und möglichst einfach.

    Der aktuelle Arbeitsaufwand ist einfach zu viel. Kannst du mir weiterhelfen?

    Lily

    Ruby

    Ruby, Softwareberaterin

    Hallo Lily,

    gestern beim Mittagessen mit Patrick haben wir schon einen Plan geschmiedet, wie wir Externen sicheren Zugriff auf die Datensätze von Pet Theory geben können.

    Der Plan besteht aus vier Phasen:

    1. Eine einfache REST API schreiben
    2. Kundentestdaten importieren
    3. Die REST API an die Kundendatenbank anbinden
    4. Authentifizierung zur REST API hinzufügen

    Patrick und ich wissen bereits, wie wir die Phasen 1 und 2 umsetzen, können also sofort loslegen. Bis Ende der Woche sollten wir einen funktionierenden Prototyp haben.

    Ruby

    Ihre Aufgabe besteht darin, Ruby bei der Entwicklung der REST API für Pet Theory unter die Arme zu greifen.

    Aufgabe 1: Google APIs aktivieren

    Im Rahmen dieses Labs wurden für Sie zwei APIs aktiviert:

    Name API
    Cloud Build cloudbuild.googleapis.com
    Cloud Run run.googleapis.com

    Aufgabe 2: REST API entwickeln

    1. Aktivieren Sie das Projekt:
    gcloud config set project $(gcloud projects list --format='value(PROJECT_ID)' --filter='qwiklabs-gcp')
    1. Klonen Sie das Repository „pet-theory“ und greifen Sie auf den Quellcode zu:
    git clone https://github.com/rosera/pet-theory.git && cd pet-theory/lab08
    1. Verwenden Sie Ihren bevorzugten Texteditor oder klicken Sie auf die Code-Editor-Schaltfläche in der Cloud Shell-Seitenleiste, um die Dateien go.mod und go.sum aufzurufen.

    2. Erstellen Sie die Datei main.go und fügen Sie den folgenden Inhalt ein:

    package main import ( "fmt" "log" "net/http" "os" ) func main() { port := os.Getenv("PORT") if port == "" { port = "8080" } http.HandleFunc("/v1/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "{status: 'running'}") }) log.Println("Pets REST API listening on port", port) if err := http.ListenAndServe(":"+port, nil); err != nil { log.Fatalf("Error launching Pets REST API server: %v", err) } } Hinweis: In diesem Code erstellen Sie einen Endpunkt, um zu testen, ob der Dienst wie gewünscht funktioniert. Durch Anhängen von „/v1/“ an die Dienst-URL können Sie überprüfen, ob die Anwendung wie erwartet funktioniert. Cloud Run stellt Container bereit, daher müssen Sie eine Containerdefinition angeben. An einer Datei namens „Dockerfile“ kann Cloud Run ablesen, welche Go-Version verwendet werden soll, welche Dateien in die Anwendung einbezogen werden sollen und wie der Code gestartet wird.
    1. Erstellen Sie jetzt eine Datei mit dem Namen Dockerfile und fügen Sie Folgendes hinzu:
    FROM gcr.io/distroless/base-debian12 WORKDIR /usr/src/app COPY server . CMD [ "/usr/src/app/server" ]

    Die Datei server ist das Binärprogramm für die Ausführung, das aus main.go erstellt wird.

    1. Führen Sie den folgenden Befehl aus, um das Binärprogramm zu erstellen:
    go build -o server
    1. Prüfen Sie nach dem Ausführen des Build-Befehls, ob sich das Dockerfile und der Server im selben Verzeichnis befinden:
    ls -la . ├── Dockerfile ├── go.mod ├── go.sum ├── main.go └── server

    Für die meisten Cloud Run‑ und Go-basierten Anwendungen können Sie eine Dockerfile-Vorlage wie die oben genannte ohne Änderungen einfach übernehmen.

    1. Führen Sie den folgenden Befehl aus, um die einfache REST API bereitzustellen:
    gcloud builds submit \ --tag gcr.io/$GOOGLE_CLOUD_PROJECT/rest-api:0.1

    Dieser Befehl erzeugt einen Container mit dem Code und veröffentlicht ihn in der Container Registry Ihres Projekts. Klicken Sie auf Navigationsmenü > Container Registry, um den Container aufzurufen. Wenn Ihnen rest-api nicht angezeigt wird, klicken Sie auf Aktualisieren.

    Container Registry

    Klicken Sie auf Fortschritt prüfen.

    Image mit Cloud Build erstellen
    1. Nachdem der Container erstellt wurde, können Sie ihn bereitstellen:
    gcloud run deploy rest-api \ --image gcr.io/$GOOGLE_CLOUD_PROJECT/rest-api:0.1 \ --platform managed \ --region {{{ project_0.default_region | "Filled in at lab startup." }}} \ --allow-unauthenticated \ --max-instances=2
    1. Nach der Bereitstellung ist eine Meldung wie diese zu sehen:
    Service [rest-api] revision [rest-api-00001] has been deployed and is serving traffic at https://rest-api-[hash].a.run.app

    Klicken Sie auf Fortschritt prüfen.

    REST API-Dienst bereitgestellt
    1. Klicken Sie auf die Dienst-URL am Ende der Nachricht, um sie in einem neuen Browserfenster zu öffnen. Hängen Sie /v1/ an das Ende der URL an und drücken Sie die Eingabetaste.

    Es sollte folgende Meldung angezeigt werden:

    {"status" : "running"}

    Die REST API funktioniert. Der Dienstprototyp steht. Im nächsten Abschnitt rufen Sie mit der API Daten von „Kunden“ aus einer Firestore-Datenbank ab.

    Aufgabe 3: Testkundendaten importieren

    Ruby

    Ruby, Softwareberaterin

    Hallo Patrick,

    hast du noch diese Pseudokundendaten, die wir vor einiger Zeit erstellt haben? Wir können die für unsere Tests gebrauchen.

    Und weißt du noch, wie man eine Firestore-Datenbank einrichtet und Daten importiert?

    Ruby

    Patrick

    Patrick, IT-Administrator

    Hallo Ruby,

    ja, die Testdaten habe ich noch. Ich migriere sie noch heute zu Firestore, damit du damit arbeiten kannst.

    Patrick

    Ruby und Patrick haben vor einiger Zeit eine Testdatenbank mit zehn Kunden erstellt, die einige Behandlungsvorschläge für die Katze eines Kunden enthält.

    Sie helfen Patrick dabei, die Firestore-Datenbank zu konfigurieren und die Testkundendaten zu importieren. Zuerst aktivieren Sie Firestore in Ihrem Projekt.

    1. Kehren Sie zur Cloud Console zurück und klicken Sie auf Navigationsmenü > Firestore.

    2. Klicken Sie auf Datenbank erstellen.

    3. Klicken Sie auf Nativer Modus und dann auf Fortfahren.

    4. Wählen Sie als Standorttyp die Option Region aus.

    5. Wählen Sie aus der Liste die Region aus und klicken Sie auf Datenbank erstellen.

    Warten Sie, bis die Datenbank erstellt wurde, bevor Sie fortfahren.

    Klicken Sie auf Fortschritt prüfen.

    Firestore-Datenbank erstellt
    1. Migrieren Sie die Importdateien in einen Cloud Storage-Bucket, der für Sie erstellt wurde:
    gsutil mb -c standard -l {{{ project_0.default_region | Region }}} gs://$GOOGLE_CLOUD_PROJECT-customer gsutil cp -r gs://spls/gsp645/2019-10-06T20:10:37_43617 gs://$GOOGLE_CLOUD_PROJECT-customer
    1. Importieren Sie nun diese Daten in Firebase:
    gcloud beta firestore import gs://$GOOGLE_CLOUD_PROJECT-customer/2019-10-06T20:10:37_43617/

    Aktualisieren Sie das Browserfenster mit der Cloud Console, um die Firestore-Ergebnisse zu sehen.

    1. Klicken Sie in Firestore unter „Standard“ auf Kunden. Ihnen sollten die importierten Daten der Haustiere angezeigt werden, die Sie sich näher ansehen können. Falls Sie keine Daten sehen, aktualisieren Sie die Seite.

    Sehr gut! Die Firestore-Datenbank ist nun erstellt und die Testdaten wurden eingelesen.

    Aufgabe 4: REST API mit der Firestore-Datenbank verbinden

    Ruby

    Ruby, Softwareberaterin

    Hallo Lily,

    kurzes Update: Patrick und ich haben die ersten beiden Aufgaben auf der Liste erledigt.

    Ich mache mich jetzt an die REST API und sorge dafür, dass sie auf die Kundendaten in Firestore zugreifen kann.

    Ruby

    Lily

    Lily, Gründerin von Pet Theory

    Hallo Ruby,

    tolle Arbeit! Freue mich schon darauf, die nächste Phase in Aktion zu erleben.

    Lily

    In diesem Abschnitt helfen Sie Ruby dabei, einen weiteren Endpunkt in der REST API zu erstellen, der so aussieht:

    https://rest-api-[hash].a.run.app/v1/customer/22530

    Diese URL soll beispielsweise die Gesamtkosten aller vorgeschlagenen, angenommenen und abgelehnten Behandlungen des Kunden 22530 liefern, sofern diese Informationen in der Firestore-Datenbank vorhanden sind:

    { "status": "success", "data": { "proposed": 1602, "approved": 585, "rejected": 489 } } Hinweis: Falls der Kunde nicht in der Datenbank enthalten ist, sollte der Statuscode 404 (nicht gefunden) ausgegeben und eine Fehlermeldung angezeigt werden.

    Für diese neue Funktionalität muss ein Paket auf die Firestore-Datenbank zugreifen, während ein anderes Paket das Cross-Origin Resource Sharing (CORS) übernimmt.

    1. Rufen Sie den Wert der Umgebungsvariable $GOOGLE_CLOUD_PROJECT ab:
    echo $GOOGLE_CLOUD_PROJECT
    1. Öffnen Sie die vorhandene Datei main.go im Verzeichnis „pet-theory/lab08“.
    Hinweis: Aktualisieren Sie den Inhalt von „main.go“ durch den für $GOOGLE_CLOUD_PROJECT angezeigten Wert.
    1. Ersetzen Sie den Inhalt der Datei durch den Code unten. Achten Sie dabei darauf, dass PROJECT_ID auf gesetzt ist:
    package main import ( "context" "encoding/json" "fmt" "log" "net/http" "os" "cloud.google.com/go/firestore" "github.com/gorilla/handlers" "github.com/gorilla/mux" "google.golang.org/api/iterator" ) var client *firestore.Client func main() { var err error ctx := context.Background() client, err = firestore.NewClient(ctx, "{{{ project_0.project_id | \"Filled in at lab startup\"}}}") if err != nil { log.Fatalf("Error initializing Cloud Firestore client: %v", err) } port := os.Getenv("PORT") if port == "" { port = "8080" } r := mux.NewRouter() r.HandleFunc("/v1/", rootHandler) r.HandleFunc("/v1/customer/{id}", customerHandler) log.Println("Pets REST API listening on port", port) cors := handlers.CORS( handlers.AllowedHeaders([]string{"X-Requested-With", "Authorization", "Origin"}), handlers.AllowedOrigins([]string{"https://storage.googleapis.com"}), handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "OPTIONS", "PATCH", "CONNECT"}), ) if err := http.ListenAndServe(":"+port, cors(r)); err != nil { log.Fatalf("Error launching Pets REST API server: %v", err) } }
    1. Fügen Sie die Unterstützung von Handlern unten in der Datei hinzu:
    func rootHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "{status: 'running'}") } func customerHandler(w http.ResponseWriter, r *http.Request) { id := mux.Vars(r)["id"] ctx := context.Background() customer, err := getCustomer(ctx, id) if err != nil { w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, `{"status": "fail", "data": '%s'}`, err) return } if customer == nil { w.WriteHeader(http.StatusNotFound) msg := fmt.Sprintf("`Customer \"%s\" not found`", id) fmt.Fprintf(w, fmt.Sprintf(`{"status": "fail", "data": {"title": %s}}`, msg)) return } amount, err := getAmounts(ctx, customer) if err != nil { w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, `{"status": "fail", "data": "Unable to fetch amounts: %s"}`, err) return } data, err := json.Marshal(amount) if err != nil { w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, `{"status": "fail", "data": "Unable to fetch amounts: %s"}`, err) return } fmt.Fprintf(w, fmt.Sprintf(`{"status": "success", "data": %s}`, data)) }
    1. Fügen Sie die Unterstützung von Kunden unten in der Datei hinzu:
    type Customer struct { Email string `firestore:"email"` ID string `firestore:"id"` Name string `firestore:"name"` Phone string `firestore:"phone"` } func getCustomer(ctx context.Context, id string) (*Customer, error) { query := client.Collection("customers").Where("id", "==", id) iter := query.Documents(ctx) var c Customer for { doc, err := iter.Next() if err == iterator.Done { break } if err != nil { return nil, err } err = doc.DataTo(&c) if err != nil { return nil, err } } return &c, nil } func getAmounts(ctx context.Context, c *Customer) (map[string]int64, error) { if c == nil { return map[string]int64{}, fmt.Errorf("Customer should be non-nil: %v", c) } result := map[string]int64{ "proposed": 0, "approved": 0, "rejected": 0, } query := client.Collection(fmt.Sprintf("customers/%s/treatments", c.Email)) if query == nil { return map[string]int64{}, fmt.Errorf("Query is nil: %v", c) } iter := query.Documents(ctx) for { doc, err := iter.Next() if err == iterator.Done { break } if err != nil { return nil, err } treatment := doc.Data() result[treatment["status"].(string)] += treatment["cost"].(int64) } return result, nil }
    1. Speichern Sie die Datei.

    Aufgabe 6: Quiz

    Welche Funktion reagiert auf URLs mit dem Muster „/v1/customer/“? getAmounts customerHandler Welche Anweisung gibt eine Erfolgsmeldung an den Client zurück? fmt.Fprintf(w, `{"status": "fail", "data": "Unable to fetch amounts: %s"} fmt.Fprintf(w, fmt.Sprintf(`{"status": "success", "data": %s} Welche Funktionen lesen Daten aus der Firestore-Datenbank? customerHandler und getCustomer getCustomer und getAmounts

    Aufgabe 7: Neue Version bereitstellen

    1. Erstellen Sie den Quellcode neu:
    go build -o server
    1. Erstellen Sie ein neues Image für die REST API:
    gcloud builds submit \ --tag gcr.io/$GOOGLE_CLOUD_PROJECT/rest-api:0.2

    Klicken Sie auf Fortschritt prüfen. Image-Version 0.2 erstellen

    1. Stellen Sie das aktualisierte Image bereit:
    gcloud run deploy rest-api \ --image gcr.io/$GOOGLE_CLOUD_PROJECT/rest-api:0.2 \ --platform managed \ --region {{{ project_0.default_region | "Filled in at lab startup." }}} \ --allow-unauthenticated \ --max-instances=2 4. Nach erfolgreichem Deployment wird eine ähnliche Nachricht wie zuvor angezeigt. Durch das Bereitstellen der neuen Version hat sich die URL der REST API nicht geändert: Service [rest-api] revision [rest-api-00002] has been deployed and is serving traffic at https://rest-api-[hash].a.run.app
    1. Kehren Sie zum Browsertab zurück, der bereits auf diese URL (mit /v1/ am Ende) verweist. Aktualisieren Sie die Seite. Es sollte dieselbe Meldung wie zuvor zu sehen sein, laut der die API immer noch den Status RUNNING hat.

    {status" : "running"}

    1. Hängen Sie in der Adressleiste des Browsers /customer/22530 an die Anwendungs-URL an. Sie sollten diese JSON-Antwort mit den Gesamtkosten aller vorgeschlagenen, angenommenen und abgelehnten Behandlungen des Kunden erhalten:

    {"status" : "success", "data" :{"proposed" :1602, "approved" :585, "reected" :489}}

    1. Hier sind einige weitere Kundennummern, die Sie anstelle der 22530 in der URL abfragen können:
    • 34216
    • 70156 (alle Summen sollten null sein)
    • 12345 (Kunde/Tier nicht vorhanden, Sie sollten eine Fehlermeldung wie Query is nil sehen)

    Sie haben eine skalierbare, wartungsarme, serverlose REST API erstellt, die Lesezugriff auf eine Datenbank hat.

    Das wars! Sie haben das Lab erfolgreich abgeschlossen.

    Glückwunsch! Sie haben Ruby und Patrick geholfen, den Prototyp einer REST API für Pet Theory zu entwickeln. Sie haben eine REST API mit einer Verbindung zu einer Firestore-Datenbank erstellt und in Cloud Run bereitgestellt. Außerdem haben Sie die API getestet, um sicherzugehen, dass sie wie gewünscht funktioniert.

    Google Cloud-Schulungen und -Zertifizierungen

    In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

    Anleitung zuletzt am 6. Mai 2024 aktualisiert

    Lab zuletzt am 6. Mai 2024 getestet

    © 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

    Diese Inhalte sind derzeit nicht verfügbar

    Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

    Sehr gut!

    Bei Verfügbarkeit kontaktieren wir Sie per E-Mail