1.2. Apicurio Registry のスキーマと API アーティファクト


イベントスキーマや API 設計などの Apicurio Registry に保存される項目は、レジストリー アーティファクト と呼ばれます。以下は、単純な株価アプリケーションの JSON 形式の Apache Avro スキーマアーティファクトの例を示しています。

Avro スキーマの例

{
   "type": "record",
   "name": "price",
   "namespace": "com.example",
   "fields": [
       {
           "name": "symbol",
           "type": "string"
       },
       {
           "name": "price",
           "type": "string"
       }
   ]
}
Copy to Clipboard Toggle word wrap

スキーマまたは API 設計が Apicurio Registry にアーティファクトとして追加されると、クライアントアプリケーションはそのスキーマまたは API 設計を使用して、実行時にクライアントメッセージが正しいデータ構造に準拠していることを検証できます。

アーティファクトには、生成されたメタデータと編集可能なメタデータの両方がありますアーティファクトの標準メタデータには、以下が含まれます (ただし、これらに限定されません)。

1.2.1. 生成されたプロパティーまたはイミュータブルなプロパティー

  • groupId
  • artifactId
  • artifactType
  • createdOn
  • modifiedBy
  • modifiedOn

1.2.2. 編集可能なプロパティー

  • name
  • description
  • labels
  • owner

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

すべてのアーティファクトには、0 個以上の _artifact version_s があります。実際のコンテンツ (およびメタデータ) が含まれるのは、アーティファクトバージョンのみです。これらのバージョンはアーティファクトのコンテンツの進化を表し、イミュータブルです。アーティファクトは、バージョンの順序付けられたシーケンスと考えることができます。通常、最新バージョンがスキーマまたは API 設計コンテンツの「最新状態」を表します。

アーティファクトバージョンには、生成されたメタデータと編集可能なメタデータの両方が含まれます。アーティファクトの標準メタデータには、以下が含まれます (ただし、これらに限定されません)。

1.2.3. 生成されたプロパティーまたはイミュータブルなプロパティー

  • groupId
  • artifactId
  • version
  • globalId
  • contentId
  • owner
  • createdOn
  • modifiedBy
  • modifiedOn

1.2.4. 編集可能なプロパティー

  • name
  • description
  • labels
  • state

スキーマと API のグループ

アーティファクトグループ は、スキーマまたは API アーティファクトのオプションの名前付きコレクションです。各グループには、論理的に関連したスキーマまたは API 設計のセットが含まれており、通常、特定のアプリケーションまたは組織に属する単一のエンティティーにより管理されます。

スキーマと API 設計を追加して Apicurio Registry で整理するときに、オプションのアーティファクトグループを作成できます。たとえば、development および production アプリケーション環境、あるいは sales および engineering 組織に一致するグループを作成できます。

スキーマおよび API グループには複数のアーティファクトタイプを含めることができます。たとえば、Protobuf、Avro、JSON スキーマ、OpenAPI、または AsyncAPI アーティファクトをすべて同じグループに含めることができます。

グループには、生成されたメタデータと編集可能なメタデータの両方があります。グループの標準メタデータには、以下が含まれます (ただし、これらに限定されません)。

1.2.5. 生成されたプロパティーまたはイミュータブルなプロパティー

  • groupId
  • owner
  • createdOn
  • modifiedBy
  • modifiedOn

1.2.6. 編集可能なプロパティー

  • description
  • labels

Apicurio Registry Web コンソール、REST API、コマンドライン、Maven プラグイン、または Java クライアントアプリケーションを使用して、スキーマおよび API アーティファクトとグループを作成できます。

注記

Apicurio Registry Web コンソールを使用する場合、グループの指定はオプションであり、default グループが自動的に使用されます。REST API または Maven プラグインを使用し、一意のグループを作成したくない場合は API パスで default グループを指定します。

他のスキーマと API への参照

一部の Apicurio Registry アーティファクトタイプには、あるアーティファクトファイルから別のアーティファクトファイルへの アーティファクト参照 を含めることができます。再利用可能なスキーマまたは API コンポーネントを定義し、それらを複数の場所から参照して効率を高めることができます。たとえば、$ref ステートメントを使用して JSON スキーマまたは OpenAPI で参照を指定したり、import ステートメントを使用して Google Protobuf で参照を指定したり、ネストされた名前空間を使用して Apache Avro で参照を指定したりできます。

次の例は、ネストされた名前空間を使用して Exchange という名前の別のスキーマへの参照を含む、TradeKey という名前の単純な Avro スキーマを示しています。

ネストされた Exchange スキーマを持つ TradeKey スキーマ

{
 "namespace": "com.kubetrade.schema.trade",
 "type": "record",
 "name": "TradeKey",
 "fields": [
   {
     "name": "exchange",
     "type": "com.kubetrade.schema.common.Exchange"
   },
   {
     "name": "key",
     "type": "string"
   }
 ]
}
Copy to Clipboard Toggle word wrap

交換スキーマ

{
 "namespace": "com.kubetrade.schema.common",
 "type": "enum",
 "name": "Exchange",
 "symbols" : ["GEMINI"]
}
Copy to Clipboard Toggle word wrap

アーティファクト参照は、アーティファクトタイプ固有の参照から内部 Apicurio Registry 参照にマップされるアーティファクトメタデータのコレクションとして Apicurio Registry に格納されます。Apicurio Registry の各成果物参照は、次のもので構成されています。

  • グループ ID
  • アーティファクト ID
  • アーティファクトのバージョン
  • アーティファクト参照名

Apicurio Registry コア REST API、Maven プラグイン、および Java シリアライザー/デシリアライザー (SerDes) を使用して、アーティファクト参照を管理できます。Apicurio Registry は、アーティファクトリーファレンスをアーティファクトコンテンツと共に保存します。Apicurio Registry は、すべてのアーティファクトリーファレンスのコレクションも保持しているため、コレクションを検索したり、特定のアーティファクトのすべてのリファレンスを一覧表示したりできます。

サポートされているアーティファクトタイプ

Apicurio Registry は現在、次のアーティファクトタイプのアーティファクトリーファレンスのみをサポートしています。

  • Avro
  • Protobuf
  • JSON Schema
  • OpenAPI
  • AsyncAPI
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat