第2章 Apicurio Registry のコンテンツルール


この章では、Apicurio Registry のコンテンツを管理するために使用されるオプションのルールを紹介し、利用可能なルール設定の詳細を提供します。

2.1. ルールを使用して、Apicurio Registry コンテンツを管理する

Apicurio Registry に追加されたアーティファクトコンテンツのデプロイメントを管理するために、オプションのルールを設定できます。新しいアーティファクトバージョンを Apicurio Registry に追加する前に、設定されたすべてのグローバルルール、グループ固有ルール、またはアーティファクト固有ルールはパスする必要があります。設定されたアーティファクト固有ルールは、設定されたグループ固有ルールをオーバーライドし、さらにグループ固有ルールは設定されたグローバルルールをオーバーライドします。

これらのルールの目的は、無効なコンテンツが Apicurio Registry に追加されるのを防ぎ、アーティファクトの進化を制御することです (たとえば、新しいアーティファクトバージョンと以前のバージョンとの互換性をチェックするなど)。たとえば、次の理由でコンテンツが無効になる可能性があります。

  • 特定のアーティファクトタイプ (AVROPROTOBUF など) の構文が無効
  • 有効な構文で、セマンティクスが仕様に違反している
  • 新しいコンテンツに現在のアーティファクトバージョンに関連する変更の違反が含まれる場合の非互換性
  • アーティファクト参照の整合性 (重複または存在しないアーティファクト参照マッピングなど)

オプションのコンテンツルールは、Apicurio Registry Web コンソール、REST API コマンド、またはいずれかの SDK を使用して有効にできます。

2.1.1. ルールの適用時

ルールは、コンテンツが Apicurio Registry に追加された場合のみ、適用されます。これには、以下の REST 操作が含まれます。

  • アーティファクトの追加
  • アーティファクトバージョンの追加

ルールに違反した場合、Apicurio Registry は HTTP エラーを返します。応答本文には、違反したルールと、何が問題だったのかを示すメッセージが含まれます。

2.1.2. ルールの優先順位

アーティファクト固有ルールとグローバルルールの優先順位は次のとおりです。

  • アーティファクト固有ルールは最も優先度が高い
  • グループ固有ルールは次に優先度が高い
  • グローバルルールは最も優先度が低い
注記

ルールが上位レベル (たとえば、グローバルレベル) で設定されているが、そのルールを下位レベルで無効にしたい場合は、下位レベルで同じルールを設定し (オーバーライドされるように)、そのルールの値を NONE に設定する必要があります。

2.1.3. ルールの仕組み

各ルールには、名前と設定情報があります。Apicurio Registry は、各アーティファクト、各グループのルールのリストと、グローバルルールのリストを管理します。リスト内の各ルールは、ルール実装の名前と設定で構成されます。

ルールが実行されると、アーティファクトの現在のバージョン (存在する場合) の内容と、追加されるアーティファクトの新しいバージョンが提供されます。ルールの実装は、アーティファクトがそのルールに合格するかどうかに応じて、合格または失敗のいずれかを返します。そうでない場合、Apicurio Registry は HTTP エラー応答で理由を報告します。一部のルールは、コンテンツの以前のバージョンを使用しない場合があります。たとえば、互換性ルールは以前のバージョンを使用しますが、構文またはセマンティック妥当性ルールは使用しません。

2.1.4. コンテンツルールの設定

管理者は、Apicurio Registry のグローバルルール、グループ固有ルール、およびアーティファクト固有ルールを設定できます。開発者は、グループ固有およびアーティファクト固有ルールのみを設定できます。

Apicurio Registry は、特定のアーティファクト用に設定されたルールを適用します。そのレベルでルールが設定されていない場合、Apicurio Registry はグループ固有ルールを適用します。グループレベルでルールが設定されていない場合、Apicurio Registry はグローバルに設定されたルールを適用します。グローバルルールが設定されていない場合は、ルールは適用されません。

グループとアーティファクト固有ルールを設定する

Apicurio Registry Web コンソールまたは REST API を使用して、グループ固有およびアーティファクト固有ルールを設定できます。詳細は以下を参照してください。

グローバルルールの設定

管理者は、いくつかの方法でグローバルルールを設定できます。

  • REST API で admin/rules 操作を使用する方法
  • Apicurio Registry Web コンソールを使用する
  • Apicurio Registry アプリケーションプロパティーを使用してデフォルトのグローバルルールを設定する

デフォルトのグローバルルールの設定

開発者は、アプリケーションレベルで Apicurio Registry を設定して、グローバルなルールを有効または無効にすることができます。以下のアプリケーションプロパティー形式を使用して、インストール後の設定を行わずに、インストール時にデフォルトのグローバルルールを設定できます。

apicurio.rules.global.<ruleName>
Copy to Clipboard Toggle word wrap

現在、以下のルール名がサポートされています。

  • compatibility
  • validity
  • integrity

application プロパティーの値は、設定されたルールに固有の有効な設定オプションである必要があります。

注記

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

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る