メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::StepFunctions::StateMachine

AWS::StepFunctions::StateMachine リソースを使用して、AWS Step Functions ステートマシンを作成します。

注記

AWS CloudFormation はステートマシンの名前を自動的に生成します。DefinitionString または RoleArn プロパティのコンテンツを変更し、スタックを更新すると、AWS CloudFormation は新しいステートマシン名を生成し、古いステートマシンを削除します。

ステートマシンの作成については、AWS Step Functions 開発者ガイドの「チュートリアル: Lambda ステートマシン」および AWS Step Functions API リファレンスの「CreateStateMachine」を参照してください。

構文

JSON

Copy
{ "Type": "AWS::StepFunctions::StateMachine", "Properties": { "DefinitionString": String, "RoleArn": String } }

YAML

Copy
Type: "AWS::StepFunctions::StateMachine" Properties: DefinitionString: String RoleArn: String

プロパティ

DefinitionString

ステートマシンの Amazon ステートメント言語 定義。詳細については、AWS Step Functions 開発者ガイドの「Amazon ステート言語」を参照してください。

Required: Yes

Type: String

更新に伴う要件: 置換

RoleArn

このステートマシンに使用する IAM ロールの Amazon リソースネーム (ARN)。

Required: Yes

Type: String

更新に伴う要件: 置換

戻り値

参照番号

このリソースの論理 ID をRef 組み込み関数に提供すると、Ref は作成されたステートマシンの ARN を返します。(例:

Copy
{ "Ref": "MyStateMachine" }

次のような値が返されます:

Copy
arn:aws:states:us-east-1:111122223333:stateMachine:MyStateMachine-ABCDEFGHIJ1K

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

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

Name

ステートマシンの名前を返します。(例:

Copy
{ "Fn::GetAtt": ["MyStateMachine", "Name"] }

次のような値が返されます:

Copy
MyStateMachine-ABCDEFGHIJ1K

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例では Step Functions ステートマシンを作成します。

JSON

単一行のプロパティの使用

Copy
{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "An example template for a Step Functions state machine.", "Resources" : { "MyStateMachine" : { "Type" : "AWS::StepFunctions::StateMachine", "Properties" : { "DefinitionString" : "{\"StartAt\": \"HelloWorld\", \"States\": {\"HelloWorld\": {\"Type\": \"Task\", \"Resource\": \"arn:aws:lambda:us-east-1:111122223333:function:HelloFunction\", \"End\": true}}}", "RoleArn" : "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1" } } } }

Fn::Join 組み込み関数の使用

Copy
{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "An example template for a Step Functions state machine.", "Resources": { "MyStateMachine": { "Type": "AWS::StepFunctions::StateMachine", "Properties": { "DefinitionString": { "Fn::Join": [ "\n", [ "{", " \"StartAt\": \"HelloWorld\",", " \"States\" : {", " \"HelloWorld\" : {", " \"Type\" : \"Task\", ", " \"Resource\" : \"arn:aws:lambda:us-east-1:111122223333:function:HelloFunction\",", " \"End\" : true", " }", " }", "}" ] ] }, "RoleArn" : "arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1" } } } }

YAML

Copy
AWSTemplateFormatVersion: '2010-09-09' Description: An example template for a Step Functions state machine. Resources: MyStateMachine: Type: AWS::StepFunctions::StateMachine Properties: DefinitionString: |- { "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:111122223333:function:HelloFunction", "End": true } } } RoleArn: arn:aws:iam::111122223333:role/service-role/StatesExecutionRole-us-east-1

このページの内容: