Zugriff auf über 700 Labs und Kurse nutzen

Daten in Google Cloud speichern, verarbeiten und verwalten: Challenge-Lab

Lab 45 Minuten universal_currency_alt 1 Guthabenpunkt show_chart Einsteiger
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

ARC100

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.

In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.

Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.

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 Google Cloud-Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung 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 (empfohlen), 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: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.

Das Szenario

Sie haben gerade Ihre neue Stelle als Junior Data Engineer angetreten. Bisher haben Sie Teams beim Erstellen und Verwalten von Google Cloud-Ressourcen unterstützt.

Das Know-how für diese Aufgaben wird vorausgesetzt.

Die Aufgabe

Sie werden nun gebeten, einem neu gebildeten Entwicklungsteam bei der anfänglichen Arbeit am Projekt Memories zu helfen, bei dem es um das Speichern und Organisieren von Fotos geht. Sie sollen das Memories-Team bei der Erstkonfiguration der Entwicklungsumgebung einer Anwendung unterstützen und dazu folgende Aufgaben ausführen:

  • Bucket zum Speichern der Fotos erstellen
  • Pub/Sub-Thema erstellen, das von einer Cloud Run-Funktion verwendet wird, die Sie erstellen.
  • Cloud Run-Funktion erstellen

Folgende Vorgaben sind zu beachten:

  • Alle Ressourcen werden in der Region erstellt, sofern nicht anders angegeben.
  • Es werden die VPCs des Projekts verwendet.
  • Die Ressourcenbenennung erfolgt im Format team-resource, eine Instanz könnte beispielsweise kraken-webserver1 heißen.
  • Die Ressourcendimensionierung muss kosteneffektiv sein. Die Projekte werden überwacht und ein übermäßiger Ressourcenverbrauch bedeutet das Ende des betreffenden Projekts. Umsicht ist also angebracht. Sofern nicht anders angegeben, wird Maschinentyp f1-micro für kleine Linux-VMs genutzt, während n1-standard-1 für Windows oder Anwendungen wie Kubernetes-Knoten eingesetzt wird.

Die einzelnen Aufgaben sind nachfolgend genauer beschrieben. Viel Erfolg!

Aufgabe 1: Bucket erstellen

Erstellen Sie einen Bucket mit dem Namen zum Speichern der Fotos. Die Ressource muss in der Region eingerichtet werden.

Klicken Sie auf Fortschritt prüfen. Bucket mit dem Namen erstellen

Aufgabe 2: Pub/Sub-Thema erstellen

Erstellen Sie ein Pub/Sub-Thema mit dem Namen , über das die Cloud Run-Funktion Nachrichten sendet.

Klicken Sie auf Fortschritt prüfen. Pub/Sub-Thema mit dem Namen erstellen

Aufgabe 3: Cloud Run-Funktion für Miniaturansichten einrichten

Sie erstellen eine Cloud Run-Funktion zum Generieren von Miniaturansichten für Bilder, die dem Bucket hinzugefügt werden.

Achten Sie darauf, dass die Cloud Run-Funktion die Umgebung für Cloud Run-Funktionen (2. Generation) nutzt. Die Ressource muss in der Region und der Zone eingerichtet werden.

  1. Erstellen Sie mit Node.js 22 eine Cloud Run-Funktion (2. Generation) mit dem Namen und legen Sie Cloud Storage als Trigger fest.
Hinweis: Die Cloud Run-Funktion muss immer dann ausgeführt werden, wenn ein Objekt in dem in Aufgabe 1 eingerichteten Bucket erstellt wird. Während des Vorgangs fordert die Cloud Run-Funktion möglicherweise die Berechtigung für das Aktivieren von APIs oder für die Rollenzuweisung an Dienstkonten an. Bitte aktivieren Sie alle erforderlichen APIs und gewähren Sie die angeforderten Rollen.

Nachdem Sie die Berechtigungen gewährt haben, warten Sie einige Minuten, bevor Sie auf „Funktion erstellen“ klicken, damit die Berechtigungen aktualisiert werden können.
Hinweis zur Erstellung der Funktion über die Console: Nachdem Sie die Funktionserstellung initiiert haben, warten Sie, bis das grüne Häkchen für Eventarc-Trigger erstellen (oben auf der Seite unter Dienst erstellen) angezeigt wird, bevor Sie den Code im nächsten Schritt aktualisieren. Wenn Sie nicht warten, bis das grüne Häkchen für Eventarc-Trigger erstellen angezeigt wird, wird der Trigger möglicherweise nicht erstellt und erscheint nicht auf dem Tab Trigger der Funktion.
  1. Setzen Sie den Einstiegspunkt (auszuführende Funktion) auf .

  2. Fügen Sie folgenden Code in die Datei index.js ein:

