ヤマムギ

growing hard days.

*

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (1)LambdaからSlackへ通知する1

      2017/08/18


作る部分

SlackのWebURLを確認する

Slackでチームを作成してbotから投稿出来るようにするで作成したSlackのチームセッティングページへアクセスします。

Slack team settingsにアクセスします。

ログインしていない場合は作成したチームにログインします。

[Menu] – [Configre Apps]をクリックします。

[Custom Integrations] – [Incoming WebHooks]をクリックします。

※まだIncoming WebHooksを作成していない方はSlackでチームを作成してbotから投稿出来るようにするを参照してチームを作成してください。

鉛筆のアイコン(Edit Configuration)をクリックします。

少し下にスクロールして、Webhook URLの[Copy URL]をクリックして、テキストエディタなどに貼り付けておきます。

プログラムのダウンロード

Github-yamamugi_handson_to_slack_secondにあります。

こちらのダウンロードリンクからダウンロードしてください。

プログラム解説

Incoming WebHooksのURLにrequestsモジュールを使って、投稿するテキストとチャンネルをPOSTしています。

Lambda関数の作成

AWSマネジメントコンソールでLambdaを開いて、[関数の作成]をクリックします。

何も選択せず、[一から作成]をクリックします。

何も選択せず、[次へ]をクリックします。

名前 : 3_to_slack_second
説明 : ヤマムギハンズオン Slackへメッセージ投稿
ランタイム : Python 3.6

コードエントリタイプは「.zipファイルをアップロード」でyamamugi_handson_to_slack_secondからダウンロードしたZIPファイルをアップロードします。

環境変数
* SLACK_URL : SlackのIncoming WebHooksのURLを設定します
* LOG_LEVEL : DEBUG(ログを減らしたい場合は ERRORかINFOを設定します)
* CHANNEL : #general(他のチャンネルに変えたい場合は指定します)

※LOG_LEVELとCHANNELは設定しなくても動きます。その場合、LOG_LEVELはINFO,CHANNELは#generalになります。

lambda_basic_executionロールがある場合は既存のロールからlambda_basic_executionを選択します。

lambda_basic_executionロールがない場合は、[カスタムロールの作成]をクリックします。

カスタムロールの内容です。

必要ないとは思いますが、念のためタイムアウトを5分にしておきます。
[次へ]をクリックします。

[関数の作成]をクリックします。

右上の[テスト]をクリックします。

テストイベントに以下を設定して[保存してテスト]をクリックします。

※URLはなんでもいいです。

Slackにメッセージが投稿されれば成功です。

メッセージが届かない場合、実行が失敗していないか実行結果の[詳細]を展開して確認しましょう。
もしくはSLACK_URLが間違えていないか見直しましょう。

[モニタリング] – [CloudWatchのログを表示]からもログを確認出来ます。

目次

(1)LambdaからSlackへ通知する1 ←今ここ

(2)LambdaからSlackへ通知する2

(3)Lambdaからkintoneへレコードを登録する

(4)Step Functionsで複数のLambdaを実行制御する

(5)LINEからの投稿へ返信と登録処理

(6)Twilioからの電話受付と登録処理

(7)ラッキーコンテンツ

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - event, study , , ,

ad

ad

  関連記事

DevLOVE関西「それぞれの現場で実践した【自動化】の話」に行ってきました

DevLOVE関西「それぞれの現場で実践した【自動化】の話」に行ってきました。 …

AWS Summit Tokyo 2017 聴講したセッションのメモ

2017年6月に参加しましたAWS Summitで聴講したセッションのメモを記し …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/3

本日は継承。 眠すぎるのでちょっとだけ。 本当に少しだけでもいいから続ける。それ …

「実践AWSプログラミング in Osaka」に行ってきました

クラスメソッドさんの「実践AWSプログラミング in Osaka」に行ってきまし …

「JAWS-UG名古屋 re:Inventに行ったつもりのLT大会&忘年会」でLTしてきました

大阪から東京へ自転車で向かう初日に名古屋でJAWS-UGでLT大会に参加しようと …

Lotusphere 2010に行ってきました

Lotus Technical Award 2009 for Best Arch …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/11

練習問題4日目。 とりあえずひと通り終了。 317問中288問正解、90.85% …

「GCPUG Tokyo Container Builder Day February 2018」に行ってきました

GCPUGは神戸以来の2回目で参加させていただきました。 申し込もうかと思ったら …

「JP_Stripes Tokyo Vol.7 Stripe at Doorkeeper and MakeLeaps」で受付をしました

全編英語でJP_Stripes(Stripeの勉強会)の開催がありまして、受付を …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/5

本日は例外。 いつものごとくマークダウンで記載したのでそのままJetpack M …