メサイア・ワークス

aws lambdaからslackに投稿して、5秒後に削除してみた

aws lambdaからslackに投稿して、5秒後に削除してみた

Slackアプリトークンの取得方法は、こちら

投稿メッセージやメンションに反応するだけのslackアプリ(python)で作ってみた。意外と設定が面倒!

slackってメッセージIDがなくて、メッセージのタイムスタンプ指定なんだ。めずらしい!

ローカルのwindows実行の場合は、pipでslack_sdkをインストールすればいいけど、
aws lambdaの場合は、レイヤーというLambda関数の依存ファイルやライブラリを別のコンポーネントとして管理できる所にアップロードしないと駄目!

1, lambdaのpythonのバージョンが3.13なので、ローカルのwindowsのpythonも3.13にする
2, アップロードするためのzipファイルを、powershellで生成

3, aws cliからアップロード(layerは関数毎じゃなくて、lambda全体で共通するが、pythonのバージョンが同じじゃないと駄目!!!)

4, Lambda コンソールで対象の関数を開く
「レイヤー」タブ → 「レイヤーを追加」 を選択
「カスタムレイヤー」 を選択
バージョンも指定する必要がある!!

5, 普通にlambda関数をテスト実行すると、3秒制限があるので、10秒くらいに延長しておく
AWS Lambda コンソール に移動。
タイムアウトが発生した関数を開く。
「設定」タブ をクリック。
「基本設定」セクション → 「編集」 をクリック。
「タイムアウト」 を「3秒」から「10秒」に変更。
「保存」 をクリック。

モバイルバージョンを終了