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 の使用に関する詳細については、以下を参照してください。