Question#36(AZ-204)

Question#36(AZ-204)

世界中の2,000店舗からPOSデバイスのデータを収集するAzureソリューションを開発しています。

  • 1台のデバイスは24時間ごとに2MBのデータを生成します。

  • 各店舗には1〜5台のデバイスがあり、データを送信します。

  • デバイスデータをAzure Blobストレージに保存する必要があります。

  • デバイス識別子に基づいてデータを関連付ける必要があります。

  • 将来的に店舗数が増えることが予想されます。

デバイスデータを受信するためのソリューションを実装する必要があります。 ソリューション: Azure Service Busをプロビジョニングします。相関フィルター(correlation filter)を使用してデバイスデータを受信するようにトピックを構成します。

このソリューションは目標を達成していますか?

正解:B

このシナリオにおいて、Azure Service Busを使用するのは適切ではありません。理由は主に2つあります。

1. データ量とスケーラビリティ(Ingestionの特性)

  • 2,000店舗 × 平均3台 × デバイスデータ = 大量の継続的なデータストリームが発生します。

  • Service Busは、高度なメッセージング(キューイング、セッション管理、トランザクション)を目的としたサービスであり、毎秒数万〜数百万のイベントを「流し込む(Ingest)」ような、大規模なストリーミングデータ収集には向いていません。

2. デバイスデータ収集のベストプラクティス

  • 大量のデバイス(IoTデバイスやPOSなど)からデータを収集する場合、Azureで推奨されるサービスは Azure Event Hubs または Azure IoT Hub です。

  • Azure Event Hubs は、1秒間に数百万のイベントを受信できるように設計されており、データをそのまま Azure Blob ストレージに保存する Capture機能 も備えています。

  • この問題の要件である「将来的な店舗増」や「大量のデバイス」への対応には、Event Hubsが最適です。

3. 「相関フィルター」の誤用

  • Service Busのトピックと相関フィルターは、メッセージを特定のサブスクライバー(購読者)に振り分けるための機能です。

  • 今回の要件である「Blobストレージへの保存」と「デバイスIDによる関連付け」を大規模に行うためには、Event Hubsのパーティション機能(Partition KeyにデバイスIDを指定する)を使用するのが正しい設計です。


コメント

コメント

コメントする

目次