ヤマムギ

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

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


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

CloudFormationドリフト検出

CloudFormationスタックのドリフト検出を確認しました。 CloudF …

AWSマネジメントコンソールのマルチセッションサポート

AWSマネジメントコンソールにマルチセッションサポートが追加されましたので使いま …

AWSアカウントの解約

アカウント作成メニュー確認のために作成したAWSアカウントを解約しました。 使っ …

AWS App RunnerでGithubリポジトリからデプロイ

AWS App Runner開発者ガイドのチュートリアルをやってみました。 Gi …

S3バケットのデフォルト暗号化はデフォルトだったことを確認しました

S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …

Amazon Linux2のジャンボフレーム

ユーザーガイドのEC2 インスタンスのネットワークの最大送信単位 (MTU)を試 …

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

Google Calendar Twilio Reminder Googleカレ …

特定AWSアカウント特定リージョンのSQSキューを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSQSキューを全部削除したいです …

Rocket.ChatにAWS Lambda(Python)から投稿する

Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …