Amazon EventBridge 알림의 기본 Amazon Simple Notification Service(Amazon SNS) 이메일 제목인 “AWS 알림 메시지”를 사용자 지정하려고 합니다.
간략한 설명
Amazon SNS는 AWS 서비스를 이벤트 소스로 사용하여 만든 EventBridge 규칙으로부터 알림을 수신하여 이메일로 전송합니다. AWS 서비스가 이메일 구독이 있는 Amazon SNS 토픽을 트리거하는 경우, AWS 알림 메시지라는 이메일 제목을 직접 변경할 수 없습니다.
해결 방법
AWS Lambda 함수를 생성하여 기본 이메일 제목을 사용자 지정합니다. Amazon SNS 토픽 대신 Lambda를 EventBridge 규칙의 대상으로 사용할 수 있습니다. 그런 다음, Lambda 함수를 사용하여 사용자 지정 이메일 제목이 포함된 메시지를 구독자와 함께 Amazon SNS 토픽에 게시합니다.
SNS 토픽 및 이메일 구독 생성
SNS 토픽을 생성한 다음, 이메일 구독을 생성합니다.
Lambda 함수에 대한 IAM 역할 생성
Lambda 함수에 대한 AWS Identity and Access Management(IAM) 역할을 생성하려면 다음 단계를 완료하십시오.
- IAM 콘솔을 엽니다.
- 탐색 창에서 역할을 선택한 다음, 역할 생성을 선택합니다.
- 서비스 또는 사용 사례 드롭다운 목록을 선택하고 Lambda를 선택한 후 다음을 선택합니다.
- 권한 추가 페이지에서 AWSLambdaBasicExecutionRole 및 AmazonSNSFullAccess 정책을 역할에 연결하고 다음을 선택합니다.
중요: AmazonSNSFullAccess 관리형 정책은 Amazon SNS에 대한 전체 액세스를 제공합니다. 최소 권한 원칙을 따르는 것이 가장 좋습니다.
- 역할 이름에 역할의 이름을 입력한 다음, 역할 생성을 선택합니다.
Lambda 함수 생성
다음 단계를 완료하십시오.
-
Lambda 콘솔의 함수 페이지를 엽니다.
-
함수 생성을 선택합니다.
-
새로 작성을 선택합니다.
-
함수 이름에 함수의 이름을 입력합니다.
-
런타임 드롭다운 목록을 선택한 다음, Python 3.13을 선택합니다.
-
기본 실행 역할 변경을 확장한 다음, 기존 역할 사용을 선택합니다.
-
기존 역할 드롭다운 목록을 선택한 다음, 이전에 생성한 역할을 선택합니다.
-
함수 생성을 선택합니다.
-
함수 코드 편집기에서 다음 Python 코드 스니펫을 입력합니다.
import boto3
import json
sns_arn = "sns_topic_arn"
def lambda_handler(event, context):
client = boto3.client("sns")
resp = client.publish(TargetArn=sns_arn, Message=json.dumps(event), Subject="This is the customized subject line")
참고: sns_topic_arn을 SNS 토픽 및 이메일 알림 생성의 토픽 Amazon 리소스 이름(ARN)으로 바꾸십시오. **"This is the customized subject line"**을 따옴표 안의 제목으로 바꾸십시오.
-
배포를 선택합니다.
EventBridge 규칙 생성
다음 지침에 따라 EventBridge 규칙을 생성하십시오.
참고:
- AWS 설명서의 11단계인 대상 선택에서 이전에 생성한 Lambda 함수를 선택합니다.
- Lambda 함수에 대해 원하는 페이로드 메시지를 제공합니다.
EventBridge 규칙이 호출되면 Lambda 함수는 Amazon SNS에 API 호출 publish를 수행합니다. 이벤트 규칙의 메시지를 전달하고 메시지를 전달하는 데 사용하는 제목을 변경합니다. 그러면 구독자는 사서함에 사용자 지정된 제목이 포함된 이메일을 받게 됩니다.
관련 정보
Lambda와 Amazon SES를 사용하여 이메일을 보내려면 어떻게 해야 합니까?