メニュー
AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

AWS::StepFunctions::StateMachine

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

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

構文

JSON

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

YAML

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

プロパティ

StateMachineName

ステートマシンの名前。名前を指定しない場合は、MyStateMachine-1234abcdefgh のような名前が自動的に生成されます。有効な名前の作成の詳細については、AWS Step Functions API リファレンスリクエストパラメータを参照してください。

Required: No

Type: String

更新に伴う要件: 置換

DefinitionString

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

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

RoleArn

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

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

戻り値

参照番号

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

{ "Ref": "MyStateMachine" }

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

arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine

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

Fn::GetAtt

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

Name

ステートマシンの名前を返します。以下に例を示します。

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

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

HelloWorld-StateMachine

名前を指定しなかった場合は、次のようになります。

MyStateMachine-1234abcdefgh

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

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

JSON

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

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "An example template for a Step Functions state machine.", "Resources" : { "MyStateMachine" : { "Type" : "AWS::StepFunctions::StateMachine", "Properties" : { "StateMachineName" : "HelloWorld-StateMachine", "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 組み込み関数の使用

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "An example template for a Step Functions state machine.", "Resources": { "MyStateMachine": { "Type": "AWS::StepFunctions::StateMachine", "Properties": { "StateMachineName" : "HelloWorld-StateMachine", "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

AWSTemplateFormatVersion: '2010-09-09' Description: An example template for a Step Functions state machine. Resources: MyStateMachine: Type: AWS::StepFunctions::StateMachine Properties: StateMachineName: HelloWorld-StateMachine 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

このページの内容: