public note

AWS Step Functions が yaml に対応したので試した

2021/3/4 に以下の記事が出ました。待望のyaml対応!

aws.amazon.com

これで、Cloud Formation の Template と同じく yaml で統一できます。 どんな感じなのか、以前に json で作成したステートマシンを yaml で定義しなおして確認してみました。

対象としたステートマシン

github.com

これは、AWS Glue Data Catalog の日付パーティションを自動的に更新するために作ったものです。 下図右側にかかれているステートマシンを定義しなおしました。

f:id:ts223:20210311233013p:plain

定義ファイル

長いのでリンクだけ貼ります。まったく同じ内容をそれぞれ記述しています。 拡張子は asl.json, asl.yaml とするのがお作法。

jsonで定義したステートマシン

yamlで定義したステートマシン

yaml にすると、以下のようないいことがありそうです。

  • 文法エラーが激減する
    • しょうもないエラーに悩まされることはもうないのです
  • 行数が減る
    • 189 -> 140 になりました
  • 可読性が向上する
    • 括弧だけの行がなくなるので、画面表示上の情報量が増えます
    • インデントの階層が全体的に浅くなるので、どのステップを書いているのか迷子になりにくいです
  • コメントを書ける*1

yaml を選ばない理由が見つからない。 昨年には Amazon SageMakerと連携して機械学習パイプラインを構築できるようになったりと、どんどん便利になっていて楽しい。

*1:2021/3/15 追記。大事なのを書き忘れていた...