Jump Start-Lösung: KI/ML-Bildverarbeitung in Cloud Functions

Last reviewed 2023-08-29 UTC

In dieser Anleitung wird die Jump-Start-Lösung für KI/ML-Bildverarbeitung in Cloud Functions verstanden, bereitgestellt und verwendet. Diese Lösung verwendet vortrainierte Modelle für maschinelles Lernen, um von Nutzern bereitgestellte Bilder zu analysieren und Bildanmerkungen zu generieren.

Durch die Bereitstellung dieser Lösung wird ein Bildverarbeitungsdienst erstellt, der Sie unter anderem bei Folgendem unterstützen kann:

  • Behandeln Sie unsichere oder schädliche, von Nutzern erstellte Inhalte.
  • Digitalisieren Sie Text aus physischen Dokumenten.
  • Erkennen und klassifizieren Sie Objekte in Bildern.

Dieses Dokument richtet sich an Entwickler, die mit der Entwicklung von Backend-Diensten, den Funktionen von KI/ML und grundlegenden Cloud-Computing-Konzepten vertraut sind. Es ist zwar nicht erforderlich, aber Terraform ist hilfreich.

.

Lernziele

  • Lernen Sie, wie man serverlose Architektur zum Erstellen eines skalierbaren Bildverarbeitungsdienstes verwendet.
  • Erfahren Sie, wie der Bildverarbeitungsdienst vortrainierte ML-Modelle für die Bildanalyse verwendet.
  • Stellen Sie den Bildverarbeitungsdienst bereit und rufen Sie ihn über REST API-Aufrufe oder als Reaktion auf Bilduploadereignisse auf.
  • Prüfen Sie die Konfigurations- und Sicherheitseinstellungen, um zu verstehen, wie der Bildverarbeitungsdienst an verschiedene Anforderungen angepasst werden kann.

Verwendete Produkte

Die Lösung verwendet die folgenden Google Cloud-Produkte:

  • Cloud Vision API: Eine API, die leistungsstarke vortrainierte ML-Modelle für die Bildanmerkung bietet. Die Lösung verwendet die Cloud Vision API, um Bilder zu analysieren und Bildanmerkungsdaten abzurufen.
  • Cloud Storage: Ein für Unternehmen geeigneter Dienst, der einen kostengünstigen, unbegrenzten Objektspeicher für verschiedene Datentypen bietet. Daten können von innerhalb und außerhalb von Google Cloud aufgerufen und georedundant repliziert werden. Die Lösung verwendet Cloud Storage, um Eingabebilder und die daraus resultierenden Bildanmerkungsdaten zu speichern.
  • Cloud Run-Funktionen: Ein einfacher, serverloser Computing-Dienst, mit dem Sie zweckgebundene, eigenständige Funktionen erstellen können, die auf Google Cloud-Ereignisse reagieren, ohne dass Sie eine Server- oder Laufzeitumgebung verwalten müssen. Die Lösung verwendet Cloud Run-Funktionen, um die Endpunkte des Dienstes zur Bildverarbeitung zu hosten.

Informationen zur Konfiguration dieser Produkte und zu ihrer Interaktion finden Sie im nächsten Abschnitt.

Architektur

Die Lösung besteht aus einem Beispiel für einen Bildverarbeitungsdienst, der Eingabebilder analysiert und mithilfe von vortrainierten ML-Modellen Annotationen für die Bilder generiert. Im folgenden Diagramm sehen Sie die Architektur der in der Lösung verwendeten Google Cloud-Ressourcen.

Architektur der Infrastruktur, die für die KI/ML-Bildverarbeitung in der Cloud Functions-Lösung erforderlich ist

Der Dienst kann auf zwei Arten aufgerufen werden: direkt über REST API-Aufrufe oder indirekt als Reaktion auf Bilduploads.

Anfrageablauf

Der Anfrageverarbeitungsablauf des Bildverarbeitungsdienstes hängt davon ab, wie Nutzer den Dienst aufrufen. Die folgenden Schritte sind wie im vorherigen Architekturdiagramm dargestellt nummeriert.

Wenn der Nutzer den Bildverarbeitungsdienst direkt über einen REST API-Aufruf aufruft:

  1. Der Nutzer stellt eine Anfrage an den REST API-Endpunkt des Bildverarbeitungsdienstes, der als Cloud Run-Funktion bereitgestellt wird. Die Anfrage gibt ein Bild als URI oder einen base64-codierten Stream an.
  2. Die Cloud Run-Funktion ruft einen Aufruf an die Cloud Vision API auf, um Anmerkungen für das angegebene Bild zu generieren. Die Bildanmerkungsdaten werden im JSON-Format in der Antwort der Funktion an den Nutzer zurückgegeben.

Wenn der Nutzer den Bildverarbeitungsdienst indirekt als Reaktion auf Bilduploads aufruft:

  1. Der Nutzer lädt Bilder zur Eingabe in einen Cloud Storage-Bucket hoch.
  2. Bei jedem Bildupload wird ein Cloud Storage-Ereignis generiert, das eine Cloud Run-Funktion auslöst, um das hochgeladene Bild zu verarbeiten.
  3. Die Cloud Run-Funktion ruft einen Aufruf an die Cloud Vision API auf, um Anmerkungen für das angegebene Bild zu generieren.
  4. Die Cloud Run-Funktion schreibt die Bildanmerkungsdaten als JSON-Datei in einen anderen Cloud Storage-Bucket für die Ausgabe.

Kosten

Eine Schätzung der Kosten der Google Cloud-Ressourcen, die für die KI-/ML-Bildverarbeitung in der Cloud Functions-Lösung verwendet werden, finden Sie im vorberechneten Kostenrechner.

Verwenden Sie die vorab berechnete Schätzung als Ausgangspunkt, um die Kosten Ihrer Bereitstellung zu berechnen. Sie können die Schätzung ändern, um alle Konfigurationsänderungen widerzuspiegeln, die Sie für die in der Lösung verwendeten Ressourcen vornehmen möchten.

