arrow_back

Cloud Functions: Qwik Start – Befehlszeile

Anmelden Teilnehmen
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Functions: Qwik Start – Befehlszeile

Lab 30 Minuten universal_currency_alt 1 Guthabenpunkt show_chart Einsteiger
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP080

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

Eine Cloud Functions-Funktion ist eine Codezeile, die als Reaktion auf ein Ereignis ausgeführt wird, wie z. B. eine HTTP-Anfrage, eine Nachricht von einem Messaging-Dienst oder ein Dateiupload. In Ihrer Cloudumgebung gibt es Cloudereignisse. Dazu zählen beispielsweise das Ändern von Daten in einer Datenbank, das Hinzufügen von Dateien zu einem Speichersystem oder das Erstellen einer neuen Instanz einer virtuellen Maschine.

Da Cloud Functions-Funktionen ereignisgesteuert sind, werden sie nur ausgeführt, wenn ein Ereignis eintritt. Das macht sie ideal für Aufgaben, die schnell erledigt werden oder nicht die ganze Zeit ausgeführt werden sollen.

Beispielsweise können Sie eine Cloud Functions-Funktion verwenden, um:

  • automatisch Miniaturansichten für Bilder zu erzeugen, die auf Cloud Storage hochgeladen werden.
  • eine Benachrichtigung an das Telefon eines Nutzers zu senden, wenn eine neue Nachricht in Cloud Pub/Sub eingegangen ist.
  • Daten aus einer Cloud Firestore-Datenbank zu verarbeiten und einen Bericht zu erstellen.

Sie können Ihren Code in jeder Sprache schreiben, die Node.js unterstützt, und Sie können Ihren Code mit wenigen Klicks in der Cloud bereitstellen. Sobald Ihre Cloud Functions-Funktion bereitgestellt ist, wird sie automatisch als Reaktion auf Ereignisse ausgeführt.

In diesem Lab erfahren Sie, wie Sie mithilfe der Google Cloud Console eine Cloud Functions-Funktion erstellen, implementieren und testen.

In diesem praxisorientierten Lab erfahren Sie, wie Sie mithilfe der Google Cloud Shell-Befehlszeile eine Cloud Functions-Funktion erstellen, bereitstellen und testen.

Aufgaben

  • Einfache Cloud Functions-Funktion erstellen
  • Funktion bereitstellen und testen
  • Logs ansehen

Einrichtung

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.

Aufgabe 1: Funktion erstellen

Als Erstes erstellen Sie eine einfache Funktion namens helloWorld, die eine Nachricht in das Cloud Functions-Log schreibt. Die Funktion wird durch Cloud Functions-Ereignisse ausgelöst und akzeptiert eine Callback-Funktion, die den Abschluss der Funktion signalisiert.

In diesem Lab ist das Cloud Functions-Ereignis ein Ereignis eines Cloud Pub/Sub-Themas. Pub/Sub ist ein Messaging-Dienst, bei dem die Absender von Nachrichten von den Empfängern entkoppelt werden. Wenn eine Nachricht gesendet oder gepostet wird, ist ein Abo erforderlich, damit ein Empfänger benachrichtigt wird und die Nachricht erhält. Weitere Informationen über Pub/Sub finden Sie unter Google Cloud Pub/Sub: Skalierbarer Messaging-Dienst für Google.

Weitere Informationen zum Ereignisparameter und zum Callback-Parameter finden Sie im Artikel zu Hintergrundfunktionen.

So erstellen Sie eine Cloud Functions-Funktion:

  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um die Standardregion festzulegen:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Erstellen Sie ein Verzeichnis für den Funktionscode:
mkdir gcf_hello_world
  1. Wechseln Sie in das Verzeichnis gcf_hello_world:
cd gcf_hello_world
  1. Erstellen Sie die Datei index.js und öffnen Sie sie zum Bearbeiten.
nano index.js
  1. Kopieren Sie Folgendes in die Datei index.js:
