GSP762

Ü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
-
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
-
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.
-
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“.
-
Klicken Sie auf Weiter.
-
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“.
-
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.
-
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.
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.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
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.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- 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`
- (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.

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.
-
Aktivieren Sie Ihr Lab-Konto:
gcloud auth list --filter=status:ACTIVE --format="value(account)"
-
Führen Sie den folgenden Befehl aus, um das Pet Theory-Repository zu klonen:
git clone https://github.com/Deleplace/pet-theory.git
-
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.
-
Klicken Sie auf das Symbol Editor öffnen und dann auf In neuem Fenster öffnen.
-
Gehen Sie zu pet-theory > lab03 > server.go
-
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
}
-
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:

Wenn Sie das LibreOffice-Paket hinzufügen, können Sie es in Ihrer Anwendung nutzen.
-
Ö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" ]
-
Speichern Sie die aktualisierte Dockerfile
-Datei.
-
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
-
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).
-
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.
-
Klicken Sie auf Navigationsmenü > Cloud Storage und prüfen Sie, ob zwei Buckets erstellt wurden. Hier sollten Sie dies sehen:
-
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
-
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].
-
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
-
Ermitteln Sie Ihre Projektnummer mit folgendem Befehl:
PROJECT_NUMBER=$(gcloud projects list \
--format="value(PROJECT_NUMBER)" \
--filter="$GOOGLE_CLOUD_PROJECT")
-
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.
-
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)")
-
Lassen Sie die Dienst-URL anzeigen:
echo $SERVICE_URL
-
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.
-
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.
-
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]...
-
Klicken Sie in der Cloud Console auf Cloud Storage > Buckets und dann auf den Bucket-Namen, der mit „-upload“ endet.
-
Klicken Sie mehrmals auf Aktualisieren und beobachten Sie, wie die Dateien nacheinander gelöscht werden, nachdem sie in PDFs konvertiert wurden.
-
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.
-
Sie können die PDF-Dateien öffnen, um zu sehen, ob sie erfolgreich konvertiert wurden.
-
Klicken Sie nach Abschluss des Uploads auf Navigationsmenü > Cloud Run und dann auf den Dienst pdf-converter.
-
Wechseln Sie zum Tab LOGS und fügen Sie den Filter „Wird konvertiert“ hinzu, um die konvertierten Dateien zu sehen.
-
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.