Die vorab berechnete Schätzung basiert auf Annahmen für bestimmte Faktoren, darunter:

  • Die Google Cloud-Standorte, an denen die Ressourcen bereitgestellt werden.
  • Die Zeitdauer der Verwendung der Ressourcen.

  • Die in Cloud Storage gespeicherte Datenmenge.

  • Die Häufigkeit, mit der der Bildverarbeitungsdienst aufgerufen wird.

Hinweise

Zum Bereitstellen dieser Lösung benötigen Sie zuerst ein Google Cloud-Projekt und einige IAM-Berechtigungen.

Google Cloud-Projekt erstellen oder auswählen

Beim Bereitstellen der Lösung wählen Sie das Google Cloud-Projekt aus, in dem die Ressourcen bereitgestellt werden. Sie können entweder ein neues Projekt erstellen oder ein vorhandenes Projekt für die Bereitstellung verwenden.

Wenn Sie ein neues Projekt erstellen möchten, sollten Sie dies tun, bevor Sie mit der Bereitstellung beginnen. Durch die Verwendung eines neuen Projekts können Konflikte mit zuvor bereitgestellten Ressourcen vermieden werden, beispielsweise Ressourcen, die für Produktionsarbeitslasten verwendet werden.

So erstellen Sie ein Projekt:

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Click Create project.

  3. Name your project. Make a note of your generated project ID.

  4. Edit the other fields as needed.

  5. Click Create.

Erforderliche IAM-Berechtigungen abrufen

Zum Starten des Bereitstellungsprozesses benötigen Sie die in der folgenden Tabelle aufgeführten IAM-Berechtigungen (Identity and Access Management).

Wenn Sie ein neues Projekt für diese Lösung erstellt haben, haben Sie die einfache Rolle roles/owner in diesem Projekt und verfügen über alle erforderlichen Berechtigungen. Wenn Sie die Rolle roles/owner nicht haben, bitten Sie Ihren Administrator, Ihnen die Berechtigungen (oder die Rollen mit diesen Berechtigungen) zu gewähren.

Erforderliche IAM-Berechtigung Vordefinierte Rolle mit den erforderlichen Berechtigungen

serviceusage.services.enable

Service Usage-Administrator
(roles/serviceusage.serviceUsageAdmin)

iam.serviceAccounts.create

Dienstkontoadministrator
(roles/iam.serviceAccountAdmin)

resourcemanager.projects.setIamPolicy

Projekt-IAM-Administrator
(roles/resourcemanager.projectIamAdmin)
config.deployments.create
config.deployments.list
Cloud Infrastructure Manager Admin
(roles/config.admin)
iam.serviceAccount.actAs Dienstkontonutzer
(roles/iam.serviceAccountUser)

Temporäre Dienstkontoberechtigungen

Wenn Sie den Bereitstellungsprozess über die Console starten, erstellt Google ein Dienstkonto, um die Lösung für Sie bereitzustellen und die Bereitstellung später zu löschen, wenn Sie dies möchten. Diesem Dienstkonto werden bestimmte IAM-Berechtigungen vorübergehend zugewiesen. Das heißt, die Berechtigungen werden automatisch widerrufen, nachdem die Bereitstellungs- und Löschvorgänge für die Lösung abgeschlossen sind. Google empfiehlt, dass Sie nach dem Löschen der Bereitstellung das Dienstkonto löschen, wie weiter unten in dieser Anleitung beschrieben.

Rollen ansehen, die dem Dienstkonto zugewiesen sind

Diese Rollen sind hier aufgeführt, falls ein Administrator Ihres Google Cloud-Projekts oder Ihrer Organisation diese Informationen benötigt.

  • roles/serviceusage.serviceUsageAdmin
  • roles/iam.serviceAccountAdmin
  • roles/resourcemanager.projectIamAdmin
  • roles/cloudfunctions.admin
  • roles/run.admin
  • roles/storage.admin
  • roles/pubsublite.admin
  • roles/iam.securityAdmin
  • roles/logging.admin
  • roles/artifactregistry.reader
  • roles/cloudbuild.builds.editor
  • roles/compute.admin
  • roles/iam.serviceAccountUser

Lösung bereitstellen

In diesem Abschnitt wird die Bereitstellung der Lösung beschrieben.

Damit Sie diese Lösung mit minimalem Aufwand bereitstellen können, wird in GitHub eine Terraform-Konfiguration bereitgestellt. Die Terraform-Konfiguration definiert alle Google Cloud-Ressourcen, die für die Lösung erforderlich sind.

Sie können die Lösung mit einer der folgenden Methoden bereitstellen:

  • Über die Console: Verwenden Sie diese Methode, wenn Sie die Lösung mit der Standardkonfiguration testen und sehen möchten, wie sie funktioniert. Cloud Build stellt alle für die Lösung erforderlichen Ressourcen bereit. Wenn Sie die bereitgestellte Lösung nicht mehr benötigen, können Sie sie aus der Console löschen. Alle Ressourcen, die Sie nach der Bereitstellung der Lösung erstellen, müssen möglicherweise separat gelöscht werden.

    Folgen Sie der Anleitung unter Über die Console bereitstellen, um diese Bereitstellungsmethode zu verwenden.

  • Terraform-Befehlszeile verwenden: Verwenden Sie diese Methode, wenn Sie die Lösung anpassen oder die Bereitstellung und Verwaltung der Ressourcen mithilfe von Infrastruktur als Code (IaC) automatisieren möchten. Laden Sie die Terraform-Konfiguration von GitHub herunter, passen Sie optional den Code nach Bedarf an und stellen Sie die Lösung mit der Terraform-Befehlszeile bereit. Nachdem Sie die Lösung bereitgestellt haben, können Sie sie mit Terraform verwalten.

    Folgen Sie der Anleitung unter Mit der Terraform CLI bereitstellen, um diese Bereitstellungsmethode zu verwenden.

Über die Console bereitstellen

