S3に画像をアップロードしたらLambdaを通じてSlackに通知を送る

こちらのページで示されている手順をトレース。

  

qiita.com

 

 

AWSは触り始めて日が浅く、基礎的な環境構築や動かし方を先人たちの記事を見ながら確認している段階。

実運用しているわけではないので、Slackに通知を送れるだけで楽しい。


自分が作ったものが動いたー!という実感がもてる。


以前参加していたプロジェクトで利用していたサービスをひとまず触ってみて、どのように設定を行うのか確認している段階。

S3は画像や音楽ファイルの管理などに使用していたため聞きなじみのあるサービス。何をするためのサービスかを調べなくても知っていたのでとっつきやすかった。


S3→Lambda→Slackとつなぎ、ログをCloudWatchで確認する。

 

 

①S3にバケットを作ってファイルをアップロード

f:id:satomiO:20170511180837p:plain


好きなものをアップロードしよう

 

②Lambdaの設定

f:id:satomiO:20170511180854p:plain

 

「Lambda関数の作成」から

 

f:id:satomiO:20170511180903p:plain


「s3」などでフィルタをかけて「s3-get-object」を選択。
もろもろの設定はページTOPで紹介したリンク先を参照してください。


③SlackのWebhookURLを取得(Slackのアカウントが必要)

 

https://my.slack.com/services/new/incoming-webhook/


ここからwebhookのURLを取得する。通知するチャンネルを用意しておこう。

「テストだし、プライベートチャンネルを立てて挙動が確認できたらチャンネル削除しよう」と思ってプライベートチャンネルを立てたが、プライベートチャンネルは削除できないから気を付けるんだ!


アーカイブ化はできるが、チャンネル削除はパブリックチャンネルのみ対応)


LambdaでこのwebhookURLを設定する。

 

ちなみに、最初は自分にダイレクトメッセージで送ろうと「@my-account」と自分のアカウントを設定したが、この場合は@slackbotに送られて自分のアカウントにダイレクトメッセージでは送られなかった。
何か設定方法があったなら知りたい。

 

以上の設定ができたら動作確認してみる。楽しい。

 

④CloudWatchでログを確認

Lambdaで設定したJSでログを吐き出すようにしてあるのでCloudWatchへ。

 

メニューから「CloudWatch」を選択して「ログ」へ遷移。

「ロググループ」から該当するグループを選択してログを確認。アップロードするたびにここにログが吐き出される。