CloudWatch에서 정기적으로 Lambda를 실행하여 Slack에 메시지 보내기
5757 단어 람다파이썬CloudWatch슬랙AWS
이번 주제
Lambda의 트리거는 몇 가지 설정할 수 있지만 이번에는 매주 월요일 AM9시에 SLack에 알리는 것이 목적이므로 CloudWatch에서 Lambda에 설정한 함수를 실행하는 방법을 시도해 보겠습니다.
Lambda에 Slack 보내는 프로그램 만들기
Lambda에서 WebHook을 사용하여 Slack에 메시지를 보냅니다.
다른 기사로 쓴 이쪽을 바탕으로 작성.
조금 손을 추가하고 있습니다.
slack.py# coding: UTF-8
import requests
import json
import os
from datetime import datetime
def lambda_handler(event, context):
now = datetime.now()
msg = now.strftime("%Y/%m/%d %H:%M:%S")
msg += u'\r\nCloudWatch実行\r\nlambdaからのPython使ってのSlack送信・・・何たる僥倖・・・!悪魔的発想・・・!'
# 実行
send_slack(u'カイジ', u':kaiji:', 'チャンネル名', msg)
# slack送信、仮メソッド
def send_slack(user_name, icon, channel, msg):
requests.post('WebHookのURL', data = json.dumps({
'text': msg, # 投稿するテキスト
'username': user_name, # 投稿のユーザー名
'link_names': 1, # メンションを有効にする
'channel': channel, # チャンネル
'icon_emoji': icon, # アイコン
}))
이해하기 쉽도록 Post 할 메시지에 날짜를 넣어 보았습니다.
그리고는 뭐, 자주 있는 나쁜 장난입니다 w
테스트 실행에서 Slack에 메시지가 전송되는 것을 확인했습니다.
Lambda에 트리거 설정
트리거를 선택하고 + 트리거 추가를 누릅니다.
그림의 공백으로 왼쪽을 클릭합니다.
그러면 설정할 수 있는 목록이 표시되므로 이번 사용할 CloudWatch Events를 선택합니다.
규칙에서 새 규칙 만들기를 선택하여 필요한 항목을 채 웁니다.
스케줄식은, 이번은 테스트적인 내용이므로 5분마다 실행하는 식을 기재했습니다.
트리거의 유효화의 체크가 ON 담당하고 있는 것을 확인해, 송신을 눌렀다.
트리거 생성 완료
Slack 확인
우선 문제없이 정기적으로 Slack의 송신을 할 수 있었습니다! !
별도의 프레임으로 검증하는 것
시간이 이상하네요・・・? 어디 시간입니까?
우선, 일본 시간에서의 실행을 할 수 있도록 조사해 봅니다.
AWS Lambda 시간대를 UTC에서 도쿄로 변경
여기 람다에서 시간을 할 수있었습니다!
CloudWatch에 대해서는 별도 조사 중입니다.
Reference
이 문제에 관하여(CloudWatch에서 정기적으로 Lambda를 실행하여 Slack에 메시지 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/seisyu1985/items/518b4a899cf91a43b0e4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# coding: UTF-8
import requests
import json
import os
from datetime import datetime
def lambda_handler(event, context):
now = datetime.now()
msg = now.strftime("%Y/%m/%d %H:%M:%S")
msg += u'\r\nCloudWatch実行\r\nlambdaからのPython使ってのSlack送信・・・何たる僥倖・・・!悪魔的発想・・・!'
# 実行
send_slack(u'カイジ', u':kaiji:', 'チャンネル名', msg)
# slack送信、仮メソッド
def send_slack(user_name, icon, channel, msg):
requests.post('WebHookのURL', data = json.dumps({
'text': msg, # 投稿するテキスト
'username': user_name, # 投稿のユーザー名
'link_names': 1, # メンションを有効にする
'channel': channel, # チャンネル
'icon_emoji': icon, # アイコン
}))
Reference
이 문제에 관하여(CloudWatch에서 정기적으로 Lambda를 실행하여 Slack에 메시지 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/seisyu1985/items/518b4a899cf91a43b0e4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)