arrow_back

PDFs mit Go und Cloud Run erstellen

Anmelden Teilnehmen
Zugriff auf über 700 Labs und Kurse nutzen

PDFs mit Go und Cloud Run erstellen

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

GSP762

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In diesem Lab erstellen Sie eine Webanwendung für die PDF-Konvertierung in Cloud Run. Mit diesem serverlosen Dienst werden in Google Drive gespeicherte Dateien automatisch in PDFs konvertiert und in separaten Google Drive-Ordnern gespeichert.

Lernziele

Aufgaben in diesem Lab:

  • Go-Anwendung in einen Container umwandeln
  • Lernen, wie Container mit Google Cloud Build erstellt werden
  • Cloud Run-Dienst erstellen, durch den in der Cloud Dateien in PDFs konvertiert werden
  • Lernen, wie Dienstkonten erstellt und Berechtigungen hinzugefügt werden
  • Ereignisverarbeitung mit Cloud Storage verwenden

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

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 Dialogfeld 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 auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein. Symbol für das Navigationsmenü und Suchfeld

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.

  2. Klicken Sie sich durch die folgenden Fenster:

    • Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
    • Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.

Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf 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.

Architektur

In diesem Lab unterstützen Sie die Tierarztpraxis Pet Theory dabei, Rechnungen automatisch in PDFs zu konvertieren, damit die Kunden sie zuverlässig öffnen können.

Architekturdiagramm

Google APIs nutzen

Sie arbeiten in diesem Lab mit Google APIs. Diese APIs wurden für Sie aktiviert:

Name API
Cloud Build cloudbuild.googleapis.com
Cloud Storage storage-component.googleapis.com
Cloud Run run.googleapis.com

Aufgabe 1: Quellcode abrufen

Als Erstes laden Sie den Code herunter, der für dieses Lab benötigt wird.

  1. Aktivieren Sie Ihr Lab-Konto:

    gcloud auth list --filter=status:ACTIVE --format="value(account)"
  2. Führen Sie den folgenden Befehl aus, um das Pet Theory-Repository zu klonen:

    git clone https://github.com/Deleplace/pet-theory.git
  3. Wechseln Sie in das richtige Verzeichnis:

    cd pet-theory/lab03

Aufgabe 2: Mikrodienst für Rechnungen erstellen

In diesem Abschnitt entwickeln Sie eine Go-Anwendung zum Verarbeiten von Anfragen. Wie im Architekturdiagramm gezeigt, binden Sie Cloud Storage in die Lösung ein.

  1. Klicken Sie auf das Symbol Editor öffnen und dann auf In neuem Fenster öffnen.

  2. Gehen Sie zu pet-theory > lab03 > server.go

  3. Rufen Sie den Quellcode von server.go auf und bearbeiten Sie ihn so:

    package main import ( "fmt" "io/ioutil" "log" "net/http" "os" "os/exec" "regexp" "strings" ) func main() { http.HandleFunc("/", process) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } log.Printf("Listening on port %s", port) err := http.ListenAndServe(fmt.Sprintf(":%s", port), nil) log.Fatal(err) } func process(w http.ResponseWriter, r *http.Request) { log.Println("Serving request") if r.Method == "GET" { fmt.Fprintln(w, "Ready to process POST requests from Cloud Storage trigger") return } // // Read request body containing Cloud Storage object metadata // gcsInputFile, err1 := readBody(r) if err1 != nil { log.Printf("Error reading POST data: %v", err1) w.WriteHeader(http.StatusBadRequest) fmt.Fprintf(w, "Problem with POST data: %v \n", err1) return } // // Working directory (concurrency-safe) // localDir, errDir := ioutil.TempDir("", "") if errDir != nil { log.Printf("Error creating local temp dir: %v", errDir) w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, "Could not create a temp directory on server. \n") return } defer os.RemoveAll(localDir) // // Download input file from Cloud Storage // localInputFile, err2 := download(gcsInputFile, localDir) if err2 != nil { log.Printf("Error downloading Cloud Storage file [%s] from bucket [%s]: %v", gcsInputFile.Name, gcsInputFile.Bucket, err2) w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, "Error downloading Cloud Storage file [%s] from bucket [%s]", gcsInputFile.Name, gcsInputFile.Bucket) return } // // Use LibreOffice to convert local input file to local PDF file. // localPDFFilePath, err3 := convertToPDF(localInputFile.Name(), localDir) if err3 != nil { log.Printf("Error converting to PDF: %v", err3) w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, "Error converting to PDF.") return } // // Upload the freshly generated PDF to Cloud Storage // targetBucket := os.Getenv("PDF_BUCKET") err4 := upload(localPDFFilePath, targetBucket) if err4 != nil { log.Printf("Error uploading PDF file to bucket [%s]: %v", targetBucket, err4) w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, "Error downloading Cloud Storage file [%s] from bucket [%s]", gcsInputFile.Name, gcsInputFile.Bucket) return } // // Delete the original input file from Cloud Storage. // err5 := deleteGCSFile(gcsInputFile.Bucket, gcsInputFile.Name) if err5 != nil { log.Printf("Error deleting file [%s] from bucket [%s]: %v", gcsInputFile.Name, gcsInputFile.Bucket, err5) // This is not a blocking error. // The PDF was successfully generated and uploaded. } log.Println("Successfully produced PDF") fmt.Fprintln(w, "Successfully produced PDF") } func convertToPDF(localFilePath string, localDir string) (resultFilePath string, err error) { log.Printf("Converting [%s] to PDF", localFilePath) cmd := exec.Command("libreoffice", "--headless", "--convert-to", "pdf", "--outdir", localDir, localFilePath) cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr log.Println(cmd) err = cmd.Run() if err != nil { return "", err } pdfFilePath := regexp.MustCompile(`\.\w+$`).ReplaceAllString(localFilePath, ".pdf") if !strings.HasSuffix(pdfFilePath, ".pdf") { pdfFilePath += ".pdf" } log.Printf("Converted %s to %s", localFilePath, pdfFilePath) return pdfFilePath, nil }
  4. Führen Sie nun den folgenden Befehl aus, um die Anwendung zu erstellen:

    go build -o server

    Erwartete Ausgabe:

    go: downloading cloud.google.com/go/storage v1.6.0 go: downloading cloud.google.com/go v0.53.0 go: downloading github.com/googleapis/gax-go/v2 v2.0.5 go: downloading google.golang.org/api v0.18.0 go: downloading google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63 go: downloading google.golang.org/grpc v1.27.1 go: downloading go.opencensus.io v0.22.3 go: downloading golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d go: downloading github.com/golang/protobuf v1.3.3 go: downloading golang.org/x/net v0.0.0-20200222125558-5a598a2470a0 go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e go: downloading golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae go: downloading golang.org/x/text v0.3.2

    Die von diesem Code aufgerufenen Funktionen befinden sich in den folgenden Quelldateien:

    • server.go
    • notification.go
    • gcs.go

Nach der Anwendung können Sie nun den Dienst für die Konvertierung in das PDF-Format erstellen.

Aufgabe 3: PDF-Konvertierungsdienst entwickeln

Der PDF-Dienst nutzt Cloud Run und Cloud Storage, um einen Prozess zu starten, wenn eine Datei in den entsprechenden Speicher hochgeladen wird.

Dazu verwenden Sie ein gängiges Muster an Ereignisbenachrichtigungen kombiniert mit Cloud Pub/Sub. Die Anwendung dient ausschließlich dem Verarbeiten von Informationen. Das Weiterleiten und Übergeben von Informationen übernehmen andere Dienste. Daher können Sie diese Anwendung sehr einfach halten.

Zum Erstellen des Rechnungsmoduls müssen zwei Komponenten eingebunden werden:

Container mit zwei Komponenten: Server und LibreOffice

Wenn Sie das LibreOffice-Paket hinzufügen, können Sie es in Ihrer Anwendung nutzen.

  1. Öffnen Sie unter Editor öffnen das vorhandene Dockerfile-Manifest und aktualisieren Sie die Datei so:

    FROM amd64/debian RUN apt-get update -y \ && apt-get install -y libreoffice \ && apt-get clean WORKDIR /usr/src/app COPY server . CMD [ "./server" ]
  2. Speichern Sie die aktualisierte Dockerfile-Datei.

  3. Lassen Sie das pdf-converter-Image mit Cloud Build neu erstellen:

    gcloud builds submit \ --tag gcr.io/$GOOGLE_CLOUD_PROJECT/pdf-converter

    Klicken Sie auf Fortschritt prüfen.

    Image mit Cloud Build erstellen
  4. Stellen Sie den aktualisierten PDF-Konvertierungsdienst bereit.

    Hinweis: Sie sollten LibreOffice 2 GB RAM zur Verfügung stellen (siehe die Zeile mit der --memory-Option).
  5. Führen Sie die folgenden Befehle aus, um den Container zu erstellen und bereitzustellen:

    gcloud run deploy pdf-converter \ --image gcr.io/$GOOGLE_CLOUD_PROJECT/pdf-converter \ --platform managed \ --region {{{ project_0.default_region | "REGION" }}} \ --memory=2Gi \ --no-allow-unauthenticated \ --set-env-vars PDF_BUCKET=$GOOGLE_CLOUD_PROJECT-processed \ --max-instances=3

    Klicken Sie auf Fortschritt prüfen.

    PDF-Konvertierungsdienst bereitgestellt

Sie haben den Cloud Run-Dienst bereitgestellt. Allerdings benötigt die Anwendung noch Berechtigungen, um darauf zuzugreifen.

Aufgabe 4: Dienstkonto erstellen

Ein Dienstkonto ist ein besonderer Kontotyp mit Zugang zu Google APIs.

In diesem Lab wird ein Dienstkonto verwendet, um auf Cloud Run zuzugreifen, wenn ein Cloud Storage-Ereignis verarbeitet wird. Cloud Storage unterstützt eine Vielzahl von Benachrichtigungen, die eingesetzt werden können, um Ereignisse auszulösen.

Als Nächstes aktualisieren Sie den Code, damit die Anwendung benachrichtigt wird, wenn eine Datei hochgeladen wurde.

  1. Klicken Sie auf Navigationsmenü > Cloud Storage und prüfen Sie, ob zwei Buckets erstellt wurden. Hier sollten Sie dies sehen:

    • -processed
    • -upload
  2. Erstellen Sie eine Pub/Sub-Benachrichtigung mit der Information, dass eine neue Datei in den Dokument-Bucket hochgeladen wurde („hochgeladen“). Die Benachrichtigungen sind mit dem Label „new-doc“ versehen.

    gsutil notification create -t new-doc -f json -e OBJECT_FINALIZE gs://$GOOGLE_CLOUD_PROJECT-upload

    Erwartete Ausgabe:

    Created Cloud Pub/Sub topic projects/{{{project_0.project_id | "PROJECT_ID"}}}/topics/new-doc Created notification config projects/_/buckets/{{{project_0.project_id | "PROJECT_ID"}}}-upload/notificationConfigs/1
  3. Erstellen Sie ein neues Dienstkonto, um die Cloud Run-Dienste auszulösen:

    gcloud iam service-accounts create pubsub-cloud-run-invoker --display-name "PubSub Cloud Run Invoker"

    Erwartete Ausgabe:

    Created service account [pubsub-cloud-run-invoker].
  4. Gewähren Sie dem Dienstkonto die Berechtigung zum Aufrufen des PDF-Konvertierungsdiensts:

    gcloud run services add-iam-policy-binding pdf-converter \ --member=serviceAccount:pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \ --role=roles/run.invoker \ --region {{{ project_0.default_region | "REGION" }}} \ --platform managed

    Erwartete Ausgabe:

    Updated IAM policy for service [pdf-converter]. bindings: - members: - serviceAccount:pubsub-cloud-run-invoker@{{{project_0.project_id | "PROJECT_ID"}}}.iam.gserviceaccount.com role: roles/run.invoker etag: BwYYfbXS240= version: 1
  5. Ermitteln Sie Ihre Projektnummer mit folgendem Befehl:

    PROJECT_NUMBER=$(gcloud projects list \ --format="value(PROJECT_NUMBER)" \ --filter="$GOOGLE_CLOUD_PROJECT")
  6. Aktivieren Sie Ihr Projekt, um Cloud Pub/Sub-Tokens zur Authentifizierung zu erstellen:

    gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \ --member=serviceAccount:{{{ project_0.project_id | "PROJECT_ID" }}}@{{{ project_0.project_id | "PROJECT_ID" }}}.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator

    Klicken Sie auf Fortschritt prüfen.

    Dienstkonto erstellt

Das erstellte Dienstkonto kann nun dazu verwendet werden, den Cloud Run-Dienst aufzurufen.

Aufgabe 5: Cloud Run-Dienst testen

Testen Sie den Dienst, bevor Sie fortfahren. Er erfordert eine Authentifizierung, die Sie ebenfalls testen sollten, um sicherzugehen, dass der Dienst privat ist.

  1. Speichern Sie die URL des Dienstes in der Umgebungsvariablen $SERVICE_URL:

    SERVICE_URL=$(gcloud run services describe pdf-converter \ --platform managed \ --region {{{ project_0.default_region | "REGION" }}} \ --format "value(status.url)")
  2. Lassen Sie die Dienst-URL anzeigen:

    echo $SERVICE_URL
  3. Senden Sie eine anonyme GET-Anfrage an den neuen Dienst:

    curl -X GET $SERVICE_URL

    Erwartete Ausgabe:

    <html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>403 Forbidden</title> </head> <body text=#000000 bgcolor=#ffffff> <h1>Error: Forbidden</h1> <h2>Your client does not have permission to get URL <code>/</code> from this server.</h2> <h2></h2> Hinweis: Auf die anonyme GET-Anfrage erhalten Sie diese Fehlermeldung: "Your client does not have permission to get URL". Das ist richtig so, denn Sie möchten ja nicht, dass der Dienst von anonymen Nutzern aufgerufen werden kann.
  4. Rufen Sie den Dienst jetzt als autorisierter Nutzer auf:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-identity-token)" $SERVICE_URL

    Erwartete Ausgabe:

    Ready to process POST requests from Cloud Storage trigger