Führen Sie die folgenden Schritte aus, um die vorkonfigurierte Lösung bereitzustellen.

  1. Wechseln Sie im Google Cloud Jump Start-Lösungskatalog zur Lösung KI/ML-Bildverarbeitung in Cloud Functions.

    Zur Lösung "AI/ML-Bildverarbeitung in Cloud Functions"

  2. Prüfen Sie die auf der Seite bereitgestellten Informationen, z. B. die geschätzten Kosten der Lösung und die geschätzte Bereitstellungszeit.

  3. Wenn Sie die Lösung bereitstellen möchten, klicken Sie auf Bereitstellen.

    Ein Schritt-für-Schritt-Konfigurationsbereich wird angezeigt.

  4. Führen Sie die Schritte im Konfigurationsbereich aus.

    Notieren Sie sich den Namen, den Sie für die Bereitstellung eingegeben haben. Sie benötigen diesen Namen später, wenn Sie die Bereitstellung löschen.

    Wenn Sie auf Bereitstellen klicken, wird die Seite Lösungsbereitstellungen angezeigt. Im Feld Status auf dieser Seite wird Wird bereitgestellt angezeigt.

  5. Warten Sie, bis die Lösung bereitgestellt wurde.

    Wenn die Bereitstellung fehlschlägt, wird im Feld Status der Eintrag Fehlgeschlagen angezeigt. Sie können das Cloud Build-Log verwenden, um die Fehler zu diagnostizieren. Weitere Informationen finden Sie unter Fehler bei der Bereitstellung über die Console.

    Wenn die Bereitstellung abgeschlossen ist, ändert sich das Feld Status in Bereitgestellt.

  6. Nehmen Sie an einer interaktiven Tour teil, um die bereitgestellten Google Cloud-Ressourcen und ihre Konfiguration aufzurufen.

    Tour starten

Informationen zum Testen der Lösung finden Sie unter Lösung ansehen.

Wenn Sie die Lösung nicht mehr benötigen, können Sie die Bereitstellung löschen, um weitere Kosten für die Google Cloud-Ressourcen zu vermeiden. Weitere Informationen finden Sie unter Bereitstellung löschen.

Mit der Terraform-Befehlszeile bereitstellen

In diesem Abschnitt wird beschrieben, wie Sie die Lösung anpassen oder die Bereitstellung und Verwaltung der Lösung mit der Terraform CLI automatisieren können. Lösungen, die Sie mit der Terraform-Befehlszeile bereitstellen, werden auf der Seite Lösungsbereitstellungen in der Google Cloud Console nicht angezeigt.

Terraform-Client einrichten

Sie können Terraform entweder in Cloud Shell oder auf Ihrem lokalen Host ausführen. In dieser Anleitung wird beschrieben, wie Sie Terraform in Cloud Shell ausführen. Dort ist Terraform vorinstalliert und für die Authentifizierung bei Google Cloud konfiguriert.

Der Terraform-Code für diese Lösung ist in einem GitHub-Repository verfügbar.

  1. Klonen Sie das GitHub-Repository in Cloud Shell.

    In Cloud Shell öffnen

    Es wird eine Eingabeaufforderung angezeigt, um das Herunterladen des GitHub-Repositorys in Cloud Shell zu bestätigen.

  2. Klicken Sie auf Bestätigen.

    Cloud Shell wird in einem separaten Browser-Tab gestartet und der Terraform-Code wird in das Verzeichnis $HOME/cloudshell_open Ihrer Cloud Shell-Umgebung heruntergeladen.

  3. Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Dies ist das Verzeichnis, das die Terraform-Konfigurationsdateien für die Lösung enthält. Wenn Sie in dieses Verzeichnis wechseln müssen, führen Sie den folgenden Befehl aus:

    cd $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra
    
  4. Initialisieren Sie Terraform mit dem folgenden Befehl:

    terraform init
    

    Warten Sie, bis folgende Meldung angezeigt wird:

    Terraform has been successfully initialized!
    

Terraform-Variablen konfigurieren

Der heruntergeladene Terraform-Code enthält Variablen, mit denen Sie die Bereitstellung entsprechend Ihren Anforderungen anpassen können. Sie können beispielsweise das Google Cloud-Projekt und die Region angeben, in der die Lösung bereitgestellt werden soll.

  1. Achten Sie darauf, dass das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.

  2. Erstellen Sie im selben Verzeichnis eine Textdatei mit dem Namen terraform.tfvars.

  3. Kopieren Sie in der Datei terraform.tfvars das folgende Code-Snippet und legen Sie Werte für die erforderlichen Variablen fest.

    • Folgen Sie den Anleitungen, die im Code-Snippet als Kommentare angegeben sind.
    • Dieses Code-Snippet enthält nur die Variablen, für die Sie Werte festlegen müssen. Die Terraform-Konfiguration enthält andere Variablen mit Standardwerten. Informationen zu allen Variablen und Standardwerten finden Sie in der Datei variables.tf im Verzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra.
    • Achten Sie darauf, dass jeder in der Datei terraform.tfvars festgelegte Wert mit dem Typ der Variable übereinstimmt, wie in der Datei variables.tf angegeben. Beispiel: Wenn der Typ, der für eine Variable in der Datei variables.tf definiert wurde, bool ist, müssen Sie true oder false als Wert dieser Variable in der Datei terraform.tfvars angeben.
    # This is an example of the terraform.tfvars file.
    # The values in this file must match the variable types declared in variables.tf.
    # The values in this file override any defaults in variables.tf.
    
    # ID of the project in which you want to deploy the solution
    project_id = "PROJECT_ID"
    

