파이썬 lambda에서 slack 알림을 만드는 샘플

4428 단어 람다

설정


  • 핸들러는 ファイル名.関数名

  • Slack에서 ImcomingWebHook 추가





    코드


  • 구그가 나오는 requests라는 모듈은 urllib에 흡수 된 것 같습니다
  • json을 slack의 WEBHOOK 주소에 POST로 던집니다
  • def lambda_handler(event, context):event 는 Lambda 런타임에 함수로 전달되는 JSON 데이터
  • 실행원의 자원에 의해 물론 내용은 다르지만, JSON 데이터이므로 템플릿적으로 취급할 수 있다

  • 
    import json
    import urllib.request
    
    def post_slack():
        send_data = {
            "username": "notify_slack",
            "icon_emoji": ":vampire:",
            "text": "test",
        }
        send_text = "payload=" + json.dumps(send_data)
    
        method = 'POST'
        headers = {'Content-Type': 'application/json'}
        WEB_HOOK_URL = "https://hooks.slack.com/services/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"
    
        # オブジェクトを組み立てる
        request = urllib.request.Request(
            WEB_HOOK_URL, 
            data=send_text.encode('utf-8'), 
            method=method
        )
    
        # ここで実際にPOSTが実行される
        with urllib.request.urlopen(request) as response:
            response_body = response.read().decode('utf-8')
    
    # 最初にLambdaから呼ばれる   
    def lambda_handler(event, context):
        response = post_slack()
        return response
    

    동작 확인


  • lambda에서 テスト 실행
  • 이 때 테스트하는 JSON 문자열은 적절하고 좋다 (코드에서 사용하지 않기 때문에).


  • 좋은 웹페이지 즐겨찾기