[AWS Hands-on for Beginners]AWS Step Functionsの入門ハンズオンをやってみた

Step Functionsが何もわからん方でも大丈夫です
2023.06.21

こんにちは、洲崎です。
AWS Hands-on for Beginnersの「AWS Step Functions 入門」をやってみたので紹介します。

「AWS Step Functions 入門 - ビジュアルツールを使ってローコードにワークフローを作成する」

「AWS Step Functions 入門 - ビジュアルツールを使ってローコードにワークフローを作成する」は、AWS Hands-on for Beginners(AWS初心者向けハンズオン)の中にあるStep Functionの入門ハンズオンです。
プログラミングを書かずに「Workflow Studio」と「AWS SDK 統合」でサーバーレスなワークフローを作成します。

Step Functionsを今まで触ったことがなくとも、設定方法を丁寧に説明されているので大丈夫です。

ハンズオンのアジェンダ

  1. 今回のハンズオンのシナリオ/構成の紹介 + AWS Step Functions の基本
  2. ステートマシーンの作成 + 「アクション」を使ってみる
  3. Input の受け取り + Choice ステートを使ってみる
  4. Parallel ステートで処理を並列に実行する
  5. Output の調整 + DB(Amazon DynamoDB)の更新
  6. Parallel ステートのもう一方の実装 - テキストを音声化する
  7. ステートで「タスクが終わるまで待つ」を実装する
  8. 音声ファイルの出力先情報を DynamoDB テーブルに格納する
  9. リソースの削除 + まとめ + Next Action 案

各章ごとに、埋め込まれている動画(Youtube)を見て学ぶ形です。
自分の検証AWSアカウントを利用するので、ない場合は事前に作成します。
動画の合計時間は83.06分(1時間半ほど)です。

感想やコメント

Step Functions Studioのアクション・フローの使い方を学べた

ハンズオンではStep Functions Studioでワークフローを作成するのがメインです。
このワークフローで使う「アクション」や「フロー」の機能の使い方を学ぶことができました。
「アクション」は各AWSサービスのAPIを利用する機能です。ハンズオンではDynamoDBのテーブルに書き込んだり、Pollyのmp3ファイルを作成するときに利用しました。

「フロー」はStep Functions独自のChoice(条件分岐)やWait(待ち)などを利用できます。

フローについては、下記機能を実際に手を動かしながら学ぶことができました。

  • Choice(条件分岐)
  • Parallel(並列処理)
  • Wait(待ち)
  • Pass(入力をそのまま出力)
  • Succeed(成功停止)
  • Fail(失敗停止)

いきなり全てのフローを利用するではなく、セクションごとに各フローを利用するので理解しながら進めることができました。

他AWSサービスとの連携

Step Functionsを通して、他のAWSサービスと連携してちゃんと処理されるかの確認が含まれていました。
例えばDynamoDBのUpdateItemを使って、指定したテーブルにResultの情報が保存されているかや、PollyのStartSpeeechSynthesisTaskを使ってmp3ファイルが作成されるかを確認しました。
Lambdaなどを使わずとも、AWSの各サービスのAPIを繋げる体験ができたのはよかったです。
PollyやTranslateで日本語のテキストを音声化したり英訳化するのを、全部AWSのサービスを使って実装しているのが面白いなと思いました。

ハンズオンの中でドキュメントの見方を学べる

ハンズオンは基本的には用意された環境で進めて行ったり、中にはCloudFormationなどのテンプレートが用意されていることがあると思います。
このハンズオンではマネジメントコンソールで基本作業をおこなうのですが、「アクション」のパラメーターの書き方を調べるときに、API Referenceのドキュメントを開いて確認していました。

今後Step Functionsを利用する際も、ドキュメントは都度見にいくと思いますので、ハンズオンの中でこういった場面があるのは新鮮で良かったです。

最後に

Step Functions なんもわからん、という方はまずこのハンズオンをやってみてください。
入門ハンズオンというだけあって、丁寧に解説されていますし、さまざまなAWSサービスとの連携も学べて勉強になります。

ではまた!コンサルティング部の洲崎でした。