Damit haben Sie einen authentifizierten Cloud Run-Dienst bereitgestellt.

Aufgabe 6: Cloud Storage-Trigger

Fügen Sie dem bestehenden Pub/Sub-Thema ein Abo hinzu, um eine Benachrichtigung auszulösen, wenn neue Inhalte in Cloud Storage hochgeladen werden.

Hinweis: Durch Cloud Storage-Benachrichtigungen wird beim Hochladen neuer Inhalte automatisch eine Nachricht an die Themawarteschlange gesendet. Benachrichtigungen ermöglichen es Ihnen, leistungsfähige Anwendungen zu entwickeln, die auf Ereignisse reagieren, ohne dass Sie zusätzlichen Code schreiben müssen.
  • Erstellen Sie ein Pub/Sub-Abo, damit der PDF-Konvertierungsdienst ausgeführt wird, wenn eine Nachricht im Thema new-doc veröffentlicht wird:

    gcloud pubsub subscriptions create pdf-conv-sub \ --topic new-doc \ --push-endpoint=$SERVICE_URL \ --push-auth-service-account=pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com

    Erwartete Ausgabe:

    Created subscription [projects/{{{ project_0.project_id| "PROJECT_ID" }}}/subscriptions/pdf-conv-sub].

    Klicken Sie auf Fortschritt prüfen.

    Pub/Sub-Abo prüfen

