2
1

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.

make(旧integromat)を使ってLambdaを実行する

Last updated at Posted at 2022-03-14

1.はじめに

make(旧integromat, 以下本記事ではmakeで記します)からLambdaを呼び出す手順です。
ただそれだけなのですが、makeに関する情報が少なく難儀したので、やったことを書き留めました。

2.今回やること

こんな感じのパイプラインを作ってLambdaを実行します。
Slackのチャンネルに投げたメッセージをトリガーにして、OutgoingWebhooksからmakeのWebhooksを呼び出す。
WebhooksはSlackやGmailに代替しても同じことができると思います。

スクリーンショット 2022-03-14 21.25.31.png

3.アプリの設定

一般的な手順で各アプリに対して設定を行い、パイプラインを作ります。

3-1.Slack

適当なチャンネルを作成する。パブリックとプライベートどちらでも構いません。
このチャンネルにキーワードを投げるとmakeが反応するようにします。

3-2.make

この段階ではサインアップしてアカウントだけ作っておく。
リージョンはUS, EUどちらでもOKです。

3-3.AWS(Lambda)

Lambdaの実行ログに文字列をprintするだけのかんたんなpythonプログラムです。
公式に良い感じのコードがあったのでそれをコピペして不要な箇所を削除しただけ。

okome_make_dev_function
import boto3

def lambda_handler(event, context):
    print('started your instances: ')

けどちゃんと動くのでAWSすごいな!っていつも思います。
引用元はこちら。EC2の起動・停止プログラムのサンプルです。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/start-stop-lambda-eventbridge/

テストで動かして、CloudWatch Logsにstarted your instances: が出力されればLambdaの準備は完了です。

3-4.AWS(IAM)

今回はmake専用のIAMユーザを作成します。
GUIは使用しないのでCLIのみ、LambdaのFullAccessをアタッチする。
いつも使ってるユーザとかシステムユーザ的なアカウントがあればそちらでもいいと思います。

アクセスキーとシークレットキーをmakeの設定で使います、控えておいてください。

4.Scenarioを作る

ここからmakeの設定を行います。

4-1.Webhooksモジュール

適当に作る。GUIがわかりやすいので迷わないはず。
このタイミングでhookするURLが生成されるので、SlackのOutgoingWebhookを先ほど作ったチャンネルにアプリ追加で紐づけてあげます。
手順は一般的なやり方で設定する。キーワードも任意で構いません。

4-2.Lambdaモジュール

関数の呼び出しにはInvoke a Functionを使います。

スクリーンショット 2022-03-14 20.25.14.png

Connectionに先ほど作成したIAMユーザのアクセスキーとシークレットキーを入力、認証が通ればリストからLambdaが選べます。

4-3.補足:Bodyについて

Bodyには{ "key":"value" }形式でLambdaに値を渡せます。
渡せる値はWebhooksで確認できます。

スクリーンショット 2022-03-14 21.51.49.png

実際に設定する時はこんな感じ。

スクリーンショット 2022-03-14 22.07.54.png

Lambda側でkeyを変数として宣言してあげれば、渡した値(今回だと文字列Run Function)をプログラムで利用可能です。

5.実行してみる

あとはシナリオを保存し、Run onceでテストしてみたり、シナリオをONにして実行してみてください。
Slackのチャンネルにキーワードをメッセージすると、make経由でLambdaが動くと思います。

Errorが出てもGUIがわかりやすく教えてくれます。エラーログも出力される。
読んで対処してみてください。

6.おわりに

実際に業務で使うとなるとRouterやFilterを使ったりしてもっと複雑になると思いますが、ベースはこれでOKかと。
細かいところを端折っていますが、makeのGUIがめちゃくちゃわかりやすいのであまり迷わないと思います。

以上、ぼくもしばらくこの手のSaaSを使う機会が無さそうなので備忘録を兼ねた記事でした。
どなたかのお役に立てると嬉しいです!

2
1
1

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?