ヤマムギ

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

Message

メールアドレスが公開されることはありません。

  関連記事

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …

「MasterCloud第10回 ~超AWS神回の予感~」に行ってきました

JAWS DAYS 2018のコミュニテイフレンドシップにも参加しているMast …

「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkintoneはこれだ!〜」で登壇しました

「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkinto …

「IoTの法律勉強会 第1回」に行ってきました

「IoTの法律勉強会 第1回」に行ってきました。 「関西のIoTを盛り上げよう」 …

「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました

AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …

Java SE 7 Silver模擬テストの結果間違えたとこをメモ 2015/2/12

模擬テスト1回目。 90問中79問正解。 正解率87%。 まだ不安。 いつものご …

Developers Summit 2018 「マイクロサービスをAWSサーバレス&コンテナで実装する方法」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

Developers Summit 2018 「もしSIerのエンジニアがSRE本を読んだら」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

実録 JAWS DAYS 2016 ~スタッフ,RoadTrip,懇親会LTで参加しまして~

2016/3/12 参加してまいりましたJAWSDAYS2016 スタッフとして …

Rapidminerハンズオン勉強会に行ってきました

機械学習 OSSのRapidminerの勉強会に行ってきました。 OSS BI …