Q72 — AWS DVA-C02 第3章
第 72/100 問 | ← 第3章
開発者は、Amazon Simple Notification Service (Amazon SNS) トピックから送信されるメッセージによってトリガーされる AWS Lambda 関数を作成しています。これらのメッセージは、顧客関係管理(CRM)システムからの顧客データの更新を表します。開発者は、Lambda 関数がメールアドレスの変更に関連するメッセージのみを処理することを望んでいます。SNS トピックの他のサブスクライバーは、それ以外のメッセージを処理します。この要件を最も少ない開発作業量で満たす解決策はどれですか?
- A. Lambda イベントフィルタリングを使用して、メールアドレスの変更に関連するメッセージのみが Lambda 関数を呼び出せるようにします。
- B. Lambda 関数の SNS サブスクリプションで SNS フィルタリングポリシーを使用し、メールアドレスの変更に関連するメッセージのみが Lambda 関数を呼び出せるようにします。 ✓
- C. Amazon Simple Queue Service (Amazon SQS) キューを SNS トピックにサブスクライブします。SQS キューのフィルタリングポリシーを構成し、メールアドレスの変更に関連するメッセージのみを許可します。SQS キューを Lambda 関数に接続します。
- D. Lambda コードを構成して受信したメッセージを確認します。メッセージがメールアドレスの変更に関連しない場合、Lambda 関数がメッセージを SNS トピックに再公開し、他のサブスクライバーが処理できるようにします。
正解: B. Lambda 関数の SNS サブスクリプションで SNS フィルタリングポリシーを使用し、メールアドレスの変更に関連するメッセージのみが Lambda 関数を呼び出せるようにします。
解説
選択肢 B が正解です。SNS フィルタリングポリシーを使用すると、Lambda 関数のサブスクリプション時に直接メッセージのフィルタリング条件を設定できます。SNS トピックから Lambda 関数へのサブスクリプションでフィルタリング条件を指定することで、Lambda 関数がメールアドレスの変更に関連するメッセージのみを処理するようになります。この方法は、開発作業量が最小限であり、SNS レイヤーで直接メッセージをフィルタリングするため、処理ロジックが簡素化されます。