ヤマムギ

growing hard days.

*

AWS Step Functions まずはパラレルでLambdaを並列実行してみました

   


複数のlambdaの実行制御をLambdaでやってましたが、その部分をStep Functionsで可視化して分けられるのかと思い使えるようにしていきたいと思います。

まずは、パラレルでLambdaを並列実行してみました。

試すこと

最初のLambdaがSQSにキューを作って、次の2つのLambdaがキューの内容を並列でSlackへ投稿します。

Step Functionsの設定

Step Functionsのグラフはこうなりました。

Step Functionsのコードはこちらです。
これをコードに書くとグラフが上記のようになります。

最初のLambdaの設定

  • Comment : コメントを記載します
  • StartAt : 最初に起動するステートを指定します
  • States : ステートを記入していきます

最初に実行するステートとして”set_queue”を指定したので、”set_queue”の内容を定義します。

  • Type : Lambdaを実行する場合”Task”を指定します。
  • Next : このステートが正常終了した次に実行するステートを指定します。
  • Resource : Lambdaのarnを指定します。

並列で実行するLambdaの設定

  • Type : 並列実行のステートとして”Parallel”を指定します。
  • Next : 並列実行するステートがすべて正常終了した次に実行するステートを指定します。
  • Branches : ステートの固まり(States)の配列を定義します。

Branchesの配列の中はそれぞれがStatesとなるので、”StartAt”から指定する必要があるようです。

終了処理

  • Type : 何もしない”Pass”を指定します。
  • End : 終了なので trueを指定します。

コード

githubにおいてます。

手っ取り早く試したい方はSlackのwebhook incomingとSQSの設定をしてご利用ください。

余談 嵌ったエラー

「AWL 定義に問題があります。確認してもう一度お試しください」

“Type”: “Task”,

“Type”: “task”,
と書いていることに気づかずに上記エラーで少し嵌りました。

次は分岐とループを調べたいです。


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー2年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - AWS ,

ad

ad

  関連記事

Backlogの課題チケット更新内容をMicrosoft Teamsに通知する(AWS Lambda Python)

BacklogにSlack連携が追加されました。 ですが、私の所属している会社で …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」執筆裏話

今日2019/4/20発売となりました「AWS認定資格試験テキスト AWS認定ク …

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました

AWS Summit Tokyo 2017でセッション「Going Server …

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …

「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確定したのでAmazon著者セントラルに登録した

初の執筆本、「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確 …

AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する

執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …

re:Invent 徒歩記(シアトルも)

このブログは、AWS re:invent 2018 Advent Calenda …

よくあるサーバーレスアーキテクチャで質問フォーム

この記事はServerless2 Advent Calendar 2018に参加 …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …