8.2. Service Registry シリアライザー/デシリアライザー設定プロパティー


本セクションでは、Service Registry Kafka シリアライザー/デシリアライザー (SerDes) の Java 設定プロパティーに関する参照情報を提供します。

SchemaResolver インターフェース

Service Registry SerDes は、レジストリーへのアクセスを抽象化し、サポートされるすべての形式の SerDes クラスに同じ検索ロジックを適用する SchemaResolver インターフェースをベースとしています。

表8.1 SchemaResolver インターフェースの設定プロパティー
Constantプロパティー説明デフォルト

SCHEMA_RESOLVER

apicurio.registry.schema-resolver

シリアライザーおよびデシリアライザーによって使用されます。SchemaResolver を実装する完全修飾 Java クラス名。

文字列

io.apicurio.registry.serde.DefaultSchemaResolver

注記

DefaultSchemaResolver が推奨され、ほとんどのユースケースに役立つ機能を提供します。一部の高度なユースケースでは、 SchemaResolver のカスタム実装を使用する場合があります。

DefaultSchemaResolver クラス

DefaultSchemaResolver を使用して、次のような機能を設定できます。

  • レジストリー API へのアクセス
  • レジストリーでアーティファクトを検索する方法
  • Kafka との間でアーティファクト情報を読み書きする方法
  • デシリアライザーのフォールバックオプション
レジストリー API アクセスオプションの設定

DefaultSchemaResolver は、コアレジストリー API へのアクセスを設定するために次のプロパティーを提供します。

表8.2 レジストリー API にアクセスするための設定プロパティー
Constantプロパティー説明デフォルト

REGISTRY_URL

apicurio.registry.url

シリアライザーおよびデシリアライザーによって使用されます。レジストリー API にアクセスするための URL。

文字列

なし

AUTH_SERVICE_URL

apicurio.auth.service.url

シリアライザーおよびデシリアライザーによって使用されます。認証サービスの URL。OAuth クライアントクレデンシャルフローを使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

AUTH_REALM

apicurio.auth.realm

シリアライザーおよびデシリアライザーによって使用されます。認証サービスにアクセスするためのレルム。OAuth クライアントクレデンシャルフローを使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

AUTH_CLIENT_ID

apicurio.auth.client.id

シリアライザーおよびデシリアライザーによって使用されます。認証サービスにアクセスするためのクライアント ID。OAuth クライアントクレデンシャルフローを使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

AUTH_CLIENT_SECRET

apicurio.auth.client.secret

シリアライザーおよびデシリアライザーによって使用されます。認証サービスにアクセスするためのクライアントシークレット。OAuth クライアントクレデンシャルフローを使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

AUTH_USERNAME

apicurio.auth.username

シリアライザーおよびデシリアライザーによって使用されます。レジストリーにアクセスするためのユーザー名HTTP Basic 認証を使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

AUTH_PASSWORD

apicurio.auth.password

シリアライザーおよびデシリアライザーによって使用されます。レジストリーにアクセスするためのパスワードHTTP Basic 認証を使用してセキュアなレジストリーにアクセスする際に必須です。

文字列

なし

レジストリー検索オプションの設定

DefaultSchemaResolver は、次のプロパティーを使用して、ServiceRegistry でアーティファクトを検索する方法を設定します。

表8.3 レジストリーアーティファクト検索の設定プロパティー
Constantプロパティー説明デフォルト

ARTIFACT_RESOLVER_STRATEGY

apicurio.registry.artifact-resolver-strategy

シリアライザーによってのみ使用されます。ArtifactResolverStrategy を実装し、各 Kafka メッセージを ArtifactReference (groupIdartifactId、および version) にマップする完全修飾 Java クラス名。たとえば、デフォルトのストラテジーはトピック名をスキーマ artifactId として使用します。

文字列

io.apicurio.registry.serde.strategy.TopicIdStrategy

EXPLICIT_ARTIFACT_GROUP_ID

apicurio.registry.artifact.group-id

シリアライザーによってのみ使用されます。アーティファクトのクエリーまたは作成に使用される groupId を設定します。ArtifactResolverStrategy によって返される groupId をオーバーライドします。

文字列

なし

EXPLICIT_ARTIFACT_ID

apicurio.registry.artifact.artifact-id

シリアライザーによってのみ使用されます。アーティファクトのクエリーまたは作成に使用される artifactId を設定します。ArtifactResolverStrategy によって返される artifactId をオーバーライドします。

文字列

なし

EXPLICIT_ARTIFACT_VERSION

apicurio.registry.artifact.version

シリアライザーによってのみ使用されます。アーティファクトの問い合わせまたは作成に使用されるアーティファクトバージョンを設定します。ArtifactResolverStrategy によって返されるバージョンをオーバーライドします。

文字列

なし

FIND_LATEST_ARTIFACT

apicurio.registry.find-latest

シリアライザーによってのみ使用されます。シリアライザーが対応するグループ ID およびアーティファクト ID のレジストリー内で最新のアーティファクトの検索を試行するかどうかを指定します。

boolean

false

