Ops/AWS
AWS Lambda to Slack (kms) - slack 전송 코드 & 테스트
mkdir.chandler
2023. 12. 12. 00:00
반응형
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
반응형