/** * Cloud Functions-Funktion im Hintergrund, die durch Pub/Sub ausgelöst werden soll. * Diese Funktion wird von index.js exportiert und ausgeführt, wenn * das Trigger-Thema eine Nachricht erhält. * * @param {object} data Die Ereignisnutzlast. * @param {object} context Die Ereignis-Metadaten. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Beenden Sie Nano (Strg + X) und speichern Sie die Datei (Y).

Aufgabe 2: Cloud Storage-Bucket erstellen

  • Erstellen Sie mit folgendem Befehl einen neuen Cloud Storage-Bucket für Ihre Funktion:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]

PROJECT_ID ist die Projekt-ID im Bereich „Details“ des Labs auf der linken Seite dieses Labs:

BUCKET_NAME ist der von Ihnen vergebene Name des Buckets. Sie können die Projekt-ID als Bucket-Namen verwenden, um einen global eindeutigen Namen zu erhalten:

Weitere Informationen zur Benennung von Buckets finden Sie in der Dokumentation zu Cloud Storage unter Benennungsrichtlinien für Buckets.

Abgeschlossene Aufgabe testen

Klicken Sie auf Fortschritt prüfen. Haben Sie die Aufgabe erfolgreich abgeschlossen, erhalten Sie ein Testergebnis.

Cloud Storage-Bucket erstellen

Aufgabe 3: Funktion bereitstellen

Beim Bereitstellen einer neuen Funktion müssen Sie --trigger-topic, --trigger-bucket oder --trigger-http angeben. Wenn Sie eine vorhandene Funktion aktualisieren, behält sie den vorhandenen Trigger bei, sofern Sie keinen anderen angeben.

Für dieses Lab legen Sie --trigger-topic als hello_world fest.

  1. Deaktivieren Sie die Cloud Functions-API:
gcloud services disable cloudfunctions.googleapis.com
  1. Aktivieren Sie die Cloud Functions-API erneut:
gcloud services enable cloudfunctions.googleapis.com
  1. Fügen Sie die Berechtigung artifactregistry.reader für Ihr appspot-Dienstkonto hinzu. Ersetzen Sie [PROJEKT-ID] durch Ihre qwiklabs-Projekt-ID:
gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member="serviceAccount:[PROJECT_ID]@appspot.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  1. Stellen Sie die Funktion in einem Pub/Sub-Thema namens hello_world bereit und geben Sie für [BUCKET_NAME] den Namen Ihres Buckets ein:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Hinweis: Wenn Sie „OperationError“ erhalten, ignorieren Sie die Warnung und führen Sie den Befehl noch einmal aus.

Geben Sie bei Aufforderung Y ein, um unauthentifizierte Aufrufe einer neuen Funktion zuzulassen.

  1. Überprüfen Sie den Status der Funktion:
gcloud functions describe helloWorld

Der Status ACTIVE zeigt an, dass die Funktion bereitgestellt wurde.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Jede im Thema veröffentlichte Nachricht löst die Ausführung der Funktion aus. Die Inhalte der Nachricht werden als Eingabedaten übergeben.

Abgeschlossene Aufgabe testen

Klicken Sie auf Fortschritt prüfen. Haben Sie die Aufgabe erfolgreich abgeschlossen, erhalten Sie ein Testergebnis.

Funktion implementieren

Aufgabe 4: Funktion testen

Nachdem Sie die Funktion bereitgestellt haben und wissen, dass sie aktiv ist, testen Sie, ob nach dem Erkennen eines Ereignisses eine Nachricht in das Cloud-Log geschrieben wird.

  • Geben Sie diesen Befehl ein, um einen Nachrichtentest der Funktion zu erstellen:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

Das Cloud-Tool gibt die Ausführungs-ID für die Funktion zurück, was bedeutet, dass eine Nachricht in das Log geschrieben wurde.

Beispielausgabe:

executionId: 3zmhpf7l6j5b

Sehen Sie sich die Logs an, um zu überprüfen, ob Log-Nachrichten mit dieser Ausführungs-ID vorhanden sind.

Aufgabe 5: Logs ansehen

  • Suchen Sie Ihre Nachrichten im Log-Verlauf:
gcloud functions logs read helloWorld

Wenn die Funktion erfolgreich ausgeführt wurde, sehen Nachrichten im Log so aus:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Hinweis: Es dauert etwa 10 Minuten, bis die Logs angezeigt werden. Eine weitere Möglichkeit zum Aufrufen der Logs finden Sie unter Logging > Log-Explorer.

Sie haben Ihre Anwendung bereitgestellt und getestet und können sich die Logs ansehen.

Aufgabe 6: Testen Sie Ihr Wissen

Im Folgenden stellen wir Ihnen einige Multiple-Choice-Fragen, um Ihr bisher erworbenes Wissen zu testen und zu festigen. Beantworten Sie die Fragen so gut Sie können.

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

Sie haben mit der Google Cloud Console und der Befehlszeile eine Cloud Functions-Funktion erstellt, implementiert und getestet.

Nächstes Lab absolvieren

Dieses Lab gehört zu der Reihe „Qwik Starts“. Die Labs geben Ihnen einen kleinen Vorgeschmack auf die vielen Funktionen von Google Cloud. Wählen Sie im Lab-Katalog unter „Qwik Starts“ einfach das nächste Lab aus, das Sie durchgehen möchten.

Nächste Schritte / Weitere Informationen

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 8. April 2024 aktualisiert

Lab zuletzt am 8. April 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.