Q12 — AWS DVA-C02 第2章

第 12/100 問 | ← 第2章

開発者は、新しいファイルがAmazon S3バケットに追加された直後に、Amazon DynamoDBテーブルにレコードを挿入したいと考えています。この目的を達成するために必要な手順はどれですか?

正解: B. S3イベントを設定して、DynamoDBにレコードを挿入するAWS Lambda関数を呼び出します。

解説

S3イベント通知:Amazon S3は、特定のイベント(例:ファイルのアップロード)が発生した際に他のAWSサービスのアクションをトリガーするイベント通知を設定できます。これにはAWS Lambda関数の呼び出しが含まれます。 AWS Lambda:AWS Lambdaは、イベント駆動型でコードを実行できるサーバーレスコンピューティングサービスです。S3イベント通知を受け取ると自動的に実行されるLambda関数を記述できます。 リアルタイム応答:S3イベント通知を設定すると、S3バケットへの新規ファイルのアップロード時にS3がLambda関数にイベント通知を送信します。Lambda関数はこのイベントに即座に応答し、DynamoDBテーブルへの関連情報のレコード挿入などの指定された操作を実行できます。 他の選択肢との比較: 選択肢A:Amazon EventBridgeを使用してS3バケットを監視し、DynamoDBへのレコード挿入を行うことは可能ですが、AWSはS3イベント通知を直接Lambda関数にトリガーさせる方法を推奨しており、これの方がシンプルかつリアルタイム性が高いです。 選択肢C:S3バケットを定期的にポーリングするLambda関数を作成し、DynamoDBへのレコード挿入を行うことも可能ですが、これはS3イベント通知によるLambda関数の即時応答よりも非効率的です。 選択肢D:定期的にS3バケットをポーリングしてDynamoDBへのレコード挿入を行うcronジョブを作成する方法も同様に、イベント駆動型の即時応答よりも非効率です。 したがって、ファイルがS3にアップロードされた直後にDynamoDBテーブルにレコードを挿入するという目標を達成するには、選択肢B(S3イベントを設定してLambda関数を呼び出す)が最適な手順です。