tottu22 エンジニアブログ

tottu22’s blog

エンジニアの日常をつづっていきます

AWS lambdaを使ってslackへpostしてみた

Lambdaを使ってみよう

AWS lambdaを使えばEC2などの従量課金制のサーバを立ち上げとくことなく、定刻で何か処理をしたいという時に役立ちます。

f:id:tottu22:20171207194740j:plain

 

これぞ、サーバレス!

 

いまサーバレスをいくつか取り入れてるのが、

 

あまり常時起動しといても意味ないサーバとかを定刻になったら起動、停止をしてサーバ代節約してたり

バックアップを夜間に行うためにスケジュール起動させて、スナップショットを取っていたり

定刻とかではありませんが、

 

チャットボットのレスポンスに使ってみる

 

などをこれまでにやってみました。

 

ふと思い出したのですが、すごく身近に役立つものがあったんです。

 

お昼の時間に食べるお弁当をWEBで毎朝注文して、お昼にお弁当屋さんがお弁当を届けてくれるというものがあり、

よく忘れるんですよね、注文を。。。注文忘れると安いお昼で済ますことができなくなり、外で少し高い昼食をとることになります。

サラリーマンにとっては死活問題です😱

 

そこで、slackにお弁当の注文するように定刻にWEBのURLをつけて送れば、ちょっとは防止できると考えて、サーバレスでお金をかけずに、slackに通知させる仕組みを作りました。

 

slackにpostされるまでの手順 

  1. AWS Cloud Watch Event でcronを設定して、
  2. AWS lambdaの関数が呼ばれて、
  3. 関数でかかれているslackpostで通知

という流れです。

 

細かい技術的なことはqiita に記事を書いといたのでそちらを見ていただければと思います。

 

qiita.com

 

タイマーとかをスマホで設定しとけばいいじゃんと言われてしまえば、そこまでなんですけど、ゆくゆくはサイトをlambdaでスクレイピングして、今日のお弁当の画像を表示させたり、チャットベースでそのまま注文ができればいいなと思っています。