Workflows erstellen und verwalten

Sie können Workflows in der Google Cloud Console oder mithilfe der Google Cloud CLI entweder in Ihrem Terminal oder in Cloud Shell erstellen und verwalten. Sie können Workflows auch über die Workflows API verwalten.

Hinweise

Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.

Console

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  3. Workflows API aktivieren

    Aktivieren Sie die API

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  3. Workflows API aktivieren

    gcloud services enable workflows.googleapis.com
    

REST

Zum Verwalten von Workflows mit der Workflows API empfehlen wir, die von Google bereitgestellten Clientbibliotheken zum Aufrufen des workflows.googleapis.com-Dienstes zu verwenden. Weitere Informationen finden Sie unter Workflows API.

Dienstkonto erstellen

Ein Dienstkonto stellt die Identität eines Workflows dar und bestimmt, welche Berechtigungen der Workflow hat und auf welche Google Cloud-Ressourcen er zugreifen kann. Erstellen Sie ein Dienstkonto, falls Sie noch keines haben. Gewähren Sie ihm dann die Rollen, die zum Verwalten von Workflows und Erstellen von Logs erforderlich sind.

Wenn Sie bei der Erstellung des Workflows kein Dienstkonto angeben, verwendet der Workflow das Compute Engine-Standarddienstkonto als Identität. Weitere Informationen finden Sie unter Workflowberechtigung für den Zugriff auf Google Cloud-Ressourcen gewähren.

Es wird dringend empfohlen, ein Dienstkonto mit den geringsten Berechtigungen zu verwenden, die für den Zugriff auf die erforderlichen Ressourcen erforderlich sind.

Zum Erstellen einer Ressource und Anhängen eines Dienstkontos benötigen Sie Berechtigungen, um diese Ressource zu erstellen und die Identität des Dienstkontos zu übernehmen, das Sie an die Ressource anhängen. Weitere Informationen finden Sie unter Dienstkontoberechtigungen.

Console

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

    Zur Seite „Dienstkonten“

  2. Wählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.

  3. Geben Sie im Feld Dienstkontoname einen Namen ein.

    Der Name muss zwischen 6 und 30 Zeichen lang sein und alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie seinen Namen nicht mehr ändern.

  4. Klicken Sie auf Erstellen und fortfahren.

  5. Klicken Sie auf Rolle auswählen.

  6. Wählen Sie die folgenden Rollen aus und klicken Sie nach Bedarf auf Weitere Rolle hinzufügen:

    1. Wählen Sie zum Erstellen, Aktualisieren und Ausführen von Workflows Workflows > Workflow-Editor aus.
    2. Wählen Sie Logging > Log-Autor aus, um Logs an Cloud Logging zu senden.
  7. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

gcloud

  1. Erstellen Sie das Dienstkonto.

    gcloud iam service-accounts create SERVICE_ACCOUNT
  2. Erteilen Sie dem Dienstkonto Berechtigungen, indem Sie Rollen zuweisen.

    1. Weisen Sie zum Erstellen, Aktualisieren und Ausführen von Workflows die Rolle roles/workflows.editor zu:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
      
    2. Weisen Sie die Rolle roles/logging.logWriter zu, um Logs an Cloud Logging zu senden:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"
      

    Ersetzen Sie Folgendes:

    • SERVICE_ACCOUNT: der Name des Dienstkontos. Der Name des Dienstkontos muss zwischen 6 und 30 Zeichen lang sein und darf alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie seinen Namen nicht mehr ändern.

    • PROJECT_ID ist die ID Ihres Projekts.

REST

Sie können die Methode serviceAccounts.create verwenden, um ein Dienstkonto zu erstellen. Weitere Informationen finden Sie unter Dienstkonten erstellen.

Sie können mehrere Rollen programmatisch gewähren, indem Sie mit der Methode setIamPolicy die Zulassungsrichtlinie für eine Ressource ändern und festlegen. Weitere Informationen finden Sie unter Mehrere Rollen programmatisch gewähren oder widerrufen.

Workflow erstellen

Ein Workflow besteht aus einer Reihe von Schritten, die mit der Workflows-Syntax beschrieben werden. Diese kann entweder im YAML- oder JSON-Format geschrieben werden. Nachdem Sie einen Workflow definiert haben, stellen Sie ihn bereit, um ihn auszuführen. Der Bereitstellungsschritt überprüft auch, ob die Quelldatei ausgeführt werden kann. Es schlägt fehl, wenn die Quelldatei keine gültige Workflowdefinition enthält.

