Workflows erstellen und verwalten

Mit Workflows können Sie mehrstufige Prozesse über Google Cloud -Dienste und externe APIs hinweg orchestrieren und automatisieren. Sie können Workflowdefinitionen über die Google Cloud Console, die Google Cloud CLI in Ihrem lokalen Terminal oder in Cloud Shell oder die Workflows API bereitstellen, aktualisieren und verwalten.

Hinweis

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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Workflows API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

gcloud

  1. Installieren Sie die Google Cloud CLI.

  2. Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.

    Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  3. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Erstellen oder wählen Sie ein Google Cloud -Projekt aus.

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen
    • Erstellen Sie ein Projekt in Google Cloud :

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Projekt in Google Cloud , das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Projekt in Google Cloud aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Projekts in Google Cloud .

  5. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.

  6. Aktivieren Sie die Workflows API, falls sie noch nicht aktiviert ist:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable workflows.googleapis.com

REST

Wenn Sie Workflows mit der Workflows API verwalten möchten, empfehlen wir, die von Google bereitgestellten Clientbibliotheken zu verwenden, um den Dienst workflows.googleapis.com aufzurufen. 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, und weisen Sie ihm die erforderlichen Rollen für den Zugriff auf die Google Cloud -Zielressourcen und zum Erstellen von Logs zu.

Wenn Sie beim Erstellen des Workflows kein Dienstkonto angeben, verwendet der Workflow das Compute Engine-Standarddienstkonto für seine Identität. Weitere Informationen finden Sie unter Workflowberechtigung für den Zugriff aufGoogle Cloud -Ressourcen gewähren.

Wenn Sie einen Workflow erstellen und ein Dienstkonto anhängen möchten, benötigen Sie Berechtigungen zum Erstellen des Workflows (z. B. die Rolle Workflows-Bearbeiter) und zum Agieren als dieses Dienstkonto (z. B. die Rolle Dienstkontonutzer). Sie benötigen außerdem die Berechtigung, als das zugehörige Dienstkonto zu agieren, wenn Sie den Quellcode oder das Dienstkonto eines Workflows aktualisieren. 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 den 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 bei Bedarf auf Weitere Rolle hinzufügen:

    1. Wählen Sie die Rollen aus, die Ihr Workflow für den Zugriff auf Zielressourcen vonGoogle Cloud benötigt. Wenn Ihr Workflow beispielsweise einen anderen Workflow aufruft, wählen Sie Workflows > Workflows-Aufrufer aus.
    2. Wählen Sie zum Senden von Logs an Cloud Logging Logging > Logautor aus.
  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. Gewähren Sie dem Dienstkonto Berechtigungen, indem Sie die Rollen zuweisen, die Ihr Workflow für den Zugriff auf die Zielressourcen von Google Cloud benötigt:

    1. Wenn Ihr Workflow beispielsweise einen anderen Workflow aufruft, weisen Sie die Rolle roles/workflows.invoker zu:

      gcloud projects add-iam-policy-binding PROJECT_ID \
         --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID." \
         --role "roles/workflows.invoker"
    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." \
         --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 den Namen nicht mehr ändern.

    • PROJECT_ID: Projekt-ID in Google Cloud .

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 zuweisen, indem Sie die Zulassungsrichtlinie für eine Ressource mit der Methode setIamPolicy ändern und festlegen. Weitere Informationen finden Sie unter Mehrere Rollen programmatisch zuweisen 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, damit er ausgeführt werden kann. 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 Quellcode-Editor erstellen und die automatische Vervollständigung und Syntaxvalidierung einrichten, um Fehler zu reduzieren.

