スキーマレジストリAPIガイドの付録

このドキュメントでは、Schema Registry APIの操作に関する補足情報を提供します。

クエリパラメーターの使用

Schema Registryは、クエリをリストする際に、ページを作成し結果をフィルターするためのリソースパラメーターの使用をサポートしています。

メモ

複数のクエリパラメーターを組み合わせる場合は、アンパサンド(&)で区切る必要があります。

ページング

ページングに最も一般的なクエリパラメーターは次のとおりです。

パラメーター 説明
start リストの結果を開始する場所を指定します。 この値はリスト応答の_page.next属性から取得でき、結果の次のページにアクセスするのに使用されます。 _page.next値がnullの場合は、追加のページはありません。
limit 返されるリソースの数を制限する。 例:limit=5 は 5 つのリソースのリストを返します。
orderby 特定のプロパティで結果を並べ替えます。例:orderby=title は昇順(A ~ Z)のタイトルで結果を並べ替えます。パラメーター値(orderby=-title)の前に-を追加すると、タイトル順に項目が降順(Z-A)で並べ替えられます。

フィルタリング

propertyパラメーターを使用して結果をフィルターできます。このパラメーターは、取得したリソース内の特定のJSONプロパティに対して特定の演算子を適用するのに使用されます。 次の演算子がサポートされています。

演算子 説明
== プロパティが指定された値と等しいかどうかを示すフィルター。 property=title==test
!= プロパティが指定された値と等しくないかどうかによるフィルター。 property=title!=test
< プロパティが指定された値より小さいかどうかによるフィルター。 property=version<5
> プロパティが指定された値より大きいかどうかによるフィルター。 property=version>5
<= プロパティが指定した値以下か、または指定した値と等しいかによるフィルター。 property=version<=5
>= プロパティが指定された値以上かどうかによるフィルター。 property=version>=5
~ 指定された正規式とプロパティが一致するかどうかを示すフィルター。 property=title~test$
なし プロパティ名のみをステートすると、プロパティが存在するエントリのみが返されます。 property=title
ヒント

propertyパラメーターを使用して、互換性のあるクラスでミックスインをフィルタリングできます。 例えば、property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profileはXDM Individual Profileクラスと互換性のあるミックスインのみを返します。

互換性モード

Experience Data Model (XDM)は、アドビが推進する公式に文書化された仕様であり、デジタルエクスペリエンスの相互運用性、表現力およびパワーを向上させます。アドビは、GitHub のオープンソースプロジェクトでソースコードと公式の XDM 定義を公開しています。これらの定義は XDM 標準表記で記述され、JSON-LD (JavaScript Object Notation for Linked Data)および JSON スキーマを XDM スキーマを定義する文法として使用しています。

パブリックリポジトリーで公式の XDM 定義を見ると、標準 XDM は Adobe Experience Platform での表示とは異なることがわかります。Experience Platformで見ているものは「互換性モード」と呼ばれ、標準のXDMとPlatform内で使われている方法との間の単純なマッピングを提供します。

互換性モードの仕組み

互換性モードを使用すると、XDM JSON-LD モデルは、同じセマンティクスを保持したままで標準 XDM 内の値を変更することにより、既存のデータインフラストラクチャと連携できます。ネストされた JSON 構造を使用して、スキーマをツリーに類似した形式で表示します。

標準 XDM と互換性モードの主な違いは、フィールド名の「xdm:」プレフィックスが削除されていることです。

標準 XDM と互換性モードの誕生日関連のフィールド("description" 属性が削除された)を並べて比較したものを次に示します。互換性モードのフィールドでは、"meta:xdmField" 属性と "meta:xdmType" 属性に XDM フィールドへの参照とそのデータ型が含まれていることに注意してください。

標準 XDM 互換性モード
        {
          "xdm:birthDate": {
              "title": "Birth Date",
              "type": "string",
              "format": "date",
          },
          "xdm:birthDayAndMonth": {
              "title": "Birth Date",
              "type": "string",
              "pattern": "[0-1][0-9]-[0-9][0-9]",
          },
          "xdm:birthYear": {
              "title": "Birth year",
              "type": "integer",
              "minimum": 1,
              "maximum": 32767
        }
  
        {
          "birthDate": {
              "title": "Birth Date",
              "type": "string",
              "format": "date",
              "meta:xdmField": "xdm:birthDate",
              "meta:xdmType": "date"
          },
          "birthDayAndMonth": {
              "title": "Birth Date",
              "type": "string",
              "pattern": "[0-1][0-9]-[0-9][0-9]",
              "meta:xdmField": "xdm:birthDayAndMonth",
              "meta:xdmType": "string"
          },
          "birthYear": {
              "title": "Birth year",
              "type": "integer",
              "minimum": 1,
              "maximum": 32767,
              "meta:xdmField": "xdm:birthYear",
              "meta:xdmType": "short"
        }
      

互換性モードが必要な理由

Adobe Experience Platform は、複数のソリューションやサービスと連携するように設計されており、各ソリューションおよびサービスには固有の技術的課題と制限(特定のテクノロジーが特殊文字を処理する方法など)があります。これらの制限を克服するために、互換モードが開発されました。

Catalog、Data Lake、Real-time Customer Profileを含むほとんどのExperience Platformサービスは、標準のXDMの代わりにCompatibility Modeを使用します。 Schema Registry APIはCompatibility Modeも使用します。このドキュメントの例はすべてCompatibility Modeを使用して表示されます。

標準のXDMとExperience Platformでの動作との間でマッピングが行われることを知っておく価値はありますが、Platformサービスの使用に影響を与えることはありません。

オープンソースプロジェクトは利用できますが、Schema Registryを通じてリソースと対話する際には、このドキュメントのAPIの例が、知り、従うべきベストプラクティスを提供します。

このページ