無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発

開発者がS3バケットにアップロードされた画像を自動処理するシステムを構築しています。`uploads/`プレフィックス配下にJPEGファイル(.jpg)がアップロードされたときのみLambda関数をトリガーしてサムネイルを生成したいです。他のファイル形式やプレフィックスではトリガーしたくありません。最も効率的な実装方法はどれですか?

A
S3イベント通知にプレフィックス'uploads/'とサフィックス'.jpg'のフィルターを設定し、Lambda関数を直接トリガーする
✓ 正解
S3イベント通知はプレフィックスとサフィックスによるフィルタリングをネイティブサポートしています。'uploads/'プレフィックスと'.jpg'サフィックスを設定することで、条件を満たすファイルのアップロード時のみLambdaを直接起動できます。追加サービス不要でシンプル・低コスト・低レイテンシな実装が可能です。
B
S3のすべてのPutObjectイベントをSQSに送信し、Lambda関数でSQSをポーリングしてファイル名をフィルタリングする
S3のすべてのPutObjectイベントをSQSに送信し、Lambda関数でSQSをポーリングしてファイル名をフィルタリングすることは、フィルタリングをLambda内で再実装する必要があり不要な複雑さが生じます。
C
CloudTrailでS3のPutObject APIコールを記録し、EventBridgeルールでファイル名パターンを判定してLambdaを起動する
CloudTrailでS3のPutObject APIコールを記録し、EventBridgeルールでファイル名パターンを判定してLambdaを起動することは、本来監査ログ用途のサービスを組み合わせるため構成が複雑になりコストと遅延が増加します。
D
S3 Inventoryレポートを使い新しいJPEGファイルを定期的に検出し、スケジュール実行のLambdaで処理する
S3 Inventoryレポートを使い新しいJPEGファイルを定期的に検出し、スケジュール実行のLambdaで処理することは、オブジェクト一覧の定期レポートサービスであり、リアルタイムのイベント駆動処理には使用できません。

解説

S3イベント通知はプレフィックスとサフィックスによるフィルタリングをネイティブサポートしています。'uploads/'プレフィックスと'.jpg'サフィックスを設定することで、条件を満たすファイルのアップロード時のみLambdaを直接起動できます。追加サービス不要でシンプル・低コスト・低レイテンシな実装が可能です。 選択肢BのS3のすべてのPutObjectイベントをSQSに送信し、Lambda関数でSQSをポーリングしてファイル名をフィルタリングすることは、フィルタリングをLambda内で再実装する必要があり不要な複雑さが生じます。 選択肢CのCloudTrailでS3のPutObject APIコールを記録し、EventBridgeルールでファイル名パターンを判定してLambdaを起動することは、本来監査ログ用途のサービスを組み合わせるため構成が複雑になりコストと遅延が増加します。 選択肢DのS3 Inventoryレポートを使い新しいJPEGファイルを定期的に検出し、スケジュール実行のLambdaで処理することは、オブジェクト一覧の定期レポートサービスであり、リアルタイムのイベント駆動処理には使用できません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る