EventBridge Step Functions 実行ステータス変更の (CloudWatch イベント) - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EventBridge Step Functions 実行ステータス変更の (CloudWatch イベント)

Amazon EventBridge は、 AWS リソースの状態の変化に応答できる AWS のサービスです。例えば、次の 2 つの方法 EventBridge を使用して、Step Functions 標準ワークフローの実行ステータスの変更に で応答できます。

  • Step Functions ステートマシンの実行ステータスが変更されたときに発生するイベントに対応するように EventBridge ルールを設定できます。これにより、DescribeExecution API を使用して継続的にポーリングすることなく、ワークフローをモニタリングできます。ステートマシンの実行の変更に基づいて、 EventBridge ターゲットを使用して、新しいステートマシンの実行の開始、 AWS Lambda 関数の呼び出し、Amazon Simple Notification Service (Amazon SNS) トピックへのメッセージの発行などを行うことができます。

  • Step Functions ステートマシンを のターゲットとして設定することもできます EventBridge。これにより、他の AWS のサービスからのイベントに応答して、Step Functions ワークフローの実行をトリガーできます。

    詳細については、「Amazon ユーザーガイド EventBridge 」を参照してください。

ただし、Express ワークフローは にイベントを発行しません EventBridge。Express ワークフローの実行をモニタリングするには、 CloudWatch ログを使用できます。これを行うには、ステートマシンの [実行の詳細] ページで [モニタリング] タブと [ロギング] タブを選択します。モニタリングタブでは、実行期間実行エラー請求済みメモリ などのイベントの CloudWatch メトリクスを表示できます。[ログ記録] タブでは、最近のログとログ記録設定を確認できます。

ヒント

Express ワークフローの例を にデプロイ AWS アカウント し、Express ワークフローをモニタリングする方法については、 AWS Step Functions ワークショップの「Monitoring Express Workflows module」を参照してください。

EventBridge ペイロード

EventBridge イベントの定義には入力プロパティを含めることができます。一部のイベントでは EventBridge、イベントの定義に出力プロパティを含めることもできます。

  • に送信されたエスケープされた入力とエスケープされた出力の合計が 248KB EventBridge を超える場合、入力は除外されます。同様に、エスケープされた出力が 248 KB を超える場合、出力は除外されます。これはイベントクォータの結果です EventBridge。

  • inputDetailsoutputDetails プロパティでペイロードが切り捨てられているかどうかを判断できます。詳細については、CloudWatchEventsExecutionDataDetails データを参照してください。

  • 標準ワークフローでは、 を使用して完全な入出力を確認できますDescribeExecution

  • DescribeExecution は、Express ワークフローでは使用できません。完全な入出力を表示したい場合は、Express ワークフローを標準ワークフローでラップできます。もう 1 つの方法は、Amazon S3 の ARN を使用することです。ARN 使用の詳細については、ラージペイロードを渡す代わりに Amazon S3 ARNs を使用する を参照してください。

Step Functions イベントの例

Step Functions が にイベントを送信する例を次に示します EventBridge。

いずれの場合も、イベントデータの detail セクションに、DescribeExecution API と同じ情報が含まれています。status フィールドは、イベント送信時の実行ステータス (放出されたイベントに応じてRUNNINGSUCCEEDEDFAILEDTIMED_OUTABORTED のいずれか) を示します。

実行のスタート

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws::states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "RUNNING", "startDate": 1551225271984, "stopDate": null, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

実行の成功

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "SUCCEEDED", "startDate": 1547148840101, "stopDate": 1547148840122, "input": "{}", "inputDetails": { "included": true }, "output": "\"Hello World!\"", "outputDetails": { "included": true } } }

実行の失敗

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "FAILED", "startDate": 1551225146847, "stopDate": 1551225151881, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

実行のタイムアウト

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "TIMED_OUT", "startDate": 1551224926156, "stopDate": 1551224927157, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

実行の中断

{ "version": "0", "id": "315c1398-40ff-a850-213b-158f73e60175", "detail-type": "Step Functions Execution Status Change", "source": "aws.states", "account": "123456789012", "time": "2019-02-26T19:42:21Z", "region": "us-east-2", "resources": [ "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name" ], "detail": { "executionArn": "arn:aws:states:us-east-2:123456789012:execution:state-machine-name:execution-name", "stateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:state-machine", "name": "execution-name", "status": "ABORTED", "startDate": 1551225014968, "stopDate": 1551225017576, "input": "{}", "inputDetails": { "included": true }, "output": null, "outputDetails": null } }

EventBridge コンソール EventBridge で Step Functions イベントを にルーティングする

以下の手順に従って、特定の Step Functions ステートマシンが正常に実行を完了したときに Step Functions ステートマシンの実行をトリガーする方法を学習してください。Amazon EventBridge コンソールを使用して、実行をトリガーするステートマシンを指定します。

  1. ステートマシンの詳細 ページで、アクション を選択し、作成 EventBridge (CloudWatch イベント) ルール を選択します。

    
             EventBridge イベントルールの作成

    または、https://console.aws.amazon.com/events/ で EventBridge コンソールを開きます。ナビゲーションペインの [バス] で、[ルール] を選択します。

  2. [ルールの作成] を選択します。これにより、[ルールの詳細を定義] ページが開きます。

  3. ルールの [名前] (例: StepFunctionsEventRule) を入力し、(オプション) ルールの [説明] を入力します。

  4. [イベントバス][ルールタイプ] は、デフォルト設定のままにします。

  5. [次へ] を選択します。これにより、[イベントパターンを構築] ページが開きます。

  6. イベントソース で、AWS イベントまたは EventBridge パートナーイベントのデフォルト選択を維持します。

  7. [サンプルイベント] セクションと [作成方法] セクションはデフォルトのままにします。

  8. [イベントパターン] で、次のいずれかを実行します。

    1. [イベントソース] ドロップダウンリストでは、AWS のサービスのデフォルトの選択のままにします。

    2. [AWS のサービス] の場合、リストから [Step Functions] を選択します。

    3. [イベントタイプ] ドロップダウンリストから、[Step Functions の実行ステータスの変更] を選択します。

    4. (オプション) 特定のステータス、ステートマシンの Amazon リソースネーム (ARN)、または実行 ARN を設定します。この手順では、[特定のステータス] を選択し、ドロップダウンリストから[SUCCEEDED] を選択します。

  9. [次へ] を選択します。これにより、[ターゲットを選択] ページが開きます。

  10. [ターゲットタイプ] では、デフォルトの [AWS のサービス] を選択したままにします。

  11. ターゲットを選択ドロップダウンリストから、 AWS サービスを選択します。例えば、Lambda 関数を起動、または Step Functions ステートマシンを実行できます。この手順では、[Step Functions ステートマシン] を選択します。

  12. [ステートマシン] ドロップダウンリストから、ステートマシンを選択します。

  13. [実行ロール] では、デフォルトの [この特定のリソースに対して新しいロールを作成する] のままにします。

  14. [次へ] を選択します。これにより、[タグを設定] ページが開きます。

  15. [次へ] をもう一度選択します。これにより、[レビューして作成] ページが開きます。

  16. ルールの詳細を確認し、ルールの作成 を選択します。

    ルールが作成され、ルールページが表示され、すべての Amazon EventBridge ルールが一覧表示されます。