Terraform-Konfiguration validieren und prüfen

  1. Prüfen Sie, ob das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.

  2. Prüfen Sie, ob die Terraform-Konfiguration Fehler enthält:

    terraform validate
    

    Wenn der Befehl einen Fehler zurückgibt, nehmen Sie die erforderlichen Korrekturen in der Konfiguration vor und führen Sie den Befehl terraform validate noch einmal aus. Wiederholen Sie diesen Schritt, bis der Befehl die folgende Meldung zurückgibt:

    Success! The configuration is valid.
    
  3. Sehen Sie sich die Ressourcen an, die in der Konfiguration definiert sind:

    terraform plan
    
  4. Wenn Sie die Datei terraform.tfvars nicht wie zuvor beschrieben erstellt haben, werden Sie von Terraform zur Eingabe von Werten für die Variablen aufgefordert, die keine Standardwerte haben. Geben Sie die erforderlichen Werte ein.

    Die Ausgabe des Befehls terraform plan ist eine Liste der Ressourcen, die Terraform beim Anwenden der Konfiguration bereitstellt.

    Wenn Sie Änderungen vornehmen möchten, bearbeiten Sie die Konfiguration und führen Sie dann die Befehle terraform validate und terraform plan noch einmal aus.

Ressourcen bereitstellen

Wenn keine weiteren Änderungen an der Terraform-Konfiguration erforderlich sind, stellen Sie die Ressourcen bereit.

  1. Prüfen Sie, ob das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.

  2. Wenden Sie die Terraform-Konfiguration an:

    terraform apply
    
  3. Wenn Sie die Datei terraform.tfvars nicht wie zuvor beschrieben erstellt haben, werden Sie von Terraform zur Eingabe von Werten für die Variablen aufgefordert, die keine Standardwerte haben. Geben Sie die erforderlichen Werte ein.

    Terraform zeigt eine Liste der Ressourcen an, die erstellt werden.

  4. Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie yes ein.

    In Terraform werden Nachrichten angezeigt, die den Fortschritt der Bereitstellung anzeigen.

    Wenn die Bereitstellung nicht abgeschlossen werden kann, zeigt Terraform die Fehler an, die den Fehler verursacht haben. Prüfen Sie die Fehlermeldungen und aktualisieren Sie die Konfiguration, um die Fehler zu beheben. Führen Sie den Befehl terraform apply dann noch einmal aus. Hilfe zur Fehlerbehebung bei Terraform-Fehlern finden Sie unter Fehler bei der Bereitstellung der Lösung mit der Terraform-Befehlszeile.

    Nachdem alle Ressourcen erstellt wurden, zeigt Terraform die folgende Meldung an:

    Apply complete!
    

    Die Terraform-Ausgabe enthält auch die Einstiegspunkt-URL des Bildverarbeitungsdienstes, den Namen des Cloud Storage-Eingabe-Buckets zum Hochladen von Bildern und den Namen des Cloud Storage-Ausgabe-Buckets, der Bildanmerkungsdaten enthält, wie in der folgenden Beispielausgabe gezeigt wird:

    vision_annotations_gcs = "gs://vision-annotations-1234567890"
    vision_input_gcs = "gs://vision-input-1234567890"
    vision_prediction_url = [
      "https://annotate-http-abcde1wxyz-wn.a.run.app",
      "ingressIndex:0",
      "ingressValue:ALLOW_ALL",
      "isAuthenticated:false",
    ]
    
  5. Nehmen Sie an einer interaktiven Tour teil, um die bereitgestellten Google Cloud-Ressourcen und ihre Konfiguration aufzurufen.

    Tour starten

Als Nächstes erfahren Sie mehr über die Lösung und ihre Funktionsweise.

Wenn Sie die Lösung nicht mehr benötigen, können Sie die Bereitstellung löschen, um weitere Kosten für die Google Cloud-Ressourcen zu vermeiden. Weitere Informationen finden Sie unter Bereitstellung löschen.

Lösung kennenlernen

In diesem Abschnitt können Sie versuchen, die Lösung in Aktion zu sehen. Der Bildverarbeitungsdienst kann auf zwei Arten aufgerufen werden: durch direkten Aufruf der REST API oder durch Hochladen von Bildern in den Cloud Storage-Eingabe-Bucket.

Dienst über die REST API aufrufen

In Szenarien, in denen Sie Bilder in einem Anfrage-Antwort-Ablauf synchron verarbeiten möchten, verwenden Sie die REST API des Bildverarbeitungsdienstes.

Die von der Lösung bereitgestellte annotate-http-Funktion ist der Einstiegspunkt zur REST API des Bildverarbeitungsdienstes. Die URL dieser Funktion finden Sie in der Console oder, wenn Sie sie mit der Terraform-Befehlszeile bereitgestellt haben, in der Ausgabevariable vision_prediction_url. Diese Einstiegspunkt-URL stellt einen Endpunkt mit dem Namen /annotate für Bildverarbeitungsanfragen bereit. Der Endpunkt /annotate unterstützt GET- und POST-Anfragen mit den folgenden Parametern:

Parameter Beschreibung
image (Nur POST-Anfragen) Bildinhalte, die im Binärformat hochgeladen oder als base64-codierte Bilddaten angegeben werden.
image_uri URI, der auf ein Bild verweist
features (Optional) Eine durch Kommas getrennte Liste mit Features der Vision API-Annotationen, die angefordert werden sollen.

Mögliche Featurewerte sind:
  • CROP_HINTS
  • DOCUMENT_TEXT_DETECTION
  • FACE_DETECTION
  • IMAGE_PROPERTIES
  • LABEL_DETECTION
  • LANDMARK_DETECTION
  • LOGO_DETECTION
  • OBJECT_LOCALIZATION
  • PRODUCT_SEARCH
  • SAFE_SEARCH_DETECTION
  • TEXT_DETECTION
  • WEB_DETECTION

Wenn Sie das zu analysierende Bild angeben möchten, fügen Sie nur einen der image- oder image_uri-Parameter ein. Wenn Sie beides angeben, wird image_uri verwendet.

Wenn Sie beispielsweise die Objekterkennung für ein Bild mit einem Internet-URI durchführen möchten, können Sie eine GET-Anfrage wie die folgende mit curl senden:

curl "YOUR_ENTRYPOINT_URL/annotate?features=OBJECT_LOCALIZATION&image_uri=YOUR_IMAGE_URI"

Wenn Sie Bildinhalte direkt mithilfe einer lokalen Bilddatei angeben möchten, können Sie auch eine POST-Anfrage wie die folgende verwenden:

curl -X POST -F image=@YOUR_IMAGE_FILENAME -F features=OBJECT_LOCALIZATION "YOUR_ENTRYPOINT_URL/annotate"

Die Antwort enthält die Bildanmerkungen der Vision API im JSON-Format.

Dienst durch Hochladen von Images in Cloud Storage aufrufen

In Szenarien, in denen Sie Bilder asynchron oder im Batch hochladen möchten, verwenden Sie den Cloud Storage-Trigger des Bildverarbeitungsdienstes, der den Dienst automatisch als Reaktion auf Bilduploads aufruft.

So analysieren Sie Bilder mit dem Cloud Storage-Trigger:

  1. Wechseln Sie in der Console unter „Cloud Storage“ zur Seite Buckets.

    Cloud Storage aufrufen

  2. Klicken Sie auf den Namen des Eingabe-Buckets (vision-input-ID), um die zugehörige Seite Bucket-Details aufzurufen.

  3. Klicken Sie im Tab Objekte auf Dateien hochladen.

  4. Wählen Sie die Bilddateien aus, die Sie analysieren möchten.

  5. Kehren Sie nach Abschluss des Uploads zur Seite Cloud Storage-Buckets zurück.

    Cloud Storage aufrufen

  6. Klicken Sie auf den Namen des Annotationsausgabe-Buckets (vision-annotations-ID), um die zugehörige Seite Bucket-Details aufzurufen.

  7. Der Tab Objekte enthält eine separate JSON-Datei für jedes hochgeladene Bild. Die JSON-Dateien enthalten die Anmerkungsdaten für jedes Bild.

Lösung anpassen

Dieser Abschnitt enthält Informationen, mit denen Terraform-Entwickler die KI/ML-Bildverarbeitung in der Cloud Functions-Lösung ändern können, um ihre eigenen technischen und geschäftlichen Anforderungen zu erfüllen. Die Anleitung in diesem Abschnitt ist nur relevant, wenn Sie die Lösung mit der Terraform CLI bereitstellen.

Die Terraform-Konfiguration für diese Lösung bietet die folgenden Variablen, mit denen Sie den Bildverarbeitungsdienst anpassen können:

Variable Beschreibung Standardwert
region Die Google Cloud-Region, in der die Cloud Run-Funktionen und andere Lösungsressourcen bereitgestellt werden sollen. Weitere Informationen finden Sie unter Standorte von Cloud Run-Funktionen. us-west4
gcf_max_instance_count Die maximale Anzahl von Cloud Run-Funktionsinstanzen für den Dienst. So können Sie das Skalierungsverhalten des Dienstes steuern. Weitere Informationen finden Sie unter Maximale Instanzen verwenden. 10
gcf_timeout_seconds Das Zeitlimit für Anfragen an den Dienst in Sekunden. Damit wird gesteuert, wie lange der Dienst zum Antworten benötigt. Weitere Informationen finden Sie unter Funktionszeitlimit. 120
gcf_http_ingress_type_index Steuert, ob der Dienst von Ressourcen außerhalb des Google Cloud-Projekts aufgerufen werden kann. Weitere Informationen finden Sie unter Einstellungen für eingehenden Traffic für weitere Informationen.

Folgende Werte sind möglich:
  • 0 (Alle zulassen)
  • 1 (Nur intern zulassen)
  • 2 (Internes und Cloud Load Balancing zulassen)
0 (Alle zulassen)
gcf_require_http_authentication Steuert, ob eine Authentifizierung erforderlich ist, um eine Anfrage an den Dienst zu senden. Weitere Informationen finden Sie unter Für Aufruf authentifizieren. false
gcf_annotation_features Eine durch Kommas getrennte Liste mit Vision API-Annotationsfeatures, die der Dienst standardmäßig einschließen soll. Dies kann für einzelne Anfragen überschrieben werden.

Mögliche Featurewerte sind:
  • CROP_HINTS
  • DOCUMENT_TEXT_DETECTION
  • FACE_DETECTION
  • IMAGE_PROPERTIES
  • LABEL_DETECTION
  • LANDMARK_DETECTION
  • LOGO_DETECTION
  • OBJECT_LOCALIZATION
  • PRODUCT_SEARCH
  • SAFE_SEARCH_DETECTION
  • TEXT_DETECTION
  • WEB_DETECTION
FACE_DETECTION,PRODUCT_SEARCH,SAFE_SEARCH_DETECTION

Führen Sie folgende Schritte in Cloud Shell aus, um die Lösung anzupassen:

  1. Achten Sie darauf, dass das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.

  2. Öffnen Sie die Datei terraform.tfvars und nehmen Sie die erforderlichen Änderungen vor. Geben Sie dazu die entsprechenden Werte für die in der vorherigen Tabelle aufgeführten Variablen an.

  3. Validieren und prüfen Sie die Terraform-Konfiguration.

  4. Stellen Sie Ressourcen bereit.

Designempfehlungen

Wenn Sie Änderungen an der Lösung vornehmen, indem Sie entweder die Werte der bereitgestellten Terraform-Variablen oder die Terraform-Konfiguration selbst ändern, lesen Sie die Ressourcen in diesem Abschnitt, die Ihnen bei der Entwicklung einer Architektur helfen, die Ihren Anforderungen für Sicherheit, Zuverlässigkeit, Kosten und Leistung entspricht.

Hinweis:

  • Bevor Sie Designänderungen vornehmen, prüfen Sie die Kostenauswirkungen und berücksichtigen Sie mögliche Kompromisse mit anderen Features. Sie können die Kostenauswirkungen von Designänderungen mit dem Google Cloud-Preisrechner bewerten.
  • Wenn Sie Designänderungen in der Lösung implementieren möchten, benötigen Sie Fachwissen über die Terraform-Codierung und erweiterte Kenntnisse über die in der Lösung verwendeten Google Cloud-Dienste.
  • Wenn Sie die von Google bereitgestellte Terraform-Konfiguration ändern und dann Fehler auftreten, erstellen Sie Probleme in GitHub. GitHub-Probleme werden auf Best-Effort-Basis geprüft und sind nicht für allgemeine Fragen zur Nutzung vorgesehen.
  • Informationen zum Entwerfen und Einrichten von produktionstauglichen Umgebungen in Google Cloud finden Sie unter Design der Landing-Zone in Google Cloud und in der Checkliste für die Einrichtung von Google Cloud.

