AZ-305:Designing Microsoft Azure Infrastructure Solutions データストレージソリューションの設計 問9
データストレージソリューションの設計/データ統合の設計取引先が、不定期に(1 日に数回から数十回)CSV ファイルを Azure Data Lake Storage Gen2 の特定コンテナーにアップロードします。アップロードされたファイルを、到着から数分以内に変換して Azure Synapse Analytics の専用 SQL プールへ読み込む必要があります。到着のない時間帯に不要な実行やコストを発生させたくありません。Azure Data Factory のパイプラインを起動する方法として最も適切な設計はどれか。
当サイトのオリジナル問題(AZ-305:Designing Microsoft Azure Infrastructure Solutionsの出題範囲「データストレージソリューションの設計」に対応。実際の試験問題ではありません)
- Aストレージ イベント トリガーを作成し、コンテナーでの BLOB の作成イベントを契機にパイプラインを起動する
- Bスケジュール トリガーを 5 分間隔で作成し、毎回パイプライン内でコンテナーを走査して新規ファイルを処理する
- Cタンブリング ウィンドウ トリガーを 1 時間間隔で作成し、各ウィンドウ内に到着したファイルを処理する
- Dカスタム イベント トリガーを作成し、取引先のアップロードを検出するカスタム Event Grid トピックにアプリケーションからイベントを発行する
正解:A
解説
Azure Data Factory のストレージ イベント トリガーは、Azure Event Grid を介してストレージ アカウントの BLOB の作成や削除を検知し、パイプラインを起動します。ファイルが到着したときだけ実行されるため、到着間隔が不定な要件と、待機時間のコストを抑える要件に合います。スケジュール トリガーやタンブリング ウィンドウ トリガーは時間ベースで、数分以内の処理と無駄な実行の回避を両立できません。カスタム イベント トリガーは独自に発行するイベントを使うもので、ストレージのイベントを直接受ける用途には不要な実装が増えます。
選択肢ごとの解説
- A正しい。ストレージ イベント トリガーは BLOB の作成イベントで起動し、到着直後に実行でき、到着のない時間帯には実行されません。
- B誤り。5 分間隔の起動は到着がなくても実行され、無駄が生じます。最大 5 分の遅延が出るうえ、新規ファイルの検出ロジックも自前で実装しなければなりません。
- C誤り。タンブリング ウィンドウ トリガーは固定間隔の時間ベースで、1 時間ごとの処理では数分以内という要件を満たせません。ファイル到着のイベントにも反応しません。
- D誤り。カスタム イベント トリガーはカスタム Event Grid トピックのイベントに反応します。アップロードのたびにアプリケーションからイベントを発行する仕組みが別途必要で、ストレージのイベントを直接利用できるのに実装と運用が増えます。