ワークフローを実行する

ワークフローを実行すると、そのワークフローに関連付けられた現在のワークフロー定義が実行されます。

ワークフロー実行リクエストでランタイム引数を渡し、ワークフロー変数を使用してこれらの引数にアクセスできます。詳細については、実行リクエストでランタイム引数を渡すをご覧ください。

ワークフローの実行が完了すると、履歴と結果が一定期間保持されます。詳細については、割り当てと上限をご覧ください。

準備

組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、 制約のある Google Cloud 環境でアプリケーションを開発するをご覧ください。

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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

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

  4. 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

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

  6. ワークフローが他の Google Cloud リソースにアクセスする場合、適切な権限を持つサービス アカウントに関連付けられていることを確認します。既存のワークフローに関連付けられているサービス アカウントについては、ワークフローに関連付けられたサービス アカウントの確認をご覧ください。

    リソースを作成してサービス アカウントを関連付けるには、対象のリソースを作成し、リソースに関連付けるサービス アカウントの権限を借用するための権限が必要です。詳細については、 サービス アカウント権限をご覧ください。

  7. コンソール または Google Cloud CLIを使用してワークフローをデプロイします。Google Cloud

ワークフローを実行する

ワークフローは次の方法で実行できます。

  • コンソールで Google Cloud
  • ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
  • Workflows API に直接リクエストを送信する

Cloud クライアント ライブラリを使用してワークフローを実行することもできます。詳細については、 Cloud クライアント ライブラリを使用してワークフローを実行するをご覧ください。

コンソール

  1. ワークフローを実行するには、 Google Cloud コンソールで [**ワークフロー**] ページに移動します。

    [ワークフロー] に移動

  2. [ワークフロー] ページで、ワークフローを選択して詳細ページに移動します。

  3. [ワークフローの詳細] ページで [ 実行] を選択します。

  4. [ワークフローの実行] ページの [入力] ペインでは、ワークフローを実行する前にワークフローに渡すオプションのランタイム引数を入力できます。引数は JSON 形式にする必要があります(例: {"animal":"cat"})。ワークフローでランタイム引数を使用しない場合は、ここは空白のままにします。

  5. 必要に応じて、ワークフローの実行中に適用するコールロギングのレベルを指定します。[呼び出しログレベル] リストで、次のいずれかを選択します。

    • 指定なし: ロギングレベルは指定されません。この設定がデフォルトです。 実行ログレベルが指定されていない場合(デフォルト)を除き、実行ログレベルがワークフローのログレベルよりも優先されます。実行ログレベルが指定されていない場合、ワークフローのログレベルが適用されます。
    • エラーのみ: キャッチされた例外をすべてログに記録します。または、例外により呼び出しが停止した場合についてもログに記録します。
    • すべてのコール: サブワークフローまたはライブラリ関数のすべての呼び出しとその結果を記録します。
    • ログなし: コールロギングはありません。

  6. 必要に応じて、ワークフローの実行に適用する 実行履歴のレベルを指定します 。[実行履歴] リストで、次のいずれかを選択します。

    • ワークフローから継承: ワークフローの実行履歴の設定を適用します。この設定がデフォルトです。
    • 基本: 基本的な実行履歴を有効にします。
    • 詳細: スコープ内の変数と予想される反復回数を含む詳細な実行履歴を有効にします。

  7. [実行] をクリックします。

  8. [実行の詳細] ページで、出力、実行 ID と状態、ワークフロー実行の現在のステップまたは最後のステップを含む、実行結果を確認できます。詳細については、ワークフローの実行結果にアクセスするをご覧ください。

gcloud

  1. ターミナルを開きます。

  2. 実行するワークフローの名前を見つけます。ワークフローの名前がわからない場合は、次のコマンドを入力して、すべてのワークフローを一覧表示できます。

    gcloud workflows list
  3. ワークフローは、gcloud workflows run コマンドまたは gcloud workflows execute コマンドを使用して実行できます。

    • ワークフローを実行し、実行が完了するまで待ちます。

      gcloud workflows run WORKFLOW_NAME \
          --call-log-level=CALL_LOGGING_LEVEL \
          --execution-history-level="EXECUTION_HISTORY_LEVEL" \
          --data=DATA
    • 実行の試行の完了を待たずにワークフローを実行します。

      gcloud workflows execute WORKFLOW_NAME \
          --call-log-level=CALL_LOGGING_LEVEL \
          --execution-history-level="EXECUTION_HISTORY_LEVEL" \
          --data=DATA

      以下を置き換えます。

      • WORKFLOW_NAME: ワークフローの名前。
      • CALL_LOGGING_LEVEL(省略可): 実行中に適用するコールロギングのレベル。以下のいずれかになります。

        • none: ロギングレベルは指定されません。この設定がデフォルトです。実行ログレベルが指定されていない場合(デフォルト)を除き、実行ログレベルがワークフローのログレベルよりも優先されます。実行ログレベルが指定されていない場合、ワークフローのログレベルが適用されます。
        • log-errors-only: キャッチされた例外をすべてログに記録します。または、例外により呼び出しが停止した場合についてもログに記録します。
        • log-all-calls: サブワークフローまたはライブラリ関数のすべての呼び出しとその結果をログに記録します。
        • log-none: コールロギングなし。
      • EXECUTION_HISTORY_LEVEL(省略可): 実行中に適用する実行履歴のレベル。以下のいずれかになります。

        • none: 実行履歴レベルは指定されません。この設定が デフォルトです。実行に実行履歴レベルが指定されていない場合、実行はワークフローに適用されるレベルによって決まります。レベルが異なる場合、実行レベルで適用される設定が、この実行のワークフロー レベルで適用される設定をオーバーライドします。
        • execution-history-basic: 基本的な実行履歴を有効にします。
        • execution-history-detailed: 詳細な実行履歴を有効にします。スコープ内の変数と予想される反復回数を含みます。
      • DATA (省略可): ワークフローのランタイム引数(JSON 形式)。

  4. gcloud workflows execute を実行すると、ワークフロー実行の試行の一意の ID が返され、出力は次のようになります。

     To view the workflow status, you can use following command:
     gcloud workflows executions describe b113b589-8eff-4968-b830-8d35696f0b33 --workflow workflow-2 --location us-central1

    実行のステータスを表示するには、前の手順で返されたコマンドを入力します。

実行の試行が成功した場合、出力は次のようになります。state はワークフローの正常終了を示し、status は実行の最終ワークフロー ステップを示します。

argument: '{"searchTerm":"Friday"}'
endTime: '2022-06-22T12:17:53.086073678Z'
name: projects/1051295516635/locations/us-central1/workflows/myFirstWorkflow/executions/c4dffd1f-13db-46a0-8a4a-ee39c144cb96
result: '["Friday","Friday the 13th (franchise)","Friday Night Lights (TV series)","Friday
    the 13th (1980 film)","Friday the 13th","Friday the 13th (2009 film)","Friday the
    13th Part III","Friday the 13th Part 2","Friday (Rebecca Black song)","Friday Night
    Lights (film)"]'
startTime: '2022-06-22T12:17:52.799387653Z'
state: SUCCEEDED
status:
    currentSteps:
    - routine: main
        step: returnOutput
workflowRevisionId: 000001-ac2

REST API

特定のワークフローの最新リビジョンを使用して新しい実行を作成するには、 the projects.locations.workflows.executions.create メソッドを使用します。