Step Functionsにバージョンとエイリアス機能が追加されました!
目次
こんにちは。スカイアーチHRソリューションズのきむです。
先日、Step Functionsにバージョンとエイリアス機能が追加されました。
待ち望んだアップデートです。
それではさっそく機能を確認していきましょう。
ステートマシン定義ファイル
今回は3つの定義ファイルを使ってステートマシンを作成します。
それぞれ”Hello World”とバージョン番号を含んだメッセージを出力するステートマシンとなっています。
{
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"End": true,
"Result": {
"statusCode": 200,
"body": "Hellow World v1"
}
}
}
}
{
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"End": true,
"Result": {
"statusCode": 200,
"body": "Hellow World v2"
}
}
}
}
{
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"End": true,
"Result": {
"statusCode": 200,
"body": "Hellow World Latest"
}
}
}
}
バージョンの作成
本記事ではaws cliでステートマシンの作成や実行を行っていきます。
利用するバージョンはaws-cli/2.12.3です。
これ以前のバージョンの場合はStep Functionsのバージョンとエイリアス関連のコマンドを利用できないので注意してください。
以下の流れで作成していきます。
- 「helloworld_v1.asl.json」でステートマシンを作成
- 作成されたステートマシンからバージョン1を作成
- 「helloworld_v2.asl.json」でステートマシンを更新
- 更新されたステートマシンからバージョン2を作成
- 「helloworld_latest.asl.json」でステートマシンを更新
それでは作っていきましょう。
$ aws stepfunctions create-state-machine \
--name HelloWorld \
--definition file://helloworld_v1.asl.json \
--role-arn arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
creationDate: '2023-06-24T19:09:56.821000+09:00'
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
作成されたステートマシンの内容を確認します。
$ aws stepfunctions describe-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
creationDate: "2023-06-24T19:09:56.821000+09:00"
definition:
"{\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\":
{\n \"Type\": \"Pass\",\n \"End\": true,\n \"Result\":
{\n \"statusCode\": 200,\n \"body\": \"Hellow World
v1\"\n }\n }\n }\n}"
loggingConfiguration:
includeExecutionData: false
level: OFF
name: HelloWorld
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
status: ACTIVE
tracingConfiguration:
enabled: false
type: STANDARD
続いてaws stepfunctions publish-state-machine-versionコマンドを使ってバージョンを作成します。
$ aws stepfunctions publish-state-machine-version \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
creationDate: '2023-06-24T19:10:55.922000+09:00'
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
ステートマシンのARNにバージョン情報のサフィックスが付与さる形式となりました。
バージョンのARNを指定して、ステートマシンの内容を確認します。
$ aws stepfunctions describe-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
creationDate: '2023-06-24T19:10:55.922000+09:00'
definition: "{\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\":
{\n \"Type\": \"Pass\",\n \"End\": true,\n \"Result\":
{\n \"statusCode\": 200,\n \"body\": \"Hellow World
v1\"\n }\n }\n }\n}"
loggingConfiguration:
includeExecutionData: false
level: OFF
name: HelloWorld
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: ACTIVE
tracingConfiguration:
enabled: false
type: STANDARD
次は「helloworld_v2.asl.json」の内容でステートマシンの更新+バージョン2の作成と確認を行います
$ aws stepfunctions update-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld \
--definition file://helloworld_v2.asl.json
revisionId: 5513a64b-df56-42a6-b7e3-ed05c6b00c43
updateDate: '2023-06-24T19:11:28.547000+09:00'
$ aws stepfunctions publish-state-machine-version \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
creationDate: '2023-06-24T19:11:49.918000+09:00'
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
$ aws stepfunctions describe-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
creationDate: '2023-06-24T19:11:49.918000+09:00'
definition: "{\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\":
{\n \"Type\": \"Pass\",\n \"End\": true,\n \"Result\":
{\n \"statusCode\": 200,\n \"body\": \"Hellow World
v2\"\n }\n }\n }\n}"
loggingConfiguration:
includeExecutionData: false
level: OFF
name: HelloWorld
revisionId: 5513a64b-df56-42a6-b7e3-ed05c6b00c43
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: ACTIVE
tracingConfiguration:
enabled: false
type: STANDARD
最後に「helloworld_latest.asl.json」でステートマシンを更新と確認をします。
$ aws stepfunctions update-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld \
--definition file://helloworld_origin.asl.json
revisionId: e43c5544-c3a7-41d8-8870-73ec92785594
updateDate: '2023-06-24T19:13:24.332000+09:00'
$ aws stepfunctions describe-state-machine \
--state-machine-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
creationDate: '2023-06-24T19:09:56.821000+09:00'
definition: "{\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\":
{\n \"Type\": \"Pass\",\n \"End\": true,\n \"Result\":
{\n \"statusCode\": 200,\n \"body\": \"Hellow World
Latest\"\n }\n }\n }\n}"
loggingConfiguration:
includeExecutionData: false
level: OFF
name: HelloWorld
revisionId: e43c5544-c3a7-41d8-8870-73ec92785594
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
status: ACTIVE
tracingConfiguration:
enabled: false
type: STANDARD
これで準備が整いました。
ステートマシンの実行
まずはステートマシンを通常実行します。
$ aws stepfunctions start-execution \
--name HelloWorld-`date +%Y%m%d-%H%M%S` \
--state-machine arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191427
startDate: '2023-06-24T19:14:25.492000+09:00'
aws stepfunctions get-execution-historyコマンドで実行履歴を確認します。
–execution-arnにはaws stepfunctions start-executionコマンドの実行で出力されたexecutionArnを指定します。
$ aws stepfunctions get-execution-history \
--execution-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191427
events:
- executionStartedEventDetails:
input: '{}'
inputDetails:
truncated: false
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
id: 1
previousEventId: 0
timestamp: '2023-06-24T19:14:25.492000+09:00'
type: ExecutionStarted
- id: 2
previousEventId: 0
stateEnteredEventDetails:
input: '{}'
inputDetails:
truncated: false
name: HelloWorld
timestamp: '2023-06-24T19:14:25.525000+09:00'
type: PassStateEntered
- id: 3
previousEventId: 2
stateExitedEventDetails:
name: HelloWorld
output: '{"statusCode":200,"body":"Hellow World Latest"}'
outputDetails:
truncated: false
timestamp: '2023-06-24T19:14:25.525000+09:00'
type: PassStateExited
- executionSucceededEventDetails:
output: '{"statusCode":200,"body":"Hellow World Latest"}'
outputDetails:
truncated: false
id: 4
previousEventId: 3
timestamp: '2023-06-24T19:14:25.570000+09:00'
type: ExecutionSucceeded
続いてそれぞれのバージョンを実行していきます。
$ aws stepfunctions start-execution \
--name HelloWorld-`date +%Y%m%d-%H%M%S` \
--state-machine arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191513
startDate: '2023-06-24T19:15:11.510000+09:00'
$ aws stepfunctions start-execution \
--name HelloWorld-`date +%Y%m%d-%H%M%S` \
--state-machine arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191534
startDate: '2023-06-24T19:15:33.074000+09:00'
$ aws stepfunctions get-execution-history \
--execution-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191427
実行結果を確認します。
- バージョン1
$ aws stepfunctions get-execution-history \
--execution-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191513
events:
- executionStartedEventDetails:
input: '{}'
inputDetails:
truncated: false
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
id: 1
previousEventId: 0
timestamp: '2023-06-24T19:15:11.510000+09:00'
type: ExecutionStarted
- id: 2
previousEventId: 0
stateEnteredEventDetails:
input: '{}'
inputDetails:
truncated: false
name: HelloWorld
timestamp: '2023-06-24T19:15:11.587000+09:00'
type: PassStateEntered
- id: 3
previousEventId: 2
stateExitedEventDetails:
name: HelloWorld
output: '{"statusCode":200,"body":"Hellow World v1"}'
outputDetails:
truncated: false
timestamp: '2023-06-24T19:15:11.587000+09:00'
type: PassStateExited
- executionSucceededEventDetails:
output: '{"statusCode":200,"body":"Hellow World v1"}'
outputDetails:
truncated: false
id: 4
previousEventId: 3
timestamp: '2023-06-24T19:15:11.625000+09:00'
type: ExecutionSucceeded
バージョン2
$ aws stepfunctions get-execution-history \
--execution-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230624-191427
events:
- executionStartedEventDetails:
input: '{}'
inputDetails:
truncated: false
roleArn: arn:aws:iam::xxxxxxxxxxxx:role/StepFunctionsRole
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
id: 1
previousEventId: 0
timestamp: '2023-06-24T19:15:33.074000+09:00'
type: ExecutionStarted
- id: 2
previousEventId: 0
stateEnteredEventDetails:
input: '{}'
inputDetails:
truncated: false
name: HelloWorld
timestamp: '2023-06-24T19:15:33.108000+09:00'
type: PassStateEntered
- id: 3
previousEventId: 2
stateExitedEventDetails:
name: HelloWorld
output: '{"statusCode":200,"body":"Hellow World v2"}'
outputDetails:
truncated: false
timestamp: '2023-06-24T19:15:33.108000+09:00'
type: PassStateExited
- executionSucceededEventDetails:
output: '{"statusCode":200,"body":"Hellow World v2"}'
outputDetails:
truncated: false
id: 4
previousEventId: 3
timestamp: '2023-06-24T19:15:33.148000+09:00'
type: ExecutionSucceeded
通常実行時には最新版の内容が反映され、バージョン指定の実行時にはそれぞれのバージョンの内容が反映されていますね。
エイリアスの作成と実行
エイリアスの作成にはaws stepfunctions create-state-machine-aliasコマンドを使用します。
1バージョンに対して1つのエイリアスを作成することができるのですが、Step Functionsでは最大で2つのバージョンを指定しそれぞれのバージョンで重みづけが可能です。
今回は1つのエイリアスで両バージョンを指定し
それぞれ50%の重みづけで作成します。
$ aws stepfunctions create-state-machine-alias \
--name HelloWorldAlias \
--routing-configuration stateMachineVersionArn=arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1,weight=50 \
stateMachineVersionArn=arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2,weight=50
creationDate: '2023-06-25T02:12:39.002000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
ステートマシンのARNにエイリアス名のサフィックスが付与さる形式となりました。
作成されたエイリアスはaws stepfunctions describe-state-machine-aliasコマンドで確認できます。
$ aws stepfunctions describe-state-machine-alias \
--state-machine-alias-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
creationDate: '2023-06-25T02:12:39.002000+09:00'
name: HelloWorldAlias
routingConfiguration:
- stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
weight: 50
- stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
weight: 50
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
それでは実行していきます。以下のスクリプトでエイリアス付きのステートマシンを10回実行します。
#!/bin/bash
for i in `seq 1 10`
do
aws stepfunctions start-execution \
--name HelloWorld-`date +%Y%m%d-%H%M%S` \
--state-machine arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
done
$ ./execution.sh
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022118
startDate: '2023-06-25T02:21:18.373000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022119
startDate: '2023-06-25T02:21:19.498000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022120
startDate: '2023-06-25T02:21:20.550000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022121
startDate: '2023-06-25T02:21:21.606000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022122
startDate: '2023-06-25T02:21:22.722000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022123
startDate: '2023-06-25T02:21:23.767000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022124
startDate: '2023-06-25T02:21:24.831000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022125
startDate: '2023-06-25T02:21:25.894000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022126
startDate: '2023-06-25T02:21:26.970000+09:00'
executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022127
startDate: '2023-06-25T02:21:28.048000+09:00'
中身を全て見るのは大変なのでここでは各実行がどのバージョンで実行されたかをaws stepfunctions list-executionsコマンドで確認します。
$ aws stepfunctions list-executions \
--state-machine-alias-arn arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
executions:
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022127
name: HelloWorld-20230625-022127
startDate: '2023-06-25T02:21:28.048000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: SUCCEEDED
stopDate: '2023-06-25T02:21:28.124000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022126
name: HelloWorld-20230625-022126
startDate: '2023-06-25T02:21:26.970000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: SUCCEEDED
stopDate: '2023-06-25T02:21:27.049000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022125
name: HelloWorld-20230625-022125
startDate: '2023-06-25T02:21:25.894000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: SUCCEEDED
stopDate: '2023-06-25T02:21:25.943000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022124
name: HelloWorld-20230625-022124
startDate: '2023-06-25T02:21:24.831000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: SUCCEEDED
stopDate: '2023-06-25T02:21:24.902000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022123
name: HelloWorld-20230625-022123
startDate: '2023-06-25T02:21:23.767000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: SUCCEEDED
stopDate: '2023-06-25T02:21:23.838000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022122
name: HelloWorld-20230625-022122
startDate: '2023-06-25T02:21:22.722000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: SUCCEEDED
stopDate: '2023-06-25T02:21:22.787000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022121
name: HelloWorld-20230625-022121
startDate: '2023-06-25T02:21:21.606000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: SUCCEEDED
stopDate: '2023-06-25T02:21:21.672000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022120
name: HelloWorld-20230625-022120
startDate: '2023-06-25T02:21:20.550000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: SUCCEEDED
stopDate: '2023-06-25T02:21:20.612000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022119
name: HelloWorld-20230625-022119
startDate: '2023-06-25T02:21:19.498000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:1
status: SUCCEEDED
stopDate: '2023-06-25T02:21:19.576000+09:00'
- executionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:execution:HelloWorld:HelloWorld-20230625-022118
name: HelloWorld-20230625-022118
startDate: '2023-06-25T02:21:18.373000+09:00'
stateMachineAliasArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:HelloWorldAlias
stateMachineArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld
stateMachineVersionArn: arn:aws:states:ap-northeast-1:xxxxxxxxxxxx:stateMachine:HelloWorld:2
status: SUCCEEDED
stopDate: '2023-06-25T02:21:18.451000+09:00'
それぞれ5回ずつ実行された結果となりました。
おわりに
お疲れさまでした。
ありそうでなかった機能がようやくStep Functionsにも実装されました。
これにより複数のバージョン管理やBlue/Green、Canaryデプロイなどが容易に行えるようになったのは嬉しいですね。
この記事が少しでも皆様のご参考になれば幸いです。