Sicherheit

Standardmäßig lässt der Bildverarbeitungsdienst Anfragen aus dem Internet zu und erfordert keine Authentifizierung für Anfragen. In einer Produktionsumgebung möchten Sie möglicherweise den Zugriff auf den Dienst einschränken.

Sie können steuern, woher Anfragen an Ihren Dienst stammen. Dazu ändern Sie die Terraform-Variable gcf_http_ingress_type_index. Seien Sie vorsichtig, bevor Sie unbeabsichtigt die Dienstendpunkte der Lösung im Internet öffentlich zugänglich machen. Weitere Informationen finden Sie in der Dokumentation zu Cloud Run-Funktionen unter Netzwerkeinstellungen konfigurieren.

Sie können eine Authentifizierung für Anfragen an die REST API des Bildverarbeitungsdienstes anfordern, indem Sie die Terraform-Variable gcf_require_http_authentication ändern. So können Sie den individuellen Zugriff auf den Dienst steuern. Wenn Sie eine Authentifizierung benötigen, müssen Aufrufer des Dienstes Anmeldedaten bereitstellen, um eine Anfrage zu senden. Weitere Informationen finden Sie in der Dakumentation zu Cloud Run-Funktionen unter Für Aufruf authentifizieren.

Weitere Sicherheitsempfehlungen finden Sie in den Google Cloud-Architektur-Framework-Richtlinien für Sicherheit, Datenschutz und Compliance.

Zuverlässigkeit

Wenn Nutzer Bilder in den Cloud Storage-Eingabe-Bucket hochladen, können in der resultierenden Annotationsausgabe unterschiedliche Latenzzeiten auftreten. Standardmäßig müssen Nutzer den Ausgabe-Bucket abfragen, um festzustellen, wann die Annotationen verfügbar sind. Damit Ihre Anwendung zuverlässig aktiv wird, sobald die Bildverarbeitung abgeschlossen ist, können Sie Cloud Storage-Ereignisse im Ausgabe-Bucket abonnieren. Sie können beispielsweise eine andere Cloud Run-Funktion bereitstellen, um die Annotationsdaten zu verarbeiten. Weitere Informationen finden Sie in der Dokumentation zu Cloud Run-Funktionen unter Cloud Storage-Trigger.

Weitere Empfehlungen finden Sie in den folgenden Anleitungen, um die Zuverlässigkeit der in dieser Lösung verwendeten Produkte zu optimieren:

Leistung

Der Durchsatz des Bildverarbeitungsdienstes wird direkt von der Skalierungsfunktion von Cloud Run-Funktionen beeinflusst. Cloud Run-Funktionen skalieren automatisch, indem Funktionsinstanzen für die Verarbeitung der eingehenden Trafficlast erstellt werden, bis ein konfigurierbares Limit erreicht ist. Sie können die Skalierung der Funktionen steuern und damit den Durchsatz des Bildverarbeitungsdienstes verbessern. Ändern Sie dazu das maximale Instanzlimit oder entfernen Sie das Limit vollständig. Verwenden Sie die Terraform-Variable gcf_max_instance_count, um das Limit zu ändern. Weitere Informationen finden Sie in der Dokumentation zu Cloud Run-Funktionen unter Maximale Instanzen verwenden und Autoscaling-Verhalten.

Darüber hinaus können Sie die Leistung optimieren, indem Sie die folgenden Best Practices befolgen:

Kosten

Verwenden Sie die Empfehlungen in den folgenden Anleitungen, um die Kosten Ihrer Lösung zu optimieren:

Bereitstellung löschen

Löschen Sie die Bereitstellung, wenn Sie die Lösungsbereitstellung nicht mehr benötigen, um eine weitere Abrechnung der von Ihnen erstellten Ressourcen zu vermeiden.

Über die Console löschen

Verwenden Sie dieses Verfahren, wenn Sie die Lösung über die Console bereitgestellt haben.

  1. Rufen Sie in der Google Cloud Console die Seite Lösungsbereitstellungen auf.

    Zu Lösungsbereitstellungen

  2. Wählen Sie das Projekt aus, das die Bereitstellung enthält, die Sie löschen möchten.

  3. Suchen Sie die Bereitstellung, die Sie löschen möchten.

  4. Klicken Sie in der Zeile für die Bereitstellung auf Aktionen und wählen Sie Löschen aus.

    Eventuell müssen Sie scrollen, um in der Zeile Aktionen zu sehen.

  5. Geben Sie den Namen der Bereitstellung ein und klicken Sie auf Bestätigen.

    Im Feld Status wird Löschen angezeigt.

    Wenn der Löschvorgang fehlschlägt, lesen Sie die Anleitung zur Fehlerbehebung unter Fehler beim Löschen einer Bereitstellung.

Wenn Sie das für die Lösung verwendete Google Cloud-Projekt nicht mehr benötigen, können Sie das Projekt löschen. Weitere Informationen finden Sie unter Optional: Projekt löschen.

Mit der Terraform-Befehlszeile löschen

Verwenden Sie dieses Verfahren, wenn Sie die Lösung mit der Terraform CLI bereitgestellt haben.

  1. Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis $HOME/cloudshell_open/terraform-ml-image-annotation-gcf/infra ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.

  2. Entfernen Sie die von Terraform bereitgestellten Ressourcen:

    terraform destroy
    

    Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.

  3. Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie yes ein.

    Terraform zeigt Nachrichten mit dem Fortschritt an. Nachdem alle Ressourcen gelöscht wurden, zeigt Terraform die folgende Meldung an:

    Destroy complete!
    

    Wenn der Löschvorgang fehlschlägt, lesen Sie die Anleitung zur Fehlerbehebung unter Fehler beim Löschen einer Bereitstellung.