Console

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

    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. Optional können Sie eine Beschreibung des Workflows hinzufügen.

  5. Wählen Sie in der Liste Region einen geeigneten Standort für die Bereitstellung Ihres Workflows aus, z. B. us-central1.

  6. Wählen Sie in der Liste Dienstkonto ein Dienstkonto aus, mit dem Ihr Workflow auf andere Google Cloud -Dienste zugreift. Weitere Informationen 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 Anrufliste 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 Anrufliste: Es werden keine Anrufe protokolliert.
    2. Geben Sie die Ebene des Ausführungsverlaufs an, die Sie auf die Workflow-Definition anwenden möchten. Wählen Sie in der Liste Ausführungsverlauf eine der folgenden Optionen aus:

      • Basic: Aktiviert den einfachen Ausführungsverlauf. Das ist die Standardeinstellung.
      • Detailliert: Aktivieren Sie den detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
    3. Geben Sie den Cloud Key Management Service-Schlüssel an, den der Workflow für die Datenverschlüsselung verwenden soll: Wählen Sie Kundenverwalteter Verschlüsselungsschlüssel (CMEK). Weitere Informationen finden Sie unter kundenverwaltete Verschlüsselungsschlüssel verwenden.

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

    5. Label hinzufügen: Labels sind Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud -Instanzen organisieren können. Weitere Informationen finden Sie unter Was sind Labels?. Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungs-Labels aufrufen möchten, verwenden Sie die Methode workflows.executions.list, um Workflowausführungen aufzulisten und zu filtern.

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

    7. 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" \
        --execution-history-level="EXECUTION_HISTORY_LEVEL" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID. \
        --source=YAML_OR_JSON_SOURCE_FILE

    Ersetzen Sie Folgendes:

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

    • LOCATION: die Region, in der Sie Ihren Workflow bereitstellen möchten, 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 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.
      • 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.

    • EXECUTION_HISTORY_LEVEL: optional. Ebene des Ausführungsverlaufs, die während der Ausführung angewendet werden soll. Kann einer der folgenden Werte sein:

      • none: Es wird keine Ausführungsverlaufsstufe angegeben. Dies ist die Standardeinstellung. Wenn für eine Ausführung keine Ausführlichkeitsstufe für den Ausführungsverlauf angegeben ist, wird sie durch die auf den Workflow angewendete Stufe bestimmt. Wenn die Ebenen unterschiedlich sind, überschreibt die auf Ausführungsebene angewendete Einstellung die auf Workflowebene angewendete Einstellung für diese Ausführung.
      • execution-history-basic: Aktiviert den grundlegenden Ausführungsverlauf.
      • execution-history-detailed: Aktiviert den detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
    • LABEL_KEY=LABEL_VALUE: optional. Liste der Label-Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud -Instanzen organisieren können, z. B. name=wrench. Weitere Informationen finden Sie unter Was sind Labels?. Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungs-Labels aufrufen möchten, verwenden Sie die Methode workflows.executions.list, um Workflowausführungen aufzulisten und zu filtern.

    • 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 kundenverwaltete Verschlüsselungsschlüssel verwenden.

    • SERVICE_ACCOUNT@PROJECT_ID.: Optional. Das Dienstkonto, mit dem Ihr Workflow auf andereGoogle Cloud -Dienste zugreift. Weitere Informationen finden Sie unter Dienstkonto erstellen.

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

REST

Wenn Sie einen neuen Workflow mit einem bestimmten Namen erstellen möchten, verwenden Sie die Methode projects.locations.workflows.create und den Suchparameter workflowId, um eine ID für den Workflow anzugeben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • WORKFLOW_NAME: Der Name Ihres Workflows, z. B. myFirstWorkflow. Der Name darf 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 Label-Schlüssel/Wert-Paaren, 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? Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungslabels aufrufen möchten, verwenden Sie die Methode workflows.executions.list, um Workflowausführungen aufzulisten und zu filtern.
  • SERVICE_ACCOUNT@PROJECT_ID.: optional. Das Dienstkonto, mit dem Ihr Workflow auf andere Google Cloud -Dienste zugreift. Die Projekt-ID ist Ihre Google Cloud -Projekt-ID. Weitere Informationen finden Sie 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 Kundenverwaltete Verschlüsselungsschlüssel verwenden.
  • CALL_LOGGING_LEVEL: optional. Die Aufruf-Logging-Ebene, die während der Ausführung angewendet werden soll. Standardmäßig ist keine Logging-Ebene angegeben und stattdessen gilt die Workflow-Logging-Ebene. Weitere Informationen finden Sie unter Logs an Logging senden. Einer der folgenden Werte:
    • CALL_LOG_LEVEL_UNSPECIFIED: Es wird keine Logging-Ebene angegeben und stattdessen wird die Workflow-Logebene verwendet. Das ist die Standardeinstellung. Andernfalls gilt die Ausführungslogebene und hat Vorrang vor der Workflowlogebene.
    • 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.
  • EXECUTION_HISTORY_LEVEL: Optional. Die Ebene des Ausführungsverlaufs, die während der Ausführung angewendet werden soll. Weitere Informationen finden Sie unter Verlauf der Ausführungsschritte ansehen. Einer der folgenden Werte:
    • EXECUTION_HISTORY_LEVEL_UNSPECIFIED: Es wird keine Ausführungsverlaufsstufe angegeben. Das ist die Standardeinstellung. Wenn für eine Ausführung keine Ausführlichkeitsstufe für den Ausführungsverlauf angegeben ist, wird sie durch die auf den Workflow angewendete Stufe bestimmt. Wenn die Ebenen unterschiedlich sind, überschreibt die auf Ausführungsebene angewendete Einstellung die auf Workflowebene angewendete Einstellung für diese Ausführung.
    • EXECUTION_HISTORY_BASIC: Aktiviert den grundlegenden Ausführungsverlauf.
    • EXECUTION_HISTORY_ADVANCED: Aktiviert den detaillierten Ausführungsverlauf, einschließlich aller Variablenwerte im Bereich und der erwarteten Anzahl von Iterationen.
  • 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. Sie müssen Zeilenumbrüche in YAML mit Escape-Zeichen versehen. Beispiel: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello.

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

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

