13.4.3. Service Registry を使用した Protobuf SerDe の設定


Service Registry は、Google Protobuf の Kafka クライアントシリアライザーおよびデシリアライザークラスを提供し、Protobuf を可能な限り簡単に使用できるようにします。

  • io.apicurio.registry.utils.serde.ProtobufKafkaSerializer
  • io.apicurio.registry.utils.serde.ProtobufKafkaDeserializer

Protobuf シリアライザーの設定

Protobuf シリアライザークラスを以下の方法で設定できます。

  • URL としての Service Registry の場所
  • アーティファクト ID ストラテジー
  • グローバル ID ストラテジー
  • グローバル ID の場所
  • グローバル ID ハンドラー

Protobuf デシリアライザーの設定

シリアライザーの設定と一致するように、Protobuf デシリアライザークラスを設定する必要があります。これにより、Protobuf デシリアライザークラスを以下の方法で設定できます。

  • URL としての Service Registry の場所
  • グローバル ID ハンドラー

これらの設定オプションについては、シリアライザーセクションを参照してください。プロパティー名と値は同じです。

注記

デシリアライザーの設定時には、以下のオプションは必要ありません。

  • アーティファクト ID ストラテジー
  • グローバル ID ストラテジー
  • グローバル ID の場所

これらのオプションは必要ない理由は、デシリアライザークラスはこの情報をメッセージ自体から把握できることです。2 つのストラテジーの場合、シリアライザーはメッセージの一部としてスキーマのグローバル ID を送信するため、それらは必要ありません。

グローバル ID の場所は、メッセージペイロードの開始時にマジックバイトを確認するだけで、(デシリアライザーによって)決定されます。そのバイトが見つかった場合、グローバル ID はメッセージペイロードから読み取られます(設定されたハンドラーを使用)。マジックバイトが見つからない場合、グローバル ID はメッセージヘッダーから読み取られます。

注記

Protobuf デシリアライザーは、正確な Protobuf Message 実装へデシリアライズしませんが、DynamicMessage インスタンスにはデシリアライズされません(そうでない場合には適切な API がないため)。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.