Wenn Sie das für die Lösung verwendete Google Cloud-Projekt nicht mehr benötigen, können Sie das Projekt löschen. Weitere Informationen finden Sie unter Optional: Projekt löschen.

Optional: Projekt löschen

Wenn Sie die Lösung in einem neuen Google Cloud-Projekt bereitgestellt haben und das Projekt nicht mehr benötigen, löschen Sie es mit den folgenden Schritten:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.

Wenn Sie das Projekt behalten möchten, löschen Sie das Dienstkonto, das für diese Lösung erstellt wurde, wie im nächsten Abschnitt beschrieben.

Optional: Dienstkonto löschen

Wenn Sie das Projekt gelöscht haben, das Sie für die Lösung verwendet haben, überspringen Sie diesen Abschnitt.

Wie bereits in diesem Leitfaden erwähnt, wurde bei der Bereitstellung der Lösung ein Dienstkonto für Sie erstellt. Dem Dienstkonto wurden vorübergehend bestimmte IAM-Berechtigungen zugewiesen; Das heißt, die Berechtigungen werden nach dem Abschluss der Bereitstellungs- und Löschvorgänge der Lösung automatisch widerrufen, aber das Dienstkonto wird nicht gelöscht. Google empfiehlt, dass Sie dieses Dienstkonto löschen.

  • Wenn Sie die Lösung über die Google Cloud Console bereitgestellt haben, rufen Sie die Seite Lösungsbereitstellungen auf. Wenn Sie sich bereits auf dieser Seite befinden, aktualisieren Sie den Browser. Im Hintergrund wird ein Prozess ausgelöst, mit dem das Dienstkonto gelöscht wird. Es sind keine weiteren Aktionen erforderlich.

  • Wenn Sie die Lösung mithilfe der Terraform-Befehlszeile bereitgestellt haben, führen Sie folgende Schritte aus:

    1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:

      Zur Seite „Dienstkonten“

    2. Wählen Sie das Projekt aus, das Sie für die Lösung verwendet haben.

    3. Wählen Sie das Dienstkonto aus, das Sie löschen möchten.

      Die E-Mail-ID des Dienstkontos, das für die Lösung erstellt wurde, hat das folgende Format:

      goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
      

      Die E-Mail-ID enthält die folgenden Werte:

      • DEPLOYMENT_NAME: Der Name der Bereitstellung.
      • NNN: Eine zufällige dreistellige Zahl.
      • PROJECT_ID: Die ID des Projekts, in dem Sie die Lösung bereitgestellt haben.
    4. Klicken Sie auf Löschen.

Fehler beheben

Welche Aktionen Sie zur Diagnose und Behebung von Fehlern ausführen können, hängt von der Bereitstellungsmethode und der Komplexität des Fehlers ab.

Fehler bei der Bereitstellung über die Console

Wenn Sie die Console verwenden und die Bereitstellung fehlschlägt, gehen Sie so vor:

  1. Rufen Sie die Seite Lösungsbereitstellungen auf.

    Wenn die Bereitstellung fehlgeschlagen ist, wird im Feld Status der Eintrag Fehlgeschlagen angezeigt.

  2. So rufen Sie die Details zu den Fehlern auf, die das Problem verursacht haben:

    1. Klicken Sie in der Zeile für die Bereitstellung auf Aktionen.

      Eventuell müssen Sie scrollen, um in der Zeile Aktionen zu sehen.

    2. Wählen Sie Cloud Build-Logs ansehen aus.

  3. Prüfen Sie das Cloud Build-Log und ergreifen Sie entsprechende Maßnahmen, um das Problem zu beheben.

Fehler bei der Bereitstellung mit der Terraform-Befehlszeile

Wenn die Bereitstellung bei Verwendung von Terraform fehlschlägt, enthält die Ausgabe des Befehls terraform apply Fehlermeldungen, die Sie prüfen können, um das Problem zu diagnostizieren.

Die Beispiele in den folgenden Abschnitten zeigen Bereitstellungsfehler, die bei der Verwendung von Terraform auftreten können.

API nicht aktiviert

Wenn Sie ein Projekt erstellen und dann sofort versuchen, die Lösung im neuen Projekt bereitzustellen, schlägt die Bereitstellung mit folgendem Fehler möglicherweise fehl:

Error: Error creating Network: googleapi: Error 403: Compute Engine API has not
been used in project PROJECT_ID before or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=PROJECT_ID
then retry. If you enabled this API recently, wait a few minutes for the action
to propagate to our systems and retry.

Wenn dieser Fehler auftritt, warten Sie einige Minuten und führen Sie dann den Befehl terraform apply noch einmal aus.

Wenn der Fehler "API nicht aktiviert" weiterhin besteht, klicken Sie auf den Link in der Fehlermeldung, um die API zu aktivieren. Warten Sie einige Sekunden, bis die API aktiviert wurde, und führen Sie den Befehl terraform apply noch einmal aus.

Die angeforderte Adresse kann nicht zugewiesen werden

Wenn Sie den terraform apply-Befehl ausführen, kann ein cannot assign requested address-Fehler mit einer Meldung wie der folgenden auftreten:

Error: Error creating service account:
 Post "https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts:
 dial tcp [2001:db8:ffff:ffff::5f]:443:
 connect: cannot assign requested address

Wenn dieser Fehler auftritt, führen Sie den terraform apply-Befehl noch einmal aus.

Fehler beim Löschen einer Bereitstellung

In bestimmten Fällen können Versuche, eine Bereitstellung zu löschen, fehlschlagen:

  • Wenn Sie nach dem Bereitstellen einer Lösung über die Console eine Ressource ändern, die von der Lösung bereitgestellt wurde, und Sie dann versuchen, die Bereitstellung zu löschen, schlägt der Vorgang möglicherweise fehl. Das Feld Status auf der Seite Lösungsbereitstellungen zeigt Fehlgeschlagen und das Cloud Build-Log zeigt die Fehlerursache an.
  • Wenn Sie nach dem Bereitstellen einer Lösung mit der Terraform-Befehlszeile eine Ressource über eine Nicht-Terraform-Schnittstelle ändern (z. B. die Console) und dann versuchen, die Bereitstellung zu löschen, schlägt der Vorgang möglicherweise fehl. Die Nachrichten in der Ausgabe des Befehls terraform destroy enthalten die Ursache des Fehlers.