JSON-Text der Anfrage:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "executionHistoryLevel": "EXECUTION_HISTORY_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" false ist, ist der Vorgang noch aktiv.

Workflows auflisten

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

Console

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

    Zur Seite "Workflows"

    Auf dieser Seite werden Ihre Workflows an allen Standorten aufgelistet. Außerdem enthält sie Details wie Namen, Regionen, neueste Überarbeitungen usw.

  2. So filtern Sie Workflows:

    1. Klicken Sie auf Filter oder das Feld Workflows filtern.
    2. Wählen Sie in der Liste Attribute eine Option aus, nach der die Workflows gefiltert werden sollen.

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

  3. Klicken Sie zum Sortieren der Workflows 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 vollständig qualifizierte Kennzeichnung für den Standort Ihres Workflows.

Mit diesem Befehl werden Ihre Workflows am angegebenen Standort aufgelistet. Er 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 Details eines einzelnen Workflows mit der Methode projects.locations.workflows.get abrufen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • 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@",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Workflow aktualisieren

Sie können den Quellcode, die Konfigurationseinstellungen oder beides eines vorhandenen Workflows aktualisieren. Sie können jedoch den Namen oder den Standort eines Workflows nicht ändern.

Das Aktualisieren eines Workflows hat keine Auswirkungen auf laufende Ausführungen. Nur nachfolgende Ausführungen des Workflows verwenden die aktualisierte Konfiguration.

Zum Aktualisieren des Quellcodes oder des Dienstkontos eines Workflows benötigen Sie die Berechtigung iam.serviceAccounts.actAs, die in Rollen wie Dienstkontonutzer (roles/iam.serviceAccountUser) enthalten ist. Je nach Aktualisierung benötigen Sie diese Berechtigung für das folgende Dienstkonto:

  • Nur den Quellcode des Workflows aktualisieren (ohne das Dienstkonto zu aktualisieren): Sie benötigen die Berechtigung iam.serviceAccounts.actAs für das vorhandene Dienstkonto, das mit dem Workflow verknüpft ist.
  • Dienstkonto oder sowohl Quellcode als auch Dienstkonto aktualisieren: Sie benötigen die Berechtigung iam.serviceAccounts.actAs für das neue Dienstkonto, das Sie mit dem Workflow verknüpfen.

Weitere Informationen erhalten Sie unter Dienstkontoberechtigungen.

Jedes Mal, wenn Sie den Quellcode, das Dienstkonto, den Verschlüsselungsschlüssel, die Umgebungsvariablen, die Anrufliste, die Anrufprotokollstufe oder die Ausführungsverlaufsstufe eines Workflows aktualisieren, wird eine neue Workflow-Version erstellt und die zugehörige revisionId wird aktualisiert. Wenn Sie nur die Beschreibung oder die Labels eines Workflows aktualisieren, wird keine neue Version erstellt. Der revisionId besteht aus zwei Teilen, die durch einen Bindestrich getrennt sind:

  • Eine sechsstellige, mit Nullen aufgefüllte Zahl, die bei 000001 beginnt und bei jeder Erstellung einer neuen Überarbeitung erhöht wird.

  • Ein zufälliger dreistelliger Hexadezimalstring.

