[AWS] Slack API 를 Lambda Serverless 연결

김현수·2023년 1월 31일
0

AWS

목록 보기
5/10

👨‍💻 Slack API 를 Amazone serverless 연결하기


기존에 만든 Lambda 를 만드는 것을 전제하에 진행되는 내용


https://api.slack.com/apps

  • 생성 버튼 CLICK!!
  • From Scratch CLICK!!
  • Slack App name 입력 후 workspace 선택!
  • Create App 버튼 CLICK!!

  • 권한을 주기위해 OAuth & Permission menu-item CLICK!
  • Scopes 에서 Bot Token Scopes Add an Oauth Scope 버튼 CLICK!!
  • chat:write, incoming-webhook 차례대로 Add
  • 아래로 내려서 Revoke Tokens 버튼 CLICK!!
  • Yes Button CLICK!!

  • Incoming Webhook 메뉴로 들어가기!
  • 아래로 내려서 Add New Webhook to Workspace Button CLICK!!
  • 채널 중 하나 선택 후 허용 Button CLICK!!

업로드중..

업로드중..

  • Amazone 에서 이전에 만든 서버리스 CLICK!!

  • 논리적 ID 에 첫번째 Function CLICK!!

  • 위와 같이 코딩

  • Slack API Site 에 incoming webhook 에 있는 URL 복사

  • 해당 코딩 url 자리에 붙여넣기

  • deploy 버튼 누르고 test 버튼 CLICK!!

  • 결과 => Lambda 에서 보낸 메시지가 Slack 에 도착한 것을 확인


import json
import urllib.request

def  post_slack(argStr):
	webhook = "https://hooks.slack.com/services/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"
    message = argStr
	send_data = {
    	"text": message,
	}
	send_text = json.dumps(send_data)
	request = urllib.request.Request(
    	webhook, 
    	data=send_text.encode('utf-8'), 
	)

	with urllib.request.urlopen(request) as response:
    	slack_message = response.read()

def hello(event, context):
	post_slack("Lambda에서 Slack으로 전달한 Message")
profile
일단 한다

0개의 댓글