血と汗となみだを流す

クラウドエンジニアになるための修業の場

Developers.ioの記事を読んでやってみる「AWS Step Functions: はじめてのAWS Step Functions – ステートマシンの実行 #reinvent」(2018/03/24)

対象

やってみる

ステートマシンの作成

  • Get Startから始める
  • テンプレートってのが別枠になってた f:id:Anorlondo448:20180324060651p:plain
  • ステートマシン用のIAMロール選択 f:id:Anorlondo448:20180324060908p:plain
  • テンプレート選択するとサンプルコードが入る f:id:Anorlondo448:20180324061953p:plain
  • ステートマシンの作成 f:id:Anorlondo448:20180324062248p:plain

ステートマシンの実行

  • ステートマシン確認 f:id:Anorlondo448:20180324062449p:plain
  • 新しい実行 作成。日本語だと名前がなんか変だな・・・ f:id:Anorlondo448:20180324062648p:plain
  • おはよう世界した! f:id:Anorlondo448:20180324062856p:plain

いろいろ触ってみる

  • コードを適当に変更 f:id:Anorlondo448:20180324063550p:plain
  • output確認。GoodByWorldの出力が出た f:id:Anorlondo448:20180324063640p:plain

JSONの意味(わかったところだけ)

{
  "Comment": "A Hello World example of the Amazon States Language using a Pass state",
  "StartAt": "HelloWorld",
  "States": {                             
    "HelloWorld": {
      "Type": "Pass",
      "Result": "Hello World!",
      "Next": "GoodByWorld"
    },
    "GoodByWorld": {
      "Type": "Pass",
      "Result": "YOU DIED",
      "End": true
    }
  }
}
キー 意味 備考
Comment ステートマシンの説明
StartAt 最初に実行するStateを指定
States Stateを定義して、State同士をつなげたりする
HelloWorld, GoodByWorld(任意の文字列) StateのID
Type Stateのタイプ 後述
Result Stateの出力
Next 次に実行するState
End trueだとこのStateで終了

Type

  • 詳しくは公式に書いてある
キー 意味 備考
Pass 入力をそのまま出力に渡す デバッグとかに使うっぽい
Task 実行したいタスク
Choice Stateの分岐ロジック
Wait 指定された時間だけステートマシンを遅延
Succeed ステートマシンを「正常終了」として停止
Fail ステートマシンを「失敗」として停止
Parallel ステートマシンを並列実行

感想

  • 概念や用語はなんとなくわかった!
  • 次はLambdaを動かしてみる