Help us understand the problem. What is going on with this article?

AWS LambdaでSlack通知してみる

やること

PowerShellでSlack通知してみるの続き、AWS Lambdaで通知してみる

前提

AWSアカウントとSlackアプリのIncoming Webhook URLを取得していることが前提で始めます。


IAMロール作成

Lambda実行に必要な権限(IAMロール)を作成します。

必要なポリシーを選択します。今回はLambdaが動けばいいので、AWSLambdaBasicExecutionRoleを選択しました。

ロール名を設定します。

Lambda作成

AWSコンソールのLambdaを開き、関数の作成ボタンをクリックします。

一から作成を選択します。

赤枠部分を設定します。実行ロールは、さきほど作成したIAMロールを設定します。

このような画面が表示されたら、下にスクロールします。

赤枠部分にあるスクリプトを次に紹介するスクリプトに書き換えます。

書き換えのスクリプトです。
スクリプト内のhttps://hooks.slack.com/services/xxx/xxx/xxxは、SlackのIncoming Webhookに修正します。

import json
import urllib.request
import logging
from collections import OrderedDict
import pprint

def post_slack(argStr):
    message = argStr + "です"
    send_data = {
        "text": message,
    }
    send_text = json.dumps(send_data)
    request = urllib.request.Request(
        "https://hooks.slack.com/services/xxx/xxx/xxx", 
        data=send_text.encode('utf-8'), 
        method="POST"
    )
    with urllib.request.urlopen(request) as response:
        response_body = response.read().decode('utf-8')

def lambda_handler(event, context):
    post_slack("test")

これで、設定完了です。

動作テストを用意する

Lambda実行のテストを用意をします。作成済みであればこの作業は不要です。
テストをクリックします。

イベント名を設定します。緑枠の部分は今回は関係ないので編集不要です。

これで、テストの準備が完了しました。

動作テスト:LambdaからSlackに通知してみる

先ほど作成したテスト(test)を設定し、テストボタンをクリックします。

実行結果 成功と表示されれば実行成功です。

Slackに通知が来ていることを確認します。

関連投稿

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした