はじめに
別の記事で VSCode で Lambda 開発を効率化するといった内容を書きましたが、その記事を書いた次の日に VSCode 上で StepFunctions(以後SFN) の WorkFlowStudio が VSCode 上で利用できるようになったと発表されたので触ってみようかと思います!
アップデート情報:https://aws.amazon.com/about-aws/whats-new/2025/03/aws-step-functions-workflow-studio-vs-code-ide/
Workflow Studio とは?
普段 StepFunctions を利用したことがない人からすると「Workflow Studio」って何か?というのがわからない方もいらっしゃるかと思いますので少しだけ説明します。
Workflow Studio は2021年ごろに発表された機能で、Step Functions のステートマシンを視覚的にドラッグ&ドロップで作成することができる機能です。
え?そんなの当たり前にみんなそうやって作っている?
その通りです、この機能が発表されてからはほとんどの場合、この機能を使用してステートマシンを作成するのではないかと思います。
では、この機能が発表される前はどうやって作っていたと思いますか?
実は、ステートマシンには ASL(Amazon States Language) という独自のステートマシンを定義するための言語があります。
もちろん Workflow Studio も裏ではこれが作成されているのですが、以前はこれを直接書いてステートマシンを作成していました。
筆者もこの機能が発表される前にSFNを使用し、大変だった記憶があります。。
VSCode で Workflow Studio を使おう!
さて、今回のアップデートで今までマネジメントコンソール上でしかできなかった Workflow Studio による開発が VSCode 上でも可能になったとのことなので早速試してみましょう!
AWS Toolkit for VSCode の導入が終わってない場合は導入してください。
AWS Toolkit の Explorer から Step Functions を右クリックすると新規作成のメニューが出るのでクリックします。
テンプレートの選択を迫られるのでとりあえずHello world
を選んでおきます。
(白紙はないのか、、)
YAML
かJSON
か選択できるので、今回はYAML
にしようと思います。
クリックすると ASL が開かれました!
ASL の一番上の部分にあるメニューが変わってます!
さっそく「Open with Workflow Studio」をクリックしてみます!
マネジメントコンソールと同じような画面が表示されました!
あとはマネジメントコンソールで操作するのと同じように開発を行い「Publish to Step Functions」をクリックすればよさそうです!
終わりに
今回はアップデートにより追加された VSCode 上での Workflow Studio を取り上げてみました。
AWS SAM などの IaC を使用してリソース展開をしている場合などに非常に役に立ちそうです!
(今まではマネジメントコンソール上で Workflow Studio で作ったステートマシンから ASL をコピーしてくるか、直接 ASL を記述するかだったと思います。)
素晴らしいアップデートですね!
弊社では一緒に働く仲間を募集中です!
現在、様々な職種を募集しております。
カジュアル面談も可能ですので、ご連絡お待ちしております!
募集内容等詳細は、是非採用サイトをご確認ください。
https://engineer.po-holdings.co.jp/