Wenn eine Datei hochgeladen wird, interagiert das Pub/Sub-Abo jetzt mit Ihrem Dienstkonto. Dieses startet dann den Cloud Run-Dienst zum Konvertieren in PDFs.

Aufgabe 7: Cloud Storage-Benachrichtigung testen

Verwenden Sie die verfügbaren Beispieldateien, um den Cloud Run-Dienst zu testen.

  1. Kopieren Sie die Testdateien in den Upload-Bucket:

    gsutil -m cp -r gs://spls/gsp762/* gs://$GOOGLE_CLOUD_PROJECT-upload

    Erwartete Ausgabe:

    Copying gs://spls/gsp762/cat-and-mouse.jpg [Content-Type=image/jpeg]... Copying gs://spls/gsp762/file-sample_100kB.doc [Content-Type=application/msword]... Copying gs://spls/gsp762/file-sample_500kB.docx [Content-Type=application/vnd.openxmlformats-officedocument.wordprocessingml.document]... Copying gs://spls/gsp762/file_example_XLS_10.xls [Content-Type=application/vnd.ms-excel]... Copying gs://spls/gsp762/file-sample_1MB.docx [Content-Type=application/vnd.openxmlformats-officedocument.wordprocessingml.document]... Copying gs://spls/gsp762/file_example_XLSX_50.xlsx [Content-Type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet]... Copying gs://spls/gsp762/file_example_XLS_100.xls [Content-Type=application/vnd.ms-excel]... Copying gs://spls/gsp762/file_example_XLS_50.xls [Content-Type=application/vnd.ms-excel]... Copying gs://spls/gsp762//Copy of cat-and-mouse.jpg [Content-Type=image/jpeg]...
  2. Klicken Sie in der Cloud Console auf Cloud Storage > Buckets und dann auf den Bucket-Namen, der mit „-upload“ endet.

  3. Klicken Sie mehrmals auf Aktualisieren und beobachten Sie, wie die Dateien nacheinander gelöscht werden, nachdem sie in PDFs konvertiert wurden.

  4. Klicken Sie dann auf Buckets und auf den Bucket-Namen, der mit „-processed“ endet. Er sollte PDF-Versionen aller Dateien enthalten.

    Hinweis: Das Verarbeiten der Dateien kann einige Minuten dauern. Aktualisieren Sie die Anzeige des Buckets immer wieder, um den Fortschritt der Verarbeitung zu prüfen.
  5. Sie können die PDF-Dateien öffnen, um zu sehen, ob sie erfolgreich konvertiert wurden.

  6. Klicken Sie nach Abschluss des Uploads auf Navigationsmenü > Cloud Run und dann auf den Dienst pdf-converter.

  7. Wechseln Sie zum Tab LOGS und fügen Sie den Filter „Wird konvertiert“ hinzu, um die konvertierten Dateien zu sehen.

  8. Klicken Sie auf Navigationsmenü > Cloud Storage und dann auf den Bucket-Namen, der mit „-upload“ endet, um zu prüfen, ob alle hochgeladenen Dateien verarbeitet wurden.

Sie haben einen neuen Dienst erstellt, der in Cloud Storage hochgeladene Dateien in das PDF-Format konvertiert.

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

In diesem Lab haben Sie gelernt, wie Sie eine Go-Anwendung in einen Container umwandeln und Container mit Google Cloud Build erstellen. Außerdem haben Sie einen Cloud Run-Dienst gestartet.

Sie können jetzt Berechtigungen über ein Dienstkonto zuweisen und die Ereignisverarbeitung in Cloud Storage nutzen. All dies ist entscheidend für den PDF-Konvertierungsdienst, der Dokumente in PDFs umwandelt und im „processed“-Bucket speichert.

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 15. Mai 2024 aktualisiert

Lab zuletzt am 15. Mai 2024 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.