AWS Step Functions を使用した AWS SAM リソースのオーケストレーション - AWS Serverless Application Model

AWS Step Functions を使用した AWS SAM リソースのオーケストレーション

AWS Step Functions を使用して、複雑で堅牢なワークフローを形成するために AWS Lambda 関数とその他の AWS リソースをオーケストレーションすることができます。Step Functions では、AWS Lambda 関数などの AWS リソースがいつ、どのような条件で使用されるかがアプリケーションに指示されます。これにより、複雑で堅牢なワークフローを形成するプロセスが簡素化されます。AWS::Serverless::StateMachine を使用して、ワークフロー内の個々のステップを定義し、各ステップでリソースを関連付けてから、これらのステップを順番に並べます。また、必要な移行および条件も追加します。これにより、複雑で堅牢なワークフローを作成するプロセスが簡素化されます。

注記

Step Functions ステートマシンが含まれた AWS SAM テンプレートを管理するには、AWS SAM CLI のバージョン 0.52.0 以降を使用する必要があります。使用しているバージョンを確認するには、sam --version コマンドを実行します。

Step Functions はタスクステートマシンの概念に基づいています。ステートマシンは、JSON ベースの Amazon States Language を使用して定義します。Step Functions コンソール にはステートマシンの構造のグラフィカルなビューが表示されるので、ステートマシンのロジックを視覚的にチェックし、実行をモニタリングできます。

AWS Serverless Application Model (AWS SAM) の Step Functions サポートを使用して、以下を実行することができます。

  • AWS SAM テンプレート内で直接、または個別のファイルでステートマシンを定義する

  • AWS SAM ポリシーテンプレート、インラインポリシー、またはマネージドポリシーを使用してステートマシンの実行ロールを作成する

  • API Gateway または Amazon EventBridge イベントを使用して、AWS SAM テンプレート内のスケジュールに従って、または API を直接呼び出すことによってステートマシンの実行をトリガーする

  • 一般的な Step Functions 開発パターン向けに利用できる AWS SAM ポリシーテンプレートを使用する

AWS SAM テンプレートファイルからの以下のサンプルスニペットは、定義ファイル内のStep Functions ステートマシンを定義します。my_state_machine.asl.json ファイルは Amazon States Language で記述される必要があることに注意してください。

AWSTemplateFormatVersion: "2010-09-09" Transform: AWS::Serverless-2016-10-31 Description: Sample SAM template with Step Functions State Machine Resources: MyStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionUri: statemachine/my_state_machine.asl.json ...

Step Functions ステートマシンが含まれたサンプル AWS SAM アプリケーションをダウンロードするには、AWS Step Functions デベロッパーガイドの「Create a Step Functions State Machine Using AWS SAM」を参照してください。

詳細情報

Step Functions と AWS SAM での Step Functions の使用に関する詳細については、以下を参照してください。