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

Ausführungsreihenfolge in Workflows steuern

Auf dieser Seite erfahren Sie, wie Sie mithilfe von Jumps die Reihenfolge festlegen können, in der Ihre Workflowschritte ausgeführt werden. Bei grundlegenden Sprungen können Sie definieren, welcher Schritt der Workflow als Nächstes ausführt. Bedingte Sprünge bauen auf grundlegenden Sprüngen auf, sodass Sie mit bedingten Ausdrücken die Reihenfolge der Ausführung über einen Workflow steuern können. Sie können beispielsweise bestimmte Schritte nur ausführen, wenn eine Variable oder eine Antwort aus einem anderen Workflowschritt bestimmte Kriterien erfüllt.

Im Beispiel auf dieser Seite wird eine Beispiel-API verwendet, die den Wochentag zurückgibt.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

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

  4. Sie sollten einen vorhandenen Workflow haben, in dem Sie die Reihenfolge der Ausführungen ändern möchten. Informationen zum Erstellen und Bereitstellen eines Workflows finden Sie unter Workflow erstellen und aktualisieren.

Ausführungsreihenfolge mithilfe von Sprungen ändern

Alle Workflows sind standardmäßig nach Listen sortiert, wobei jeder Schritt in der Reihenfolge ausgeführt wird, die Sie im Quellcode des Workflows definieren. Sie können diese Standardsortierung mithilfe von Sprungpunkten überschreiben.

Grundlegende Sprünge

Mit einfachen Sprüngen können Sie festlegen, welcher Schritt als Nächstes ausgeführt werden soll.

Console

  1. Openffnen Sie die Seite "Workflows" in der Google Cloud Console:
    Zur Seite "Workflows"

  2. Wählen Sie den Namen des Workflows aus, für den Sie die Reihenfolge der Ausführung der vorhandenen Schritte ändern möchten.

  3. Wählen Sie auf der Seite Workflow bearbeiten die Option Weiter aus, um den Workflow-Editor aufzurufen.

  4. Fügen Sie das Feld next am Ende eines Schritts hinzu, um den Workflow an einen bestimmten Schritt zu übergeben:

    - step_a:
        ...
        next: STEP_NAME
    - step_b:
        ...
    - next_step:
        ...
    

    Ersetzen Sie STEP_NAME durch den Namen des Schritts, den der Workflow als Nächstes ausführen soll. Beispiel: next_step

  5. Wählen Sie Bereitstellen.

gcloud

  1. Openffnen Sie die Definitionsdatei für Ihren Workflow in einem Texteditor Ihrer Wahl.

  2. Fügen Sie das Feld next am Ende eines Schritts hinzu, um den Workflow an einen bestimmten Schritt zu übergeben:

    - step_a:
        ...
        next: STEP_NAME
    - step_b:
        ...
    - next_step:
        ...
    

    Ersetzen Sie STEP_NAME durch den Namen des Schritts, den der Workflow als Nächstes ausführen soll. Beispiel: next_step

  3. Speichern Sie die Workflow-Datei.

  4. Geben Sie den folgenden Befehl ein, um den Workflow bereitzustellen:

    gcloud workflows deploy WORKFLOW_NAME \
    --source=WORKFLOW_FILE.YAML
    

    Dabei gilt:

    • WORKFLOW_NAME: erforderlich. Der Name Ihres Workflows.

    • WORKFLOW_FILE.YAML: erforderlich. Die Quelldatei für den Workflow.

Beispiel

Nehmen wir als Beispiel den folgenden Workflow, dessen Reihenfolge in der richtigen Reihenfolge ist:

- get_time:
   call: http.get
   args:
       url:  https://us-central1-workflowsample.cloudfunctions.net/datetime
   result: currentTime
- return_daylight_savings_bool:
   return: ${daylightSavings}
- get_daylight_savings_bool:
   assign:
       - daylightSavings: ${currentTime.body.isDayLightSavingsTime}

Fügen Sie next-Felder für die Schritte get_time und get_daylight_savings_bool hinzu, damit der Workflow in der richtigen Reihenfolge ausgeführt wird:

- get_time:
   call: http.get
   args:
       url:  https://us-central1-workflowsample.cloudfunctions.net/datetime
   result: currentTime
   next: get_daylight_savings_bool
- return_daylight_savings_bool:
   return: ${daylightSavings}
- get_daylight_savings_bool:
   assign:
       - daylightSavings: ${currentTime.body.isDayLightSavingsTime}
   next: return_daylight_savings_bool

Bedingte Sprünge

Sie können bedingte Sprungschanzen verwenden, um zu bestimmen, welcher Schritt in einem Workflow als Nächstes ausgeführt wird. Bei bedingten Sprüngen werden switch-Blöcke verwendet, die zu einem bestimmten Schritt springen, wenn eine bestimmte Bedingung erfüllt ist. Jeder switch-Block kann maximal 10 Bedingungen enthalten.

