Apache Kafka やその他のアプリから Event Hubs の Azure スキーマ レジストリを使用する

多くのイベント ストリーミングおよびメッセージング シナリオでは、イベントまたはメッセージのペイロードに構造化データが含まれています。 Apache Avro などのスキーマ駆動型形式は、このような構造化データをシリアル化または逆シリアル化するためによく使用されます。

イベント プロデューサーは、スキーマを使ってイベント ペイロードをシリアル化し、Event Hubs などのイベント ブローカーにそれを発行します。 イベント コンシューマーは、ブローカーからイベント ペイロードを読み取り、同じスキーマを使って逆シリアル化します。 そのため、プロデューサーとコンシューマーの両方で、同じスキーマを使ってデータの整合性を検証できます。

スキーマ レジストリからのスキーマを使用してイベント ペイロードをシリアル化して逆シリアル化するプロデューサーとコンシューマーを示す画像。

Azure スキーマ レジストリとは

Azure スキーマ レジストリは Event Hubs の機能で、イベント駆動型およびメッセージング中心のアプリケーション用のスキーマの中央リポジトリとして機能します。 プロデューサーとコンシューマー アプリケーションに対し、スキーマを管理して共有することなく、データを交換できる柔軟性を提供します。 また、再利用可能なスキーマのための単純なガバナンス フレームワークが用意されており、グループ化構成体 (スキーマ グループ) を使用してスキーマ間のリレーションシップを定義します。

スキーマ レジストリからのスキーマを使用してイベント ペイロードをシリアル化して逆シリアル化するプロデューサーとコンシューマーを示す画像。

Apache Avro のようなスキーマ駆動型のシリアル化フレームワークでは、シリアル化メタデータを共有スキーマに移動すると、メッセージごとのオーバーヘッドを削減するのにも役立ちます。 これは、JSON などのタグ付きの形式の場合のように、メッセージごとにメタデータ (型情報とフィールド名) を持つ必要がないためです。

Note

この機能は、basic レベルでは使用できません。

スキーマをイベントと一緒にイベント インフラストラクチャ内に保持しておくことで、シリアル化または逆シリアル化に必要なメタデータに常にアクセスできるため、スキーマを間違えることがありません。

次のステップ