Das Bearbeiten von YAML-Dateien kann fehleranfällig sein. Sie können Ihren Workflow mit einer bevorzugten IDE oder einem bevorzugten Quellcode-Editor erstellen und automatische Vervollständigung und Syntaxfehler einrichten, um Fehler zu reduzieren.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf  Erstellen.

  3. Geben Sie einen Namen für den Workflow ein, z. B. myFirstWorkflow. Der Name kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten. Muss mit einem Buchstaben beginnen und mit einer Zahl oder einem Buchstaben enden.

  4. Fügen Sie optional eine Beschreibung des Workflows hinzu.

  5. Wählen Sie in der Liste Region einen geeigneten Standort aus, an dem der Workflow bereitgestellt werden soll, z. B. us-central1.

  6. Wählen Sie in der Liste Dienstkonto ein Dienstkonto aus, das Ihr Workflow für den Zugriff auf andere Google Cloud-Dienste verwenden soll. Weitere Informationen in diesem Dokument finden Sie unter Dienstkonto erstellen.

  7. Führen Sie optional die folgenden Schritte aus:

    1. Geben Sie die Ebene des Aufruf-Logging an, die Sie auf die Workflow-Definition anwenden möchten. Wählen Sie in der Liste Anruflogebene eine der folgenden Optionen aus:

      • Nicht angegeben: Es wird keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.
      • Nur Fehler: Alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme werden protokolliert.
      • Alle Aufrufe: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.
      • Keine Protokolle: Keine Anrufprotokollierung.
    2. Geben Sie den Cloud Key Management Service-Schlüssel an, den der Workflow für die Datenverschlüsselung verwenden soll: Wählen Sie Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK). Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

    3. Geben Sie eine Umgebungsvariable an, auf die der Workflow zur Laufzeit zugreifen kann. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.

    4. Label hinzufügen: Labels sind Schlüssel/Wert-Paare, mit denen Sie Ihre Google Cloud-Instanzen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?

    5. Workflow planen: Wählen Sie Neuen Trigger hinzufügen > Cloud Scheduler aus. Weitere Informationen finden Sie unter Workflow mit Cloud Scheduler planen.

    6. Workflow über ein Ereignis oder eine Pub/Sub-Nachricht auslösen: Wählen Sie Neuen Trigger hinzufügen > Eventarc aus. Weitere Informationen finden Sie unter Workflow mit Ereignissen oder Pub/Sub-Nachrichten auslösen.

  8. Klicken Sie auf Next (Weiter).

  9. Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein. Beispiel-Workflow ansehen

  10. Klicken Sie auf Bereitstellen.

gcloud

  1. Achten Sie darauf, dass der Quellcode Ihres Workflows in einer YAML- oder JSON-Datei gespeichert ist, z. B. MY_WORKFLOW.YAML oder MY_WORKFLOW.JSON. Sehen Sie sich einen Beispielworkflow an.

  2. Öffnen Sie ein Terminalfenster.

  3. Sie können einen Workflow mit dem Befehl gcloud workflows deploy erstellen und bereitstellen:

    gcloud workflows deploy WORKFLOW_NAME \
        --location=LOCATION \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Ersetzen Sie Folgendes:

    • WORKFLOW_NAME: der Name Ihres Workflows, z. B. myFirstWorkflow. Der Name kann Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Er muss mit einem Buchstaben beginnen und mit einer Ziffer oder einem Buchstaben enden.

    • LOCATION: Die Region, in der der Workflow bereitgestellt werden soll, z. B. us-central1.

    • CALL_LOGGING_LEVEL: Optional. Ebene des Aufruf-Logging, die während der Ausführung angewendet werden soll. Kann einer der folgenden Werte sein:

      • none: Es ist keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.
      • log-errors-only: Es werden alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme protokolliert
      • log-all-calls: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.
      • log-none: Kein Aufruf-Logging.
    • DESCRIPTION: Optional. Eine Beschreibung des Workflows.

    • LABEL_KEY=LABEL_VALUE: Optional. Liste von Label-Schlüssel/Wert-Paaren, mit denen Sie Ihre Google Cloud-Instanzen organisieren können, z. B. name=wrench. Weitere Informationen finden Sie unter Was sind Labels?

    • ENV_KEY=ENV_VALUE: Optional. Liste der Schlüssel/Wert-Paare für Umgebungsvariablen, z. B. MONTH=January. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.

    • ENCRYPT_KEY: Optional. Ein Cloud KMS-Schlüssel, den der Workflow für die Datenverschlüsselung im Format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME verwenden soll. Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Optional. Das Dienstkonto, mit dem Ihr Workflow auf andere Google Cloud-Dienste zugreift. Weitere Informationen in diesem Dokument finden Sie unter Dienstkonto erstellen.

    • YAML_OR_JSON_SOURCE_FILE: die Quelldatei für die Workflowdefinition. Beispiel: myFirstWorkflow.yaml

