ヤマムギ

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”,
と書いていることに気づかずに上記エラーで少し嵌りました。

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

@yamamanx

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

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

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

 - AWS ,

ad

ad

  関連記事

API GatewayのアクセスログをCloudWatchに記録する

Amazon API GatewayのアクセスログをCloudWatchに記録で …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

先日参加しましたAWS Summit Tokyo 2017で、 [JapanTa …

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

「関西AWSスタートアップ勉強会」に行ってきました

第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

kintoneに登録されたアカウントの電話番号にGoogleカレンダーの予定をAmazon Pollyが読み上げてTwilioから電話でお知らせする(AWS Lambda Python)

Google Calendar Twilio Reminder Googleカレ …

kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す

2017年2月のアップデートでkintoneにWebhook機能がリリースされま …

AtomエディタでEC2のファイルを直接編集する

Webページを編集していてEC2のファイルをvimエディタでさわったりしています …