AUTO_REGISTER_ARTIFACT

apicurio.registry.auto-register

シリアライザーによってのみ使用されます。シリアライザーがレジストリーでアーティファクトを作成しようとするかどうかを指定します。JSON スキーマシリアライザーはこの機能をサポートしません。

boolean

false

AUTO_REGISTER_ARTIFACT_IF_EXISTS

apicurio.registry.auto-register.if-exists

シリアライザーによってのみ使用されます。アーティファクトがすでに存在するためにアーティファクトの作成で競合が発生した場合のクライアントの動作を設定します。使用可能な値は、FAILUPDATERETURN、または RETURN_OR_UPDATE です。

文字列

RETURN_OR_UPDATE

CHECK_PERIOD_MS

apicurio.registry.check-period-ms

シリアライザーおよびデシリアライザーによって使用されます。自動エビクションの前にアーティファクトをキャッシュする期間を指定します。設定されていない場合、アーティファクトは毎回フェッチされます。

文字列

なし

USE_ID

apicurio.registry.use-id

シリアライザーおよびデシリアライザーによって使用されます。指定された IdOption をアーティファクトの識別子として使用するように設定します。オプションは globalIdcontentId です 。指定された ID を Kafka に書き込むようシリアライザーに指示し、この ID を使用してスキーマを見つけるようにデシリアライザーに指示します。

文字列

globalId

Kafka でレジストリーアーティファクトを読み書きするための設定

DefaultSchemaResolver は、次のプロパティーを使用して、アーティファクト情報の Kafka への書き込みおよび Kafka からの読み取り方法を設定します。

表8.4 Kafka でアーティファクト情報を読み書きするための設定プロパティー
Constantプロパティー説明デフォルト

ENABLE_HEADERS

apicurio.registry.headers.enabled

シリアライザーおよびデシリアライザーによって使用されます。メッセージペイロードではなく、Kafka メッセージヘッダーに対してアーティファクト識別子を読み書きするように設定します。

boolean

true

HEADERS_HANDLER

apicurio.registry.headers.handler

シリアライザーおよびデシリアライザーによって使用されます。HeadersHandler を実装し、Kafka メッセージヘッダーに対してアーティファクト識別子を読み書きする完全修飾 Java クラス名。

文字列

io.apicurio.registry.serde.headers.DefaultHeadersHandler

ID_HANDLER

apicurio.registry.id-handler

シリアライザーおよびデシリアライザーによって使用されます。IdHandler を実装し、メッセージペイロードに対してアーティファクト識別子を読み書きするクラスの完全修飾 Java クラス名。apicurio.registry.headers.enabledfalse に設定されている場合にのみ使用されます。

文字列

io.apicurio.registry.serde.DefaultIdHandler

ENABLE_CONFLUENT_ID_HANDLER

apicurio.registry.as-confluent

シリアライザーおよびデシリアライザーによって使用されます。IdHandler のレガシー Confluent-compatible 実装を有効にするためのショートカット。apicurio.registry.headers.enabledfalse に設定されている場合にのみ使用されます。

boolean

true

デシリアライザーのフォールバックオプションの設定

DefaultSchemaResolver は、次のプロパティーを使用して、すべてのデシリアライザーのフォールバックプロバイダーを設定します。

表8.5 デシリアライザーのフォールバックプロバイダーの設定プロパティー
Constantプロパティー説明デフォルト

FALLBACK_ARTIFACT_PROVIDER

apicurio.registry.fallback.provider

デシリアライザーによってのみ使用されます。デシリアライズに使用されるアーティファクトを解決するための FallbackArtifactProvider のカスタム実装を設定します。FallbackArtifactProvider は、検索に失敗した場合にレジストリーから取得するフォールバックアーティファクトを設定します。

文字列

io.apicurio.registry.serde.fallback.DefaultFallbackArtifactProvider

DefaultFallbackArtifactProvider は、次のプロパティーを使用して、デシリアライザーのフォールバックオプションを設定します。

表8.6 デシリアライザーのフォールバックオプションの設定プロパティー
Constantプロパティー説明デフォルト

FALLBACK_ARTIFACT_ID

apicurio.registry.fallback.artifact-id

デシリアライザーによってのみ使用されます。デシリアライズに使用されるアーティファクトを解決するためのフォールバックとして使用される artifactId を設定します。

文字列

なし

FALLBACK_ARTIFACT_GROUP_ID

apicurio.registry.fallback.group-id

デシリアライザーによってのみ使用されます。デシリアライズに使用されるグループのフォールバックとして使用される groupId を設定します。

文字列

なし

FALLBACK_ARTIFACT_VERSION

apicurio.registry.fallback.version

デシリアライザーによってのみ使用されます。デシリアライズに使用されるアーティファクトを解決するために使用されるバージョンを設定します。

文字列

なし

その他のリソース

  • 詳細は、「SerdeConfig Java class」を参照しください。
  • アプリケーションプロパティーを Java システムプロパティーとして設定することも、Quarkus application.properties ファイルに含めることもできます。詳細は、Quarkus のドキュメント を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.