REST

Verwenden Sie zum Erstellen eines neuen Workflows mit einem angegebenen Namen die Methode projects.locations.workflows.create und den Abfrageparameter workflowId, um eine ID für den Workflow anzugeben.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • WORKFLOW_NAME: der Name Ihres Workflows, z. B. myFirstWorkflow. Der Name kann Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Er muss mit einem Buchstaben beginnen und mit einer Ziffer oder einem Buchstaben enden.
  • DESCRIPTION: Optional. Eine Beschreibung Ihres Workflows. Darf nicht länger als 1.000 Unicode-Zeichen sein.
  • LABEL_KEY und LABEL_VALUE: optional. Eine Zuordnung von Labelschlüssel- und -wertpaaren, mit denen Sie Ihre Google Cloud-Instanzen organisieren können. Beispiel: {"name": "wrench", "mass": "1kg", "count": "3"} Weitere Informationen finden Sie unter Was sind Labels? Es kann bis zu 10 Minuten dauern, bis das neue Label wirksam wird.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Optional. Das Dienstkonto, das Ihr Workflow für den Zugriff auf andere Google Cloud-Dienste verwenden wird. Die Projekt-ID ist Ihre Google Cloud-Projekt-ID. Weitere Informationen in diesem Dokument findest du unter Dienstkonto erstellen.
  • ENCRYPT_KEY: Optional. Ein Cloud KMS-Schlüssel, den der Workflow für die Datenverschlüsselung im Format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME verwenden soll. Weitere Informationen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
  • CALL_LOGGING_LEVEL: Optional. Die Aufruf-Logging-Ebene, die während der Ausführung angewendet werden soll. Standardmäßig wird keine Logging-Ebene angegeben. Stattdessen wird die Workflow-Logebene angewendet. Weitere Informationen finden Sie unter Logs an Logging senden. Einen der folgenden Werte:
    • CALL_LOG_LEVEL_UNSPECIFIED: Es wird keine Logging-Ebene angegeben. Stattdessen wird die Workflow-Logebene angewendet. Das ist die Standardeinstellung. Andernfalls gilt die Ausführungslogebene und hat Vorrang vor der Workflowlogebene.
    • LOG_ERRORS_ONLY: Protokolliert alle erfassten Ausnahmen oder wenn ein Aufruf aufgrund einer Ausnahme angehalten wird.
    • LOG_ALL_CALLS: Protokolliert alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse.
    • LOG_NONE: Kein Aufruf-Logging.
  • ENV_KEY und ENV_VALUE: optional. Eine Zuordnung von Schlüssel/Wert-Paaren für Umgebungsvariablen, z. B. { "month": "January", "day": "Monday"}. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.
  • SOURCE_CODE: die Workflowdefinition. Neue Zeilen müssen in YAML mit Escapezeichen versehen werden. Beispiel: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello.

    Anführungszeichen in JSON müssen mit Escapezeichen versehen werden. Beispiel: {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}

  • LOCATION: Die Region, in der der Workflow bereitgestellt werden soll, z. B. us-central1.

JSON-Text anfordern:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von Operation.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "create",
    "apiVersion": "v1"
  },
  "done": false
}

Wenn der Wert von "done" auf false gesetzt ist, läuft der Vorgang noch.

Workflows auflisten

