Apache Kafka やその他のアプリから Event Hubs の Azure スキーマ レジストリを使用する
多くのイベント ストリーミングおよびメッセージング シナリオでは、イベントまたはメッセージのペイロードに構造化データが含まれています。 Apache Avro などのスキーマ駆動型形式は、このような構造化データをシリアル化または逆シリアル化するためによく使用されます。
イベント プロデューサーは、スキーマを使ってイベント ペイロードをシリアル化し、Event Hubs などのイベント ブローカーにそれを発行します。 イベント コンシューマーは、ブローカーからイベント ペイロードを読み取り、同じスキーマを使って逆シリアル化します。 そのため、プロデューサーとコンシューマーの両方で、同じスキーマを使ってデータの整合性を検証できます。
Azure スキーマ レジストリとは
Azure スキーマ レジストリは Event Hubs の機能で、イベント駆動型およびメッセージング中心のアプリケーション用のスキーマの中央リポジトリとして機能します。 プロデューサーとコンシューマー アプリケーションに対し、スキーマを管理して共有することなく、データを交換できる柔軟性を提供します。 また、再利用可能なスキーマのための単純なガバナンス フレームワークが用意されており、グループ化構成体 (スキーマ グループ) を使用してスキーマ間のリレーションシップを定義します。
Apache Avro のようなスキーマ駆動型のシリアル化フレームワークでは、シリアル化メタデータを共有スキーマに移動すると、メッセージごとのオーバーヘッドを削減するのにも役立ちます。 これは、JSON などのタグ付きの形式の場合のように、メッセージごとにメタデータ (型情報とフィールド名) を持つ必要がないためです。
Note
この機能は、basic レベルでは使用できません。
スキーマをイベントと一緒にイベント インフラストラクチャ内に保持しておくことで、シリアル化または逆シリアル化に必要なメタデータに常にアクセスできるため、スキーマを間違えることがありません。
次のステップ
- Azure スキーマ レジストリの詳細については、「Azure スキーマ レジストリの概念」を参照してください。
- Azure portal を使用してスキーマ レジストリを作成する方法については、Azure portal を使用して Event Hubs スキーマ レジストリを作成する方法に関するページを参照してください。
- 次の Schema Registry Avro クライアント ライブラリ サンプルを参照してください。