3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

StepFunctionsから外部APIを叩く機能が追加されたので、Slackに投稿してみる

Posted at

StepFunctionに嬉しいアップデートが来ました!
External endpoints and testing of task states now available in AWS Step Functions

  • 外部APIを叩けるようになった
  • ステート単体でのテストができるようになった

の二本立てですが、この記事では前者の外部APIを叩くというところを試しています。

外部APIを叩けるとなると、真っ先にやりたいのはSlackへの投稿と相場が決まっています。
これでSlackに投稿するためのLambdaを書かなくていい!!

やってみた

StepFunctionsのコンソールから新しいステートマシンを作成します。
「http」でステートを検索してみると、「Call thir-party API」がありました。これです!
スクリーンショット 2023-11-28 4.48.02.png

このステートをドラッグして入れてあげて、状態名とSlackのWebhookURLを入力します。メソッドはPOSTです。
image.png

その下に、Authenticationの項目があります。
「その理由をご覧ください」のリンクをクリックすると、次のような画面が出てきます。どうやらEventBridgeの外部APIを叩く機能を呼び出すようですね。EventBridge側で認証等もやってくれると。
ということで、「EventBridge接続を作成」をクリックします。
スクリーンショット 2023-11-28 4.49.07.png

SlackのWebhookには特に認証はありませんが、何かしらの認証が求められるのでダミーの値を入れておきます。
ちなみに、送信先タイプに「パートナー」を指定するとSlackがありますが、これはSlack App用なので今回は使用しません。
スクリーンショット 2023-11-28 4.50.35.png

作成ボタンを押して、「接続ARN」をコピーします。
スクリーンショット 2023-11-28 5.27.00.png

StepFunctionsの画面に戻り、Authenticationの項目に接続ARNを設定します。
スクリーンショット 2023-11-28 5.29.39.png

次に、WebhookURLに渡すRequestBodyを指定します。
今回は、入力から渡ってきたテキストを投稿するようにしています。投稿時の名前も上書きするようにしてみました。
入力を渡す項目のキーは、text.$のように、.$を付けることに注意してください。
スクリーンショット 2023-11-28 5.02.21.png

ステートマシンを保存します。特に指定しなければロールが自動で作成されるので、内容を確認します。
スクリーンショット 2023-11-28 4.57.37.png

無事にステートマシンができました!
image.png

「実行を開始」をクリックして、試しに動かしてみましょう。Slackに投稿するテキストを渡してあげます。
スクリーンショット 2023-11-28 4.58.36.png

成功すればちゃんとSlackに投稿が来ているはずです。
スクリーンショット 2023-11-28 4.59.03.png
スクリーンショット 2023-11-28 5.02.43.png

まとめ

StepFunctionsから外部APIが叩けるようになったということは、ステートマシンにさまざまなSaaSが組み込めるようになったということです。
今回はSlackを試しただけですが、まさに可能性は無限大!StepFunctionsがますます楽しくなりますね!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?