私は、アプリケーションで何か起きたときに管理者に電子メールを送信するWebアプリケーションを持っています。例えば、新規ユーザが登録される。SQSまたはSNSを使用してメールを送信する
私は、アプリケーションの内部に電子メールを構築/送信するロジックがないようにしたいと考えています。むしろ、アプリケーションがキューにメッセージを発行し、電子メールを送信するために適切にリスンして反応する別のシステムがあることを望みます。
フローはそういうものでしょう。
- アプリケーションが(?? SQS又はSNS)キュー内のメッセージをパブリッシュ
- ラムダ関数がトリガです。ラムダはメッセージを読み取り、SESを呼び出します。
- SESは、私はそれがこれを行うための最善の方法であるかどうかわからないんだけど、メール
を送信します。私はSQSとラムダの間にギャップがあることを読んだ。 SNSのほうがいいですか?
適切なフローは何ですか?
アプリケーション - > SQS - >ラムダ - > SES
または
アプリケーション - > SNS - >ラムダ - 他たぶん> SES
何か?
アイデアは、常にそのロジックからすべてのWebアプリケーションを抽象化することを考えてください。 Webアプリケーションは、メッセージをどこかに公開するだけです。その後、魔法はバックグラウンドで起こります。
私はメッセージの制限について心配していません(まだよく分かります)。このアプリは、ユーザーとしてのIDまたはトークンをメッセージとして公開するためです。電子メールの内容はどこか他の場所のテンプレートにあります。あなたはこれを知った後、あなたの推薦に固執しますか?ありがとう – osotorrio
私はすぐにSNSを省略しません。これは、AWS関連の通知だけでなく、すべての通知を送信するために作成されています。イベントは、それぞれが消費されてSNS通知をトリガするSQSキューに移動できます。 SESではなくSNSを直接使用することで、通知の配信をより詳細に制御できます。たとえば、ロジックがSNSトピックを選択できる通知ルール(時刻または件名に基づく)があり、各SNSトピックに適切な電子メールアドレスが登録されているとします。 – jbird
質問は、電子メールを直接送信するのではなく、ラムダ機能をトリガするためにSNSを使用することです。このシナリオでは、SNSの解雇は不当です。実際、私はSNS-> Lambda-> SESは疑問を呈している最も洗練されたばかばかしい解決策であり、ラムダのスケジュールに頼らずに提案されている唯一の解決策だと思います。 –