Sie können Workflows auflisten oder Filter verwenden, um einen bestimmten Workflow abzurufen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

    Auf dieser Seite werden Ihre Workflows an allen Standorten aufgelistet und Details wie Namen, Regionen, letzte Überarbeitungen usw. aufgeführt.

  2. So filtern Sie Ihre Workflows:

    1. Klicken Sie auf Filter oder auf das Feld Workflows filtern.
    2. Wählen Sie in der Liste Eigenschaften eine Option zum Filtern der Workflows aus.

    Sie können ein einzelnes Attribut auswählen oder den logischen Operator OR verwenden, um weitere Attribute hinzuzufügen.

  3. Zum Sortieren der Workflows klicken Sie neben jeder unterstützten Spaltenüberschrift auf Sortieren.

gcloud

Listen Sie Workflows mit dem Befehl gcloud workflows list auf:

gcloud workflows list --location=LOCATION

Ersetzen Sie LOCATION durch die ID oder die voll qualifizierte ID für den Standort Ihres Workflows.

Dieser Befehl listet Ihre Workflows am angegebenen Speicherort auf und enthält Details wie NAME, STATE, REVISION_ID und UPDATE_TIME eines Workflows.

REST

Verwenden Sie die Methode projects.locations.workflows.list, um Workflows in einem bestimmten Projekt und an einem bestimmten Standort aufzulisten.

Alternativ können Sie die Methode projects.locations.workflows.get verwenden, um die Details eines einzelnen Workflows abzurufen.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID.
  • LOCATION: Die Region, in der die Workflows bereitgestellt werden, z. B. us-central1.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Instanzen von Workflow und die Antwort sollte in etwa so aussehen:

{
  "workflows": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
      "state": "ACTIVE",
      "revisionId": "000001-0ce",
      "createTime": "2023-12-08T13:56:59.306770745Z",
      "updateTime": "2023-12-08T13:56:59.547021939Z",
      "revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
      "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Workflow aktualisieren

Sie können einen vorhandenen Workflow aktualisieren. Sie müssen den Namen des Workflows, den Sie aktualisieren möchten, sowie seine Quelle angeben. Sie können den Namen oder Standort eines Workflows nicht ändern.

Das Aktualisieren eines Workflows wirkt sich nicht auf laufende Ausführungen aus. Die aktualisierte Konfiguration wird nur bei zukünftigen Ausführungen des Workflows verwendet.

Jedes Mal, wenn Sie einen Workflow aktualisieren, wird dessen versionID aktualisiert. Der versionID besteht aus zwei Teilen, die durch einen Bindestrich getrennt sind:

  • Eine Zahl, beginnend mit eins, die sich jedes Mal erhöht, wenn Sie einen Workflow aktualisieren.

  • Ein zufälliger, dreistelliger alphanumerischer String.

Beispielsweise steht 000001-27f für die anfängliche Version eines Workflows und 000002-d52 für einen Workflow, der einmal aktualisiert wurde.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf den Namen des Workflows, den Sie aktualisieren möchten. Sie können den Namen des Workflows nicht ändern.

    Die Seite Workflowdetails wird angezeigt.

  3. Sie können den Workflow auf folgende Arten bearbeiten:

    • So bearbeiten Sie die Quelle:

      1. Klicken Sie auf den Tab Quelle.
      2. Klicken Sie auf Bearbeiten.
      3. Um die Änderungen zu speichern, klicken Sie auf Speichern. Der aktualisierte Workflow wird bereitgestellt.
    • Zum Aktualisieren der Beschreibung das Dienstkonto, das der Workflow für die Authentifizierung, die Aufruflogebene, Umgebungsvariablen, Labels oder den Verschlüsselungsschlüssel verwendet:

      1. Klicken Sie auf den Tab Details.
      2. Klicken Sie auf das entsprechende -Symbol.
      3. Wenn Sie die Ebene der Anrufliste aktualisieren, wählen Sie eine der folgenden Optionen aus:
        • Nicht angegeben: Es wird keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.
        • Nur Fehler: Alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme werden protokolliert.
        • Alle Aufrufe: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.
        • Keine Protokolle: Keine Anrufprotokollierung.
      4. Um die Änderungen zu speichern, klicken Sie auf Speichern. Der aktualisierte Workflow wird bereitgestellt.
    • So bearbeiten Sie die vorherigen Felder gleichzeitig oder fügen einen Trigger hinzu oder aktualisieren ihn:

      1. Klicken Sie auf Bearbeiten.
      2. Klicken Sie auf Weiter, um die Quelle zu bearbeiten.
      3. Klicken Sie auf Bereitstellen, um die Änderungen zu speichern und den aktualisierten Workflow bereitzustellen.
  4. Wenn Sie die Rollen für Ihr Dienstkonto aktualisieren möchten, klicken Sie auf den Tab Berechtigungen.

    1. Hauptkonten sind Nutzer, Gruppen, Domains oder Dienstkonten. So aktualisieren Sie ein vorhandenes Hauptkonto:

      1. Suchen Sie eine Zeile, die das Hauptkonto enthält.
      2. Klicken Sie in dieser Zeile auf Hauptkonto bearbeiten.
      3. Klicken Sie auf Weitere Rolle hinzufügen oder Rolle löschen.
    2. Wenn Sie eine Rolle hinzufügen, wählen Sie aus der Liste Rolle auswählen die entsprechende Rolle aus.

    3. Klicken Sie auf Weitere Rolle hinzufügen, um eine weitere Rolle hinzuzufügen.

    4. Klicken Sie auf Speichern.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Suchen Sie den Namen des Workflows, den Sie aktualisieren möchten. Wenn Sie den Namen des Workflows nicht kennen, können Sie den folgenden Befehl eingeben, um alle Workflows aufzulisten:

    gcloud workflows list
    
  3. Suchen Sie die YAML- oder JSON-Datei, in der die Workflowquelle gespeichert ist, z. B. WORKFLOW_NAME.YAML oder WORKFLOW_NAME.JSON.

  4. Sie können einen vorhandenen Workflow aktualisieren, um die Quelle, die Beschreibung, Labels, Umgebungsvariablen, die Ebene des Aufruflogs, den Verschlüsselungsschlüssel oder das zugehörige Dienstkonto mit dem Befehl gcloud workflows deploy zu ändern.

    Sie müssen den Namen des Workflows, den Sie aktualisieren möchten, und seine Quelle angeben. Die restlichen Flags sind jedoch optional. Verwenden Sie das Flag --clear-kms-key, um einen vom Kunden verwalteten Verschlüsselungsschlüssel zu entfernen.

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Ersetzen Sie Folgendes:

    • WORKFLOW_NAME: erforderlich. Der Name Ihres Workflows.

    • CALL_LOGGING_LEVEL: Optional. Ebene der Aufruf-Logging, die auf den Workflow angewendet werden soll. Kann einer der folgenden Werte sein:

      • none: Es ist keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.
      • log-errors-only: Es werden alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme protokolliert
      • log-all-calls: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.
      • log-none: Kein Aufruf-Logging.
    • DESCRIPTION: Optional. Eine Beschreibung des Workflows.

    • LABEL_KEY=LABEL_VALUE: Optional. Liste von Label-Schlüssel/Wert-Paaren, mit denen Sie Ihre Google Cloud-Instanzen organisieren können, z. B. name=wrench. Weitere Informationen finden Sie unter Was sind Labels?

    • ENV_KEY=ENV_VALUE: Optional. Liste der Schlüssel/Wert-Paare für Umgebungsvariablen, z. B. MONTH=January. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.

    • ENCRYPT_KEY: Optional. Ein Cloud KMS-Schlüssel, den der Workflow für die Datenverschlüsselung im Format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME verwenden soll. Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Optional. Das Dienstkonto, mit dem Ihr Workflow auf andere Google Cloud-Dienste zugreift. Informationen zum Aktualisieren der Rollen für Ihr Dienstkonto finden Sie unter Einem Workflow die Berechtigung zum Zugriff auf Google Cloud-Ressourcen gewähren und Zugriff auf Projekte, Ordner und Organisationen verwalten.

    • YAML_OR_JSON_SOURCE_FILE: erforderlich. Die Quelldatei für den Workflow im YAML- oder JSON-Format. Beispiel: myFirstWorkflow.yaml.

REST

Verwenden Sie zum Aktualisieren eines vorhandenen Workflows die Methode projects.locations.workflows.patch und optional den Abfrageparameter updateMask, um eine Liste der zu aktualisierenden Felder anzugeben.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • WORKFLOW_NAME: der Name Ihres Workflows, z. B. myFirstWorkflow.
  • DESCRIPTION: Optional. Eine Beschreibung Ihres Workflows. Darf nicht länger als 1.000 Unicode-Zeichen sein.
  • LABEL_KEY und LABEL_VALUE: optional. Eine Zuordnung von Labelschlüssel- und -wertpaaren, mit denen Sie Ihre Google Cloud-Instanzen organisieren können. Beispiel: {"name": "wrench", "mass": "1kg", "count": "3"} Weitere Informationen finden Sie unter Was sind Labels? Es kann bis zu 10 Minuten dauern, bis das neue Label wirksam wird.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Optional. Das Dienstkonto, das Ihr Workflow für den Zugriff auf andere Google Cloud-Dienste verwenden wird. Die Projekt-ID ist Ihre Google Cloud-Projekt-ID. Weitere Informationen in diesem Dokument findest du unter Dienstkonto erstellen.
  • ENCRYPT_KEY: Optional. Ein Cloud KMS-Schlüssel, den der Workflow für die Datenverschlüsselung im Format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME verwenden soll. Weitere Informationen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
  • CALL_LOGGING_LEVEL: Optional. Die Aufruf-Logging-Ebene, die während der Ausführung angewendet werden soll. Standardmäßig wird keine Logging-Ebene angegeben. Stattdessen wird die Workflow-Logebene angewendet. Weitere Informationen finden Sie unter Logs an Logging senden. Einen der folgenden Werte:
    • CALL_LOG_LEVEL_UNSPECIFIED: Es wird keine Logging-Ebene angegeben. Stattdessen wird die Workflow-Logebene angewendet. Das ist die Standardeinstellung. Andernfalls gilt die Ausführungslogebene und hat Vorrang vor der Workflowlogebene.
    • LOG_ERRORS_ONLY: Protokolliert alle erfassten Ausnahmen oder wenn ein Aufruf aufgrund einer Ausnahme angehalten wird.
    • LOG_ALL_CALLS: Protokolliert alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse.
    • LOG_NONE: Kein Aufruf-Logging.
  • ENV_KEY und ENV_VALUE: optional. Eine Zuordnung von Schlüssel/Wert-Paaren für Umgebungsvariablen, z. B. { "month": "January", "day": "Monday"}. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.
  • SOURCE_CODE: die reduzierte Workflowdefinition. Beispiel: {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}.
  • LOCATION: die Region, in der der Workflow bereitgestellt wird, z. B. us-central1.
  • UPDATE_FIELDS: Optional. Eine durch Kommas getrennte Liste der zu aktualisierenden Felder. Wenn nicht angegeben, wird der gesamte Workflow aktualisiert. Beispiel: description,callLogLevel.

JSON-Text anfordern:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von Operation.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "update",
    "apiVersion": "v1"
  },
  "done": false
}