const functions = require('@google-cloud/functions-framework'); const { Storage } = require('@google-cloud/storage'); const { PubSub } = require('@google-cloud/pubsub'); const sharp = require('sharp'); functions.cloudEvent('{{{ project_0.startup_script.function }}}', async cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${JSON.stringify(event)}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64"; const bucket = new Storage().bucket(bucketName); const topicName = "{{{ project_0.startup_script.topic }}}"; const pubsub = new PubSub(); if (fileName.search("64x64_thumbnail") === -1) { // doesn't have a thumbnail, get the filename extension const filename_split = fileName.split('.'); const filename_ext = filename_split[filename_split.length - 1].toLowerCase(); const filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length - 1); // fix sub string to remove the dot if (filename_ext === 'png' || filename_ext === 'jpg' || filename_ext === 'jpeg') { // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); const newFilename = `${filename_without_ext}_64x64_thumbnail.${filename_ext}`; const gcsNewObject = bucket.file(newFilename); try { const [buffer] = await gcsObject.download(); const resizedBuffer = await sharp(buffer) .resize(64, 64, { fit: 'inside', withoutEnlargement: true, }) .toFormat(filename_ext) .toBuffer(); await gcsNewObject.save(resizedBuffer, { metadata: { contentType: `image/${filename_ext}`, }, }); console.log(`Success: ${fileName} → ${newFilename}`); await pubsub .topic(topicName) .publishMessage({ data: Buffer.from(newFilename) }); console.log(`Message published to ${topicName}`); } catch (err) { console.error(`Error: ${err}`); } } else { console.log(`gs://${bucketName}/${fileName} is not an image I can handle`); } } else { console.log(`gs://${bucketName}/${fileName} already has a thumbnail`); } });
  1. Fügen Sie folgenden Code in die Datei package.json ein:
{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/pubsub": "^2.0.0", "@google-cloud/storage": "^6.11.0", "sharp": "^0.32.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } } Hinweis: Wenn Sie den Fehler „Berechtigung verweigert“ erhalten, laut dem es einige Minuten dauern kann, bis alle erforderlichen Berechtigungen an den Dienst-Agenten weitergegeben werden, warten Sie einige Minuten und versuchen Sie es noch einmal. Die entsprechenden Rollen (Eventarc Service Agent, Eventarc Event Receiver, Service Account Token Creator und Pub/Sub Publisher) müssen dabei den richtigen Dienstkonten zugewiesen sein.

Aufgabe 4: Infrastruktur testen

Laden Sie zum Testen der Funktion ein Bild im JPG- oder PNG-Format in den Bucket hoch.

  1. Laden Sie ein Bild im JPG- oder PNG-Format in den Bucket hoch.
Hinweis: Nachdem Sie die Funktion erstellt haben, laden Sie ein Bild im JPG- oder PNG-Format in den Bucket hoch, um zu prüfen, ob die Miniaturansicht erstellt wurde. Verwenden Sie eine beliebige JPG- oder PNG-Datei oder das Bild unter https://storage.googleapis.com/cloud-training/arc101/travel.jpg. Laden Sie es auf Ihren Computer herunter und anschließend in den Bucket hoch.
  1. Kurz darauf sehen Sie ein Miniaturbild. Klicken Sie in den Bucket-Details auf AKTUALISIEREN.

Nachdem Sie die Bilddatei hochgeladen haben, können Sie unten auf „Fortschritt prüfen“ klicken. Sie müssen nicht warten, bis das Miniaturbild fertig erstellt ist.

Hinweis: Wenn die Funktion erfolgreich bereitgestellt wurde und das Miniaturbild nicht im Bucket angezeigt wird, können Sie prüfen, ob auf dem Tab Trigger die Triggerinformationen angezeigt werden, die Sie zuvor für die Funktion angegeben haben. Falls Sie zuvor Fehlermeldungen erhalten haben, wurden diese Informationen möglicherweise nicht richtig gespeichert.

Wenn der Cloud Storage-Trigger auf dem Tab Trigger der Funktion nicht angezeigt wird, können Sie ihn neu erstellen (siehe die Dokumentationsseite Trigger mit Ereignissen) und dann noch einmal eine neue Datei hochladen, um den Test zu wiederholen. Aktualisieren Sie die Seite nach dem Hinzufügen der neuen Datei.

Klicken Sie auf Fortschritt prüfen. Prüfen, ob die Miniaturansicht von der Cloud Run-Funktion erfolgreich erstellt wurde

Glückwunsch!

Glückwunsch! In diesem Lab haben Sie einen Bucket, ein Pub/Sub-Thema und eine Cloud Run-Funktion erstellt. Diese erstellt eine Miniaturansicht eines Bildes, das dem Bucket hinzugefügt wurde.

Skill-Logo „Daten in Google Cloud speichern, verarbeiten und verwalten“

Nächstes Skill-Logo erwerben

Dieses Lab zum selbstbestimmten Lernen ist Teil des Kurses Daten über die Console in Google Cloud speichern, verarbeiten und verwalten. Wenn Sie diesen Kurs abschließen, erhalten Sie das oben gezeigte Skill-Logo, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge.

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 4. April 2025 aktualisiert

Lab zuletzt am 4. April 2025 getestet

© 2025 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.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

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

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

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.