본문 바로가기

Ops/AWS

AWS Lambda to Slack (kms) - slack 전송 코드 & 테스트

반응형

AWS Lambda to Slack (kms) - slack 전송 코드 & 테스트

 

 

 

■  코드

import boto3
import json
import os

from base64 import b64decode
from urllib.request import Request, urlopen

# 환경 변수 가져오기
ENCRYPTED_HOOK_URL = os.environ['SLACK_HOOK_URL']
SLACK_CHANNEL = os.environ['SLACK_CHANNEL']

# 암호화한 url 복호화 진행
HOOK_URL = "https://" + boto3.client('kms').decrypt(
    CiphertextBlob=b64decode(ENCRYPTED_HOOK_URL),
    EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')

def lambda_handler(event, context):
    slack_message = {
        'channel': SLACK_CHANNEL,        
        'text': 'Hello World: test message from Lambda kms encrypt'
        }

    req = Request(HOOK_URL, json.dumps(slack_message).encode('utf-8'))
    response = urlopen(req)
    response.read()

 

 

■ 테스트

테스트를 클릭합니다.

 

 

테스트 구성이 아직 안되어 있는 경우 이벤트 변수를 default로 두고 구성하면 됩니다.

 

 

테스트 버튼을 누르면 정상적으로 완료되는 것을 확인할 수 있습니다.

 

 

slack을 확인해 보면 메시지가 정상적으로 들어온 것을 확인할 수 있습니다.

 

 

 


by mkdir-chandler


 

 

 

 

 

728x90
반응형

'Ops > AWS' 카테고리의 다른 글

AWS MSK - tls 설정  (0) 2023.12.13
AWS Lambda to Slack (kms) - function 생성  (0) 2023.12.11
AWS Lambda to Slack (kms) - iam role 생성  (0) 2023.12.10
AWS Lambda to Slack (kms) - kms 생성  (0) 2023.12.09
AWS Lambda to Slack (basic) - code  (0) 2023.12.06