Wenn der Wert von "done" auf false gesetzt ist, läuft der Vorgang noch.

Workflow löschen

Sie können einen vorhandenen Workflow löschen. Beim Löschen eines Workflows werden auch die zugehörigen Ausführungen gelöscht und alle aktiven Ausführungen für den Workflow werden abgebrochen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  2. Klicken Sie auf den Namen des Workflows, den Sie löschen möchten, und dann auf Löschen.

  3. Geben Sie den Namen des Workflows in die Eingabeaufforderung ein, um das Löschen zu bestätigen.

  4. Klicken Sie auf Bestätigen.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Suchen Sie den Namen des Workflows, den Sie löschen möchten. Wenn Sie den Namen des Workflows nicht kennen, können Sie den folgenden Befehl eingeben, um alle Workflows aufzulisten:

    gcloud workflows list
    
  3. Löschen Sie einen Workflow mit dem Befehl gcloud workflows delete:

    gcloud workflows delete WORKFLOW_NAME
    

    Ersetzen Sie WORKFLOW_NAME durch den Namen Ihres Workflows.

REST

Verwenden Sie die Methode projects.locations.workflows.delete, um einen Workflow mit einem angegebenen Namen zu löschen.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • WORKFLOW_NAME: der Name des Workflows, den Sie löschen möchten.
  • PROJECT_ID: Ihre Google Cloud-Projekt-ID.
  • LOCATION: Die Region, in der der Workflow bereitgestellt wird, z. B. us-central1.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "delete",
    "apiVersion": "v1"
  },
  "done": false
}

Wenn der Wert von "done" auf false gesetzt ist, läuft der Vorgang noch.

Nächste Schritte