Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Laufzeitargumente in einer Ausführungsanfrage übergeben

Auf dieser Seite wird erläutert, wie Laufzeitargumente in einer Workflow-Ausführungsanfrage übergeben und mithilfe von Workflow-Variablen auf diese Argumente zugegriffen werden.

Workflow einrichten, der Laufzeitargumente empfängt

Sie können Workflows erstellen, die Laufzeitargumente verwenden, die Sie als Teil einer Ausführungsanfrage an sie übergeben. So richten Sie Ihren Workflow für den Empfang von Laufzeitargumenten ein:

  1. Folgen Sie den Schritten zum Erstellen eines neuen Workflows oder wählen Sie einen vorhandenen Workflow zum Aktualisieren aus, stellen Sie ihn aber noch nicht bereit.

  2. Fügen Sie der Definition des Workflows das Feld params hinzu:

    main:
      params: [DICTIONARY_NAME]
      steps:
        ...
    

    Ersetzen Sie DICTIONARY_NAME durch einen Namen für das Wörterbuch, in dem die Parameternamen und Argumentwerte gespeichert werden, die Sie an den Workflow übergeben.

    Der folgende Workflow gibt beispielsweise die Begrüßung "Hello" an eine Person zurück, deren Vor- und Nachname als Laufzeitargumente übergeben werden:

    main:
      params: [args]
      steps:
        - step1:
            assign:
              - OutputVar: ${"Hello, " + args.firstName + " " + args.lastName + "!"}
        - step2:
            return: ${OutputVar}
    
  3. Stellen Sie Ihren Workflow bereit, um die Erstellung oder Aktualisierung abzuschließen.

Daten in einer Ausführungsanfrage übergeben

Wenn Ihr Workflow so eingerichtet ist, dass Laufzeitargumente empfangen werden, können Sie einen String im JSON-Format wie {"firstName":"Workflows","lastName":"User"} an den Workflow in einer Ausführungsanfrage übergeben:

gcloud

Fügen Sie das Flag --data dem Befehl gcloud workflows execute hinzu, mit dem Sie den Workflow ausführen. Dieses Flag verwendet einen JSON-String Ihrer Daten. So übergeben Sie beispielsweise firstName und lastName an den vorherigen Beispielworkflow:

gcloud workflows run WORKFLOW_NAME \
--data='{"firstName":"FIRST","lastName":"LAST"}'

Dabei gilt:

  • WORKFLOW_NAME: Name des Workflows
  • FIRST: der String, den Sie an Ihren Workflow für firstName übergeben möchten
  • LAST: der String, den Sie an Ihren Workflow für lastName übergeben möchten

Die Ausgabe sollte in etwa so aussehen:

Waiting for execution [EXECUTION_ID] to complete...done
.
argument: '{"firstName":"Workflows","lastName":"User"}'
endTime: '2020-11-18T23:28:36.134741660Z'
name: projects/PROJECT_NUMBER/locations/us-central1/workflows/WORKFLOW_NAME/executions/EXECUTION_ID
result: '"Hello, Workflows User!"'
startTime: '2020-11-18T23:28:36.003269841Z'
state: SUCCEEDED
workflowRevisionId: 000001-ae2

Console

  1. Wählen Sie den Workflow aus, den Sie auf der Seite "Workflows" der Google Cloud Console ausführen möchten:
    Zur Seite "Workflows"

  2. Klicken Sie auf der Detailseite des Workflows auf Ausführen.

  3. Geben Sie auf der Seite "Workflow ausführen" einen JSON-String mit Ihren Parameternamen und Argumentwerten wie {"firstName":"Workflows","lastName":"User"} in den Eingabebereich ein:

    Eingabebereich mit JSON-Beispielstring

  4. Klicken Sie auf "Ausführen". In der Cloud Console werden Ihre Ausführungsergebnisse angezeigt:

    Ergebnisse der Ausführung, die die Ausgabe "Hello, Workflows User User"

REST API

  1. Hängen Sie das Flag data an den Befehl an, mit dem Sie den Workflow ausführen. Der Wert von data ist ein JSON-formatierter String mit einem Argument, dessen Wert ein oder mehrere maskierte Parameter/Wert-Paare ist. So übergeben Sie beispielsweise firstName und lastName an den vorherigen Beispielworkflow:

    curl --request POST --header "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    --header 'Content-Type: application/json' --data '{"argument":"{\"firstName\":\"FIRST\",\"lastName\":\"LAST\"}"}' \
    "https://workflowexecutions.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/workflows/WORKFLOW_NAME/executions"
    

    Dabei gilt:

    • PROJECT_ID: Name Ihres Projekts
    • WORKFLOW_NAME: Name des Workflows
    • FIRST: der String, den Sie an Ihren Workflow für firstName übergeben möchten
    • LAST: der String, den Sie an Ihren Workflow für lastName übergeben möchten

    Die Ausgabe sollte in etwa so aussehen:

    {
      "name": "projects/PROJECT_NUMBER/locations/us-central1/workflows/WORKFLOW_NAME/executions/EXECUTION_ID",
      "startTime": "2020-11-09T23:51:31.765761331Z",
      "state": "ACTIVE",
      "argument": "{\"firstName\":\"Workflows\",\"lastName\":\"User\"}",
      "workflowRevisionId": "000001-08c"
    }
     ```
    
  2. Führen Sie den folgenden Befehl aus, um die Ausführungsergebnisse abzurufen:

    curl --request GET --header "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    --header 'Content-Type: application/json' \
    "https://workflowexecutions.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/workflows/WORKFLOW_NAME/executions/EXECUTION_ID"
    

    Ersetzen Sie EXECUTION_ID durch die ID der Ausgabe, die Ihr erster Befehl zurückgegeben hat.

    Diese Ausgabe enthält Zeilen wie die folgenden:

    "argument": "{\"firstName\":\"Workflows\",\"lastName\":\"User\"}",
    "result": "\"Hello, Workflows User!\"",
    

Weitere Informationen zum Ausführen eines Workflows mit der REST API finden Sie unter Workflow ausführen.

Nächste Schritte