Console

  1. Openffnen Sie die Seite "Workflows" in der Google Cloud Console:
    Zur Seite "Workflows"

  2. Wählen Sie den Namen des Workflows aus, dem Sie einen switch-Block hinzufügen möchten.

  3. Wählen Sie auf der Seite Workflow bearbeiten die Option Weiter aus, um den Workflow-Editor aufzurufen.

  4. Auf der Seite Workflow definieren wird die aktuelle Definition Ihres Workflows angezeigt. Fügen Sie einen Schritt mit einem switch-Block hinzu, um den Workflow so zu bearbeiten, dass er einen bestimmten Schritt auf der Grundlage einer bedingten Anweisung ausführt:

    - SWITCH_STEP_NAME:
       switch:
           - condition: ${EXPRESSION_ONE}
             next: STEP_A
           - condition: ${EXPRESSION_TWO}
             next: STEP_B
           ...
       next: STEP_C
    - STEP_A
       ...
    - STEP_B
       ...
    - STEP_C
       ...

    Dabei gilt:

    • SWITCH_STEP_NAME: Der Name des Schritts mit dem Block switch.

    • EXPRESSION_ONE: Der zuerst auszuwertende Ausdruck. Wenn dieser Ausdruck "true" ergibt, führt der Workflow als Nächstes STEP_A aus. Wenn dieser Ausdruck "false" ergibt, wertet der Workflow den nächsten Ausdruck aus.

    • EXPRESSION_TWO: Der zweite auszuwertende Ausdruck. Wenn dieser Ausdruck "true" ergibt, führt der Workflow als Nächstes STEP_B aus. Wenn dieser Ausdruck "false" ergibt, führt der Workflow STEP_C aus.

    • STEP_A, STEP_B, STEP_C: Platzhalternamen für Platzhalter.

  5. Wählen Sie Bereitstellen.

gcloud

  1. Openffnen Sie die Workflow-Definition im Texteditor Ihrer Wahl.

  2. Fügen Sie einen Schritt mit einem switch-Block hinzu, um den Workflow so zu bearbeiten, dass er einen bestimmten Schritt basierend auf einer bedingten Anweisung ausführt:

    - SWITCH_STEP_NAME:
       switch:
           - condition: ${EXPRESSION_ONE}
             next: STEP_A
           - condition: ${EXPRESSION_TWO}
             next: STEP_B
           ...
       next: STEP_C
    - STEP_A
       ...
    - STEP_B
       ...
    - STEP_C
       ...

    Dabei gilt:

    • SWITCH_STEP_NAME: Der Name des Schritts mit dem Block switch.

    • EXPRESSION_ONE: Der zuerst auszuwertende Ausdruck. Wenn dieser Ausdruck "true" ergibt, führt der Workflow als Nächstes STEP_A aus. Wenn dieser Ausdruck "false" ergibt, wertet der Workflow den nächsten Ausdruck aus.

    • EXPRESSION_TWO: Der zweite auszuwertende Ausdruck. Wenn dieser Ausdruck "true" ergibt, führt der Workflow als Nächstes STEP_B aus. Wenn dieser Ausdruck "false" ergibt, führt der Workflow STEP_C aus.

    • STEP_A, STEP_B, STEP_C: Platzhalternamen für Platzhalter.

    Die Anweisung switch kann beliebig viele Bedingungen enthalten.

  3. Speichern Sie die Workflow-Datei.

  4. Geben Sie den folgenden Befehl ein, um den Workflow bereitzustellen:

    gcloud workflows deploy WORKFLOW_NAME \
    --source=WORKFLOW_FILE.YAML
    

    Dabei gilt:

    • WORKFLOW_NAME: erforderlich. Der Name Ihres Workflows.

    • WORKFLOW_FILE.YAML: erforderlich. Die Quelldatei für den Workflow.

Beispiel

Beispielsweise verwendet dieser Workflow einen Switch-Block, um die Ausführungsreihenfolge des Workflows zu steuern:

- getCurrentTime:
    call: http.get
    args:
        url:  https://us-central1-workflowsample.cloudfunctions.net/datetime
    result: currentTime
- conditionalSwitch:
    switch:
        - condition: ${currentTime.body.dayOfTheWeek == "Friday"}
          next: friday
        - condition: ${currentTime.body.dayOfTheWeek == "Saturday" OR currentTime.body.dayOfTheWeek == "Sunday"}
          next: weekend
    next: workWeek
- friday:
    return: "It's Friday! Almost the weekend!"
- weekend:
    return: "It's the weekend!"
- workWeek:
    return: "It's the work week."

In diesem Beispiel hat der Block switch zwei Bedingungen. Der Parser wertet jede Bedingung in der Reihenfolge aus. Wenn das Ergebnis des Bedingungsausdrucks true ist, wird der next-Schritt dieser Bedingung aufgerufen. Wenn keine der Bedingungen erfüllt ist, ruft der Workflow den Schritt aus, der im Feld next außerhalb des Blocks switch angegeben wird. In diesem Beispiel ist dies der Schritt workWeek.

Wenn der Wochentag beispielsweise "Saturday" ist, wechselt der Workflow zum Schritt weekend und gibt die Meldung "It's the weekend!" zurück. Der Workflow führt den Schritt friday nicht aus, da der bedingte Wechsel übersprungen wird und der Workflow den Schritt workWeek nicht ausführt, da return die Ausführung stoppt. des Workflows am Ende des Schritts weekend.

Nächste Schritte