Beispiel: 000001-27f gibt die erste Version eines Workflows an und 000002-d52 die zweite Version.

Console

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

    Zur Seite "Workflows"

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

    Die Seite Workflowdetails wird angezeigt.

  3. Sie können den Workflow auf folgende Weise 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.
    • So aktualisieren Sie die Beschreibung, das Dienstkonto, das der Workflow für die Authentifizierung verwendet, die Aufrufprotokollebene, die Ausführungsverlaufsebene, Umgebungsvariablen, Labels oder den Verschlüsselungsschlüssel:

      1. Klicken Sie auf den Tab Details.
      2. Klicken Sie auf das entsprechende Symbol .
      3. Wenn Sie die 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 Anrufliste: Es werden keine Anrufe protokolliert.
      4. Wenn Sie die Ausführlichkeitsstufe für den Ausführungsverlauf aktualisieren, wählen Sie eine der folgenden Optionen aus:
        • Basic: Aktiviert den einfachen Ausführungsverlauf. Das ist die Standardeinstellung.
        • Detailliert: Aktivieren Sie den detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
      5. 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. Optional: Wenn Sie verwalten möchten, welche Hauptkonten berechtigt sind, auf diese Workflow-Ressource zuzugreifen oder sie aufzurufen, klicken Sie auf den Tab Berechtigungen:

    1. So aktualisieren Sie ein vorhandenes Hauptkonto:

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

    3. Klicken Sie auf Weitere Rolle hinzufügen, um eine 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, geben Sie den folgenden Befehl ein, um die Workflows an einem Standort aufzulisten:

    gcloud workflows list --location=LOCATION

    Ersetzen Sie LOCATION durch die ID oder die vollständig qualifizierte Kennzeichnung für den Standort Ihres Workflows.

  3. Wenn Sie den Quellcode des Workflows aktualisieren, suchen Sie die YAML- oder JSON-Datei, in der die Workflowquelle gespeichert ist, z. B. WORKFLOW_NAME.yaml oder WORKFLOW_NAME.json.

  4. Aktualisieren Sie den Workflow, indem Sie den Befehl gcloud workflows deploy mit den Flags für die Attribute ausführen, die Sie ändern möchten.

    Sie können einen vorhandenen Workflow aktualisieren, um seine Quelle, Beschreibung, Labels, Umgebungsvariablen, die Ebene der Anrufliste, die Ebene des Ausführungsverlaufs, den Verschlüsselungsschlüssel oder das zugehörige Dienstkonto zu ändern. Sie müssen den Namen des Workflows angeben, den Sie aktualisieren möchten. Die übrigen Flags sind optional. Verwenden Sie das Flag --clear-kms-key, um einen vom Kunden verwalteten Verschlüsselungsschlüssel zu entfernen.

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

    Ersetzen Sie Folgendes:

    • WORKFLOW_NAME: Erforderlich. Der Name Ihres Workflows.

    • LOCATION: optional, wenn die Property workflows/location festgelegt ist; andernfalls erforderlich. Der Speicherort des Workflows, z. B. us-central1.

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

      • none: 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.
      • 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.

    • EXECUTION_HISTORY_LEVEL: optional. Ebene des Ausführungsverlaufs, die während der Ausführung angewendet werden soll. Kann einer der folgenden Werte sein:

      • none: Es wird keine Ausführungsverlaufsstufe angegeben. Dies ist die Standardeinstellung. Wenn für eine Ausführung keine Ausführlichkeitsstufe für den Ausführungsverlauf angegeben ist, wird sie durch die auf den Workflow angewendete Stufe bestimmt. Wenn die Ebenen unterschiedlich sind, überschreibt die auf Ausführungsebene angewendete Einstellung die auf Workflowebene angewendete Einstellung für diese Ausführung.
      • execution-history-basic: Aktiviert den grundlegenden Ausführungsverlauf.
      • execution-history-detailed: Aktiviert den detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
    • LABEL_KEY=LABEL_VALUE: optional. Liste der Label-Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud -Instanzen organisieren können, z. B. name=wrench. Weitere Informationen finden Sie unter Was sind Labels?. Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungs-Labels aufrufen möchten, verwenden Sie die Methode workflows.executions.list, um Workflowausführungen aufzulisten und zu filtern.

    • 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 kundenverwaltete Verschlüsselungsschlüssel verwenden.

    • SERVICE_ACCOUNT@PROJECT_ID.: Optional. Das Dienstkonto, mit dem Ihr Workflow auf andereGoogle Cloud -Dienste zugreift. Wenn Sie die Rollen für Ihr Dienstkonto aktualisieren möchten, lesen Sie die Informationen unter Workflow-Berechtigung für den Zugriff aufGoogle Cloud -Ressourcen gewähren und Zugriff auf Projekte, Ordner und Organisationen verwalten.

    • YAML_OR_JSON_SOURCE_FILE: optional. 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 Suchparameter updateMask, um eine Liste der zu aktualisierenden Felder anzugeben.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • 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 Label-Schlüssel/Wert-Paaren, 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? Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungslabels aufrufen möchten, verwenden Sie die Methode workflows.executions.list, um Workflowausführungen aufzulisten und zu filtern.
  • SERVICE_ACCOUNT@PROJECT_ID.: optional. Das Dienstkonto, mit dem Ihr Workflow auf andere Google Cloud -Dienste zugreift. Die Projekt-ID ist Ihre Google Cloud -Projekt-ID. Weitere Informationen finden Sie 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 Kundenverwaltete Verschlüsselungsschlüssel verwenden.
  • CALL_LOGGING_LEVEL: optional. Die Aufruf-Logging-Ebene, die während der Ausführung angewendet werden soll. Standardmäßig ist keine Logging-Ebene angegeben und stattdessen gilt die Workflow-Logging-Ebene. Weitere Informationen finden Sie unter Logs an Logging senden. Einer der folgenden Werte:
    • CALL_LOG_LEVEL_UNSPECIFIED: Es wird keine Logging-Ebene angegeben und stattdessen wird die Workflow-Logebene verwendet. Das ist die Standardeinstellung. Andernfalls gilt die Ausführungslogebene und hat Vorrang vor der Workflowlogebene.
    • 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.
  • EXECUTION_HISTORY_LEVEL: Optional. Die Ebene des Ausführungsverlaufs, die während der Ausführung angewendet werden soll. Weitere Informationen finden Sie unter Aufrufverlauf der Ausführungsschritte. Einer der folgenden Werte:
    • EXECUTION_HISTORY_LEVEL_UNSPECIFIED: Es wird keine Ausführungsverlaufsstufe angegeben. Das ist die Standardeinstellung. Wenn für eine Ausführung keine Ausführungsverlaufsstufe angegeben ist, wird sie durch die auf den Workflow angewendete Stufe bestimmt. Wenn die Ebenen unterschiedlich sind, überschreibt die auf Ausführungsebene angewendete Einstellung die auf Workflowebene angewendete Einstellung für diese Ausführung.
    • EXECUTION_HISTORY_BASIC: Aktiviert den grundlegenden Ausführungsverlauf.
    • EXECUTION_HISTORY_ADVANCED: Aktiviert den detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
  • 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 minimierte 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 Felder, die aktualisiert werden sollen. Wenn nicht angegeben, wird der gesamte Workflow aktualisiert. Beispiel: description,callLogLevel.

JSON-Text der Anfrage:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "executionHistoryLevel": "EXECUTION_HISTORY_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" false ist, ist der Vorgang noch aktiv.

Workflow löschen

Sie können einen vorhandenen Workflow löschen. Wenn Sie einen Workflow löschen, werden auch seine Ausführungen gelöscht und alle aktiven Ausführungen für den Workflow abgebrochen.

Console

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

    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 bei der Aufforderung zum Bestätigen des Löschvorgangs den Namen des Workflows ein.

  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, geben Sie den folgenden Befehl ein, um die Workflows an einem Standort aufzulisten:

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

    gcloud workflows delete WORKFLOW_NAME \
       --location=LOCATION

    Ersetzen Sie Folgendes:

    • WORKFLOW_NAME: Der Name Ihres Workflows.
    • LOCATION: die ID oder voll qualifizierte Kennzeichnung für den Speicherort Ihres Workflows.

REST

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

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • 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" false ist, ist der Vorgang noch aktiv.

Nächste Schritte