Q104 — AWS SAA-C03 第4章

第 104/105 問 | ← 第4章

Q299. 気象関連のスタートアップ企業が、ユーザーに天候データをオンラインで販売するカスタムWebアプリケーションを運用しています。この企業はデータをAmazon DynamoDBに保存しており、新たに記録された天候イベントごとに、4つの内部チームのマネージャーにアラートを送信する新サービスを構築したいと考えています。また、この新サービスが既存アプリケーションのパフォーマンスに影響を与えないようにしたいです。これらの要件を、最も少ない運用オーバーヘッドで満たすには、ソリューションアーキテクトは何を行うべきでしょうか?

正解: C. テーブルでAmazon DynamoDB Streamsを有効化します。トリガーを使用して、チームがサブスクライブ可能な単一のAmazon Simple Notification Service(Amazon SNS)トピックに書き込みます。

解説

Amazon DynamoDBはAWS Lambdaと統合されており、DynamoDB Streams内のイベントに自動的に応答する「トリガー」(コードの断片)を作成できます。これにより、DynamoDBテーブル内のデータ変更に反応するアプリケーションを構築できます。テーブルでDynamoDB Streamsを有効化すると、そのストリームのARNを、ユーザーが作成したAWS Lambda関数に関連付けることができます。テーブル内のアイテムが変更されると、直ちにそのテーブルのストリームに新しいレコードが追加されます。AWS Lambdaはストリームをポーリングし、新しいストリームレコードを検出すると、Lambda関数を同期的に呼び出します。このLambda関数は、通知の送信やワークフローの開始など、任意の処理を実行できます。出典:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html