응용 프로그램에서 문제가 발생하면 관리자에게 전자 메일을 보내야하는 웹 응용 프로그램이 있습니다. 예를 들어, 새로운 사용자가 등록됩니다.SQS 또는 SNS를 사용하여 전자 메일 보내기
응용 프로그램 내부에서 전자 메일을 작성/전송하는 논리는 피하고 싶습니다. 차라리 응용 프로그램이 대기열에 메시지를 게시 한 다음 전자 메일을 보내기 위해 제대로 응답하고 응답하는 다른 시스템이있는 것을 선호합니다.
흐름이 비슷할 것입니다.
- 애플리케이션 큐 (SQS 또는 SNS ??)
- 람다 함수 인 트리거에 메시지를 발행한다. 람다는 메시지를 읽고 SES를 호출합니다. 즉,이 일을하는 가장 좋은 방법 인 경우
- SES는 잘 모르겠어요 이메일
를 보냅니다. 나는 SQS와 람다 사이에 차이가 있음을 읽었다. SNS가 더 좋을까요?
적절한 흐름은 무엇입니까?
응용 프로그램 -> SQS -> 람다 -> SES
또는
응용 프로그램 -> SNS -> 람다 -> 다른 어쩌면 뭔가 SES
?
아이디어는 항상 모든 논리에서 웹 응용 프로그램을 추상화하는 것을 고려하십시오. 웹 응용 프로그램은 어딘가에 만 메시지를 게시합니다. 그런 다음 마술이 백그라운드에서 발생합니다.
메시지 제한에 대해 걱정할 필요가 없습니다 (여전히 알아두면 좋음).앱이 사용자를 나타내는 ID 또는 토큰을 메시지로 게시하기 때문입니다. 전자 메일의 내용은 다른 곳에있는 템플리트에 있습니다. 당신은 이것을 알고 나서 당신의 추천에 충실합니까?. 감사합니다. – osotorrio
SNS를 너무 빨리 생략하지 않겠습니다. AWS 관련 알림뿐만 아니라 모든 알림을 전송하기 위해 만들어졌습니다. 이벤트는 SQS 대기열로 이동할 수 있으며 각 대기열에서 SNS 알림이 트리거됩니다. SES 대신 SNS를 직접 사용하면 알림 배달을보다 효율적으로 제어 할 수 있습니다. 예를 들어, 시간이나 주제에 따라 알림 규칙이있는 경우 논리에서 SNS 주제를 선택할 수 있으며 각 SNS 주제에는 구독 된 적절한 이메일 주소가 있습니다. – jbird
질문은 전자 메일을 직접 보내지 않고 SNS를 사용하여 람다 (Lambda) 기능을 시작하는 것에 관한 것입니다. 이 시나리오에서는 SNS 해고가 부당합니다. 사실 나는 SNS-> Lambda-> SES가 질문받는 질문에 대한 가장 우아하고 어리석은 해결책이라고 생각하며 일정에 따라 실행되는 Lambda에 의존하지 않는 유일한 해결책을 제안합니다. –