AWS::Serverless::StateMachine - AWS Serverless Application Model

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

AWS::Serverless::StateMachine

を作成します。AWS Step Functionsステートマシンを使用します。このマシンを使用してAWS Lambda関数、その他AWSリソースを使用して、複雑で堅牢なワークフローを形成できます。

Step Functions の詳細については、AWS Step Functions デベロッパーガイドを参照してください。

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

Syntax

このエンティティを宣言するにはAWS Serverless Application Model(AWS SAM) テンプレートでは、次の構文を使用します。

YAML

Type: AWS::Serverless::StateMachine Properties: Definition: Map DefinitionSubstitutions: Map DefinitionUri: String | S3Location Events: EventSource Logging: LoggingConfiguration Name: String PermissionsBoundary: String Policies: String | List | Map Role: String Tags: Map Tracing: TracingConfiguration Type: String

Properties

Definition

ステートマシン定義はオブジェクトであり、オブジェクトのフォーマットはAWS SAMテンプレートファイル (JSON や YAML など)。ステートマシンの定義は、Amazon ステートメント言語に準拠しています。

インラインステートマシン定義の例については、Examples

以下を指定する必要があります。DefinitionまたはDefinitionUri

Type: マップ

必須: 条件付き

AWS CloudFormationの互換性: このプロパティは固有のです。AWS SAMまた、にはAWS CloudFormation同等のもの

DefinitionSubstitutions

ステートマシン定義内のプレースホルダー変数のマッピングを指定する文字列から文字列へのマップ。これにより、実行時に取得した値 (組み込み関数など) をステートマシン定義に挿入できます。

Type: マップ

必須: いいえ

AWS CloudFormationの互換性: このプロパティはDefinitionSubstitutionsのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用 組み込み関数がインライン状態マシン定義で指定されている場合、AWS SAMは、このプロパティにエントリを追加して、ステートマシン定義に注入します。

DefinitionUri

Amazon Simple Storage Service (Amazon S3) URI またはステートマシン定義のローカルファイルパス。Amazon ステートメント言語

ローカルファイルパスが指定されている場合、テンプレートは、sam deployまたはsam packageコマンドを使用して、定義を正しく変換します。これを行うには、バージョン 0.52.0 以降を使用する必要があります。AWS SAMCLI.

以下を指定する必要があります。DefinitionまたはDefinitionUri

Type: 文字列 |S3 の場所

必須: 条件付き

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。DefinitionS3LocationのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

Events

このステートマシンをトリガーするイベントを指定します。イベントは、1 つのタイプと、そのタイプに依存する一連のプロパティで構成されます。

Type: EventSource

必須: いいえ

AWS CloudFormationの互換性: このプロパティは固有のです。AWS SAMまた、にはAWS CloudFormation同等のもの

Logging

ログに記録される実行履歴イベントと、イベントがログに記録される場所を定義します。

Type: LoggingConfiguration

必須: いいえ

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。LoggingConfigurationのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

Name

ステートマシンの名前。

Type: 文字列

必須: いいえ

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。StateMachineNameのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

PermissionsBoundary

この状態マシンの実行ロールに使用するアクセス許可の境界の ARN。このプロパティは、ロールが生成されている場合にのみ機能します。

Type: 文字列

必須: いいえ

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。PermissionsBoundaryのプロパティAWS::IAM::Roleリソースの使用の使用の使用

Policies

この状態マシンの実行ロールに必要な 1 つ以上のポリシー。

このプロパティは、単一の文字列または一連の文字列を指定できます。プロパティには、AWS管理型AWS Identity and Access Management(IAM) ポリシーAWS SAMポリシーテンプレート、またはマップとしてフォーマットされた 1 つ以上のインラインポリシードキュメントです。

あなたは、RoleまたはPolicies

そのファイルにRoleプロパティが設定されている場合、このプロパティは無視されます。

Type: 文字列 | リスト | リスト | マップ

必須: 条件付き

AWS CloudFormationの互換性: このプロパティは固有のです。AWS SAMまた、にはAWS CloudFormation同等のもの

Role

このステートマシンの実行ロールとして使用する IAM ロールの ARN。

以下を指定する必要があります。RoleまたはPolicies

Type: 文字列

必須: 条件付き

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。RoleArnのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

Tags

ステートマシンに追加されるタグおよび対応する実行ロールを指定する文字列から文字列へのマップ。

Type: マップ

必須: いいえ

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。TagsのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

Tracing

かどうかを選択しますAWS X-Rayステートマシンに対して有効になっていることを確認します。Step Functions を使用した X-Ray の使用方法の詳細については、AWS X-RayStep Functions()AWS Step Functions開発者ガイド

Type: TracingConfiguration

必須: いいえ

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。TracingConfigurationのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

Type

ステートマシンのタイプ。

有効な値: STANDARD または EXPRESS

Type: 文字列

必須: いいえ

デフォルト: STANDARD

AWS CloudFormationの互換性: このプロパティは、のプロパティに直接渡されます。StateMachineTypeのプロパティAWS::StepFunctions::StateMachineリソースの使用の使用の使用

戻り値

Ref

このリソースの論理 ID を Ref 組み込み関数に提供すると、Ref は基盤となるAWS::StepFunctions::StateMachineリソースの使用の使用の使用

の使用方法の詳細については、「」を参照してください。Ref関数「」を参照してください。Ref()ユーザーガイド

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

の使用方法の詳細については、「」を参照してください。Fn::GetAtt「」を参照してください。Fn::GetAtt()ユーザーガイド

Name

ステートマシンの名前 (たとえば、ステートマシンの名前) を返します。HelloWorld-StateMachine

Examples

ステートマシン定義ファイル

定義ファイルで定義されたステートマシンの例を次に示します。-my_state_machine.asl.jsonファイルはAmazon ステートメント言語

この例では、DefinitionSubstitutionエントリを使用すると、ステートマシンはAWS SAMテンプレートファイル。

YAML

MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionUri: statemachine/my_state_machine.asl.json Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true DefinitionSubstitutions: MyFunctionArn: !GetAtt MyFunction.Arn MyDDBTable: !Ref TransactionTable

インライン状態マシン定義

以下は、インラインステートマシン定義の例です。

この例では、AWS SAMテンプレートファイルはYAMLで書かれているため、ステートマシン定義もYAMLにあります。インラインステートマシン定義を JSON で宣言するには、AWS SAMテンプレートファイルを JSON で作成します。

YAML

MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: Definition: StartAt: MyLambdaState States: MyLambdaState: Type: Task Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app End: true Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true