Überprüfen Sie die Fehlerlogs und -meldungen, identifizieren und löschen Sie die Ressourcen, die den Fehler verursacht haben, und versuchen Sie dann noch einmal, die Bereitstellung zu löschen.

Wenn eine console-basierte Bereitstellung nicht gelöscht wird und Sie den Fehler nicht mit dem Cloud Build-Log diagnostizieren können, können Sie die Bereitstellung mit der Terraform-Befehlszeile löschen. Dies wird im nächsten Abschnitt beschrieben.

Console-basierte Bereitstellung mithilfe der Terraform-Befehlszeile löschen

In diesem Abschnitt wird beschrieben, wie Sie eine console-basierte Bereitstellung löschen, wenn Fehler beim Löschen aus der Console auftreten. Bei diesem Ansatz laden Sie die Terraform-Konfiguration für die Bereitstellung herunter, die Sie löschen möchten, und verwenden dann die Terraform-Befehlszeile, um die Bereitstellung zu löschen.

  1. Ermitteln Sie die Region, in der der Terraform-Code, die Logs und andere Daten der Bereitstellung gespeichert sind. Diese Region kann sich von der Region unterscheiden, die Sie bei der Bereitstellung der Lösung ausgewählt haben.

    1. Rufen Sie in der Google Cloud Console die Seite Lösungsbereitstellungen auf.

      Zu „Lösungsbereitstellungen“

    2. Wählen Sie das Projekt aus, das die Bereitstellung enthält, die Sie löschen möchten.

    3. Identifizieren Sie in der Liste der Bereitstellungen die Zeile für die Bereitstellung, die Sie löschen möchten.

    4. Klicken Sie auf Gesamten Zeileninhalt ansehen.

    5. Beachten Sie in der Spalte Standort den zweiten Standort, wie im folgenden Beispiel hervorgehoben:

      Speicherort des Bereitstellungscodes, der Logs und anderer Artefakte.

  2. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  3. Erstellen Sie Umgebungsvariablen für die Projekt-ID, die Region und den Namen der Bereitstellung, die Sie löschen möchten:

    export REGION="REGION"
    export PROJECT_ID="PROJECT_ID"
    export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
    

    Ersetzen Sie in diesen Befehlen Folgendes:

    • REGION: der Standort, den Sie zuvor in dieser Prozedur notiert haben.
    • PROJECT_ID: die ID des Projekts, in dem Sie die Lösung bereitgestellt haben.
    • DEPLOYMENT_NAME: der Name der Bereitstellung, die Sie löschen möchten.
  4. Rufen Sie die ID der neuesten Überarbeitung der Bereitstellung ab, die Sie löschen möchten:

    export REVISION_ID=$(curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \
        | jq .latestRevision -r)
        echo $REVISION_ID
    

    Die Ausgabe sieht in etwa so aus:

    projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
    
  5. Rufen Sie den Cloud Storage-Speicherort der Terraform-Konfiguration für die Bereitstellung ab:

    export CONTENT_PATH=$(curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \
        | jq .applyResults.content -r)
        echo $CONTENT_PATH
    

    Im Folgenden finden Sie ein Beispiel für die Ausgabe dieses Befehls:

    gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
    
  6. Laden Sie die Terraform-Konfiguration von Cloud Storage in Cloud Shell herunter:

    gcloud storage cp $CONTENT_PATH $HOME --recursive
    cd $HOME/content/infra
    

    Warten Sie, bis die Meldung Operation completed angezeigt wird, wie im folgenden Beispiel gezeigt:

    Operation completed over 45 objects/268.5 KiB
    
  7. Initialisieren Sie Terraform:

    terraform init
    

    Warten Sie, bis folgende Meldung angezeigt wird:

    Terraform has been successfully initialized!
    
  8. Entfernen Sie die bereitgestellten Ressourcen:

    terraform destroy
    

    Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.

    Wenn Warnungen zu nicht deklarierten Variablen angezeigt werden, ignorieren Sie die Warnungen.

  9. Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie yes ein.

    Terraform zeigt Nachrichten mit dem Fortschritt an. Nachdem alle Ressourcen gelöscht wurden, zeigt Terraform die folgende Meldung an:

    Destroy complete!
    
  10. Löschen Sie das Bereitstellungsartefakt:

    curl -X DELETE \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
    
  11. Warten Sie einige Sekunden und prüfen Sie dann, ob das Bereitstellungsartefakt gelöscht wurde:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \
        | jq .error.message
    

    Wenn in der Ausgabe null angezeigt wird, warten Sie einige Sekunden und führen Sie den Befehl noch einmal aus.

    Nachdem das Bereitstellungsartefakt gelöscht wurde, wird wie im folgenden Beispiel gezeigt eine Meldung angezeigt:

    Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
    

Feedback geben

Schnellstartlösungen dienen nur zu Informationszwecken und sind keine offiziell unterstützten Produkte. Google kann Lösungen ohne Vorankündigung ändern oder entfernen.

Prüfen Sie zur Behebung von Fehlern die Cloud Build-Logs und die Terraform-Ausgabe.

So senden Sie Feedback:

  • Verwenden Sie für Dokumentation, Anleitungen in der Console oder die Lösung die Schaltfläche Feedback senden auf der Seite.
  • Erstellen Sie bei unverändertem Terraform-Code Fragen im GitHub-Repository. GitHub-Probleme werden auf Best-Effort-Basis geprüft und sind nicht für allgemeine Fragen zur Nutzung vorgesehen.
  • Bei Problemen mit Produkten, die in der Lösung verwendet werden, wenden Sie sich an den Cloud Customer Care.

Nächste Schritte