Adobe Experience Platformのユーザーインターフェイスを使用すると、Schema Editorと呼ばれるインタラクティブなビジュアルキャンバスでExperience Data Model (XDM)スキーマを作成および管理できます。 このチュートリアルでは、Schema Editorを使用してスキーマを作成する方法を説明します。
デモ目的で、このチュートリアルの手順では、顧客忠誠度プログラムのメンバーを説明するサンプルスキーマを作成します。 これらの手順を使用して目的に合わせて別のスキーマを作成できますが、まずサンプルスキーマの作成に従ってSchema Editorの機能を学ぶことをお勧めします。
代わりにSchema Registry APIを使用してスキーマを構成する場合は、APIを使用したスキーマの作成に関するチュートリアルを開始する前に、Schema Registry 開発者ガイドを読んで、開始をお勧めします。
このチュートリアルでは、スキーマの作成に関わるAdobe Experience Platformのさまざまな側面について、十分に理解する必要があります。 このチュートリアルを始める前に、次の概念に関するドキュメントを確認してください。
Platform UIのスキーマワークスペースはSchema Libraryのビジュアライゼーションを提供し、組織で使用可能なスキーマを表示が管理できます。 このワークスペースには、このチュートリアル全体でスキーマを構成できるキャンバスであるSchema Editorも含まれています。
Experience Platformにログインした後、左側のナビゲーションでスキーマを選択し、スキーマワークスペースを開きます。 「参照」タブには、スキーマのリスト(Schema Libraryの表現)が表示され、表示やカスタマイズが可能です。 リストには、スキーマの基となる名前、型、クラス、動作(レコードまたは時系列)、およびスキーマが最後に変更された日時が含まれます。
詳しくは、UIの既存のXDMリソースの詳細を参照してください。
スキーマの構成を開始するには、スキーマワークスペースの右上隅にある「スキーマ]を作成」を選択します。[ドロップダウンメニューが表示され、コアクラスXDM個別プロファイルとXDM ExperienceEventのいずれかを選択できます。 これらのクラスが目的に合わない場合は、「参照」を選択して他の使用可能なクラスから選択するか、新しいクラスを作成することもできます。
このチュートリアルの目的で、「XDM個別プロファイル」を選択します。
Schema Editorが表示されます。 これは、スキーマを作成するキャンバスです。スキーマの基にする標準XDMクラスを選択したので、エディターに到着したときに、名称未設定のスキーマがキャンバスのStructureセクションに自動的に作成され、そのクラスに基づくすべてのスキーマに含まれる標準フィールドが作成されます。 スキーマに割り当てられたクラスは、「構成」セクションの「クラスClass」にも表示されます。
スキーマが保存される前の初期構成プロセス中の任意の時点でスキーマのクラスを変更できますが、これは非常に注意しておこなう必要があります。ミックスインは特定のクラスとのみ互換性があるので、クラスを変更するとキャンバスと追加したフィールドがリセットされます。
エディターの右側のフィールドを使用して、スキーマの表示名とオプションの説明を入力します。 名前を入力すると、キャンバスが更新され、スキーマの新しい名前が反映されます。
スキーマの名前を決定する際に考慮すべき重要な点がいくつかあります。
このチュートリアルでは、忠誠度プログラムのメンバに関連するデータを取り込むスキーマを構成します。したがって、スキーマの名前は「Loyalty Members」になります。
これで、mixin を追加して、スキーマにフィールドを追加できます。ミックスインは、特定の概念を説明するためによく一緒に使用される1つ以上のフィールドのグループです。 このチュートリアルでは、mixin を使用してロイヤルティプログラムのメンバーを説明し、名前、誕生日、電話番号、住所などの重要な情報を取得します。
ミックスインを追加するには、ミックスインサブセクションで追加を選択します。
新しいダイアログが表示され、使用可能なミックスインのリストが表示されます。 各ミックスインは特定のクラスでのみ使用されるため、ダイアログには選択したクラス(この場合はXDM Individual Profileクラス)と互換性のあるリストミックスインのみが表示されます。 標準のXDMクラスを使用している場合、ミックスインのリストは、使用頻度に基づいてインテリジェントに並べ替えられます。
リストからMixinを選択すると、右側のパネルにMixinが表示されます。 必要に応じて複数のミックスインを選択し、各ミックスインを確認する前に右側のレールのリストに追加します。 また、現在選択されているミックスインの右側にアイコンが表示され、そのフィールドの構造をプレビューできます。
Mixinをプレビューする際、Mixinのスキーマの詳細が右側のパネルに表示されます。 また、提供されたキャンバス内のMixinのフィールド間を移動することもできます。 別のフィールドを選択すると、右側のパネルが更新され、目的のフィールドに関する詳細が表示されます。 プレビューが終了したら、「戻る」を選択して、mixinの選択ダイアログに戻ります。
このチュートリアルでは、人口統計の詳細ミックスインを選択し、ミックスイン追加を選択します。
スキーマキャンバスが再び表示されます。ミックスインセクションには、「人口統計的詳細」と構造セクションには、ミックスインが寄与するフィールドが含まれるようになりました。 「ミックスイン」セクションでミックスインの名前を選択し、キャンバス内で提供される特定のフィールドを強調表示することができます。
このミックスインは、最上位レベルの名前person
の下に、「人」というデータ型のフィールドをいくつか使用します。 このフィールドグループは、名前、生年月日、性別など、個人に関する情報を説明します。
フィールドは、スカラー型(文字列、整数、配列、日付など)と、Schema Registry内で定義された任意のデータ型(共通の概念を表すフィールドのグループ)を使用できます。
name
フィールドのデータ型は「人名」です。つまり、一般的な概念を表し、名、姓、敬称、敬称、接尾辞など、名前に関連するサブフィールドが含まれます。
キャンバス内の別のフィールドを選択すると、スキーマ構造に影響を与える追加のフィールドが表示されます。
次に、同じ手順を繰り返して、別の mixin を追加できます。今回はmixin追加ダイアログを表示する際に、「人口統計の詳細」ミックスインは灰色表示になっており、隣のチェックボックスは選択できないことに注意してください。 これは、既に現在のスキーマに含まれている mixin を誤って複製するのを防ぎます。
このチュートリアルでは、ダイアログから「Personal Contact Details」ミックスインを選択し、「ミックスイン追加」を選択してスキーマに追加します。
追加すると、キャンバスが再び表示されます。「個人の連絡先の詳細」がコンポジションセクションのミックスインの下に表示され、自宅住所、携帯電話などのフィールドが構造の下に追加されました。
name
フィールドと同様、先ほど追加したフィールドは複数フィールドの概念を表しています。 例えば、homeAddress
のデータ型は「[!UICONTROL 住所]」、mobilePhone
のデータ型は「電話番号」です。 これらの各フィールドを選択して展開し、データ型に含まれる追加のフィールドを表示できます。
「忠誠度メンバー」スキーマは、忠誠度プログラムのメンバーに関連するデータを取り込むためのものなので、いくつかの特定の忠誠度関連フィールドが必要になります。 必要なフィールドを含む標準 mixin がないので、新しい mixin を定義する必要があります。
今回は、Mixin の追加ダイアログを開いたときに、「新規 mixin の作成」を選択します。その後、ミックスインの表示名と説明を入力するように求められます。
クラス名と同様に、mixin 名は短く単純で、mixin がスキーマに与える影響を説明するべきです。これらも一意なので、名前を再利用できません。名前が十分に具体的であるようにしてください。
このチュートリアルでは、新しい mixin に「Loyalty Details」という名前を付けます。
ミッ追加クスインを選択してSchema Editorに戻ります。 キャンバスの左側のミックスインの下に"忠誠度の詳細"が表示されるはずですが、関連するフィールドはまだないので、構造の下に新しいフィールドは表示されません。
「Loyalty Details」mixin を作成したら、mixin がスキーマに貢献するフィールドを定義します。
最初に、ミックスインセクションでミックスイン名を選択します。 これを行うと、mixinのプロパティがエディターの右側に表示され、構造の下のスキーマ名の横にプラス(+)アイコンが表示されます。
「」の横のプラス(+)アイコンを選択して、構造内に新しいノードを作成します。 Loyalty Membersこのノード(この例では_tenantId
と呼ばれます)は、IMS組織のテナントIDを表し、前にアンダースコアが付きます。 テナント ID の存在は、追加するフィールドが組織の名前空間に限られていることを示しています。
つまり、追加するフィールドは組織に固有のものであり、組織にのみアクセス可能な特定の領域のSchema Registryに保存されます。 定義するフィールドは、他の標準クラス、ミックスイン、データ型、およびフィールドの名前との競合を防ぐために、常にテナント名前空間に追加する必要があります。
その名前の付いたノードの中には、「新しいフィールド」が入っています。 これは、「忠誠度の詳細」ミックスインの開始です。
エディターの右側のコントロールを使用して、忠誠度関連のフィールドの保持に使用するloyalty
オブジェクト]の型を持つ<a0/>フィールドを作成し、開始します。 [終了したら、「適用」を選択します。
変更が適用され、新しく作成されたloyalty
オブジェクトが表示されます。 オブジェクトの横にあるプラス(+)アイコンを選択し、忠誠度関連のフィールドを追加します。「新しいフィールド」が表示され、キャンバスの右側にフィールドプロパティセクションが表示されます。
各フィールドには、次の情報が必要です。
Loyalty
オブジェクトの最初のフィールドは、loyaltyId
という文字列になります。 新しいフィールドのタイプを「文字列」に設定すると、フィールドプロパティセクションに、デフォルト値、形式、最大長など、制約を適用するためのオプションが入力されます。
選択したデータ型に応じて、様々な制約オプションを使用できます。loyaltyId
は電子メールアドレスになるので、形式ドロップダウンメニューから「電子メール」を選択します。 「適用」を選択して変更を適用します。
loyaltyId
フィールドを追加したら、次のような忠誠度関連の情報を取り込むためのフィールドを追加できます。
各フィールドをスキーマに追加するには、loyalty
オブジェクトの横にあるプラス(+)アイコンを選択し、必要な情報を入力します。
完了すると、忠誠度オブジェクトには、忠誠度ID、ポイント、およびメンバー登録用のフィールドが含まれます。
Schema Editorにフィールドを定義する場合、基本的なフィールドの種類に適用できる追加のオプションがいくつかあり、フィールドに含めることのできるデータに対してさらなる制約を設けます。 これらの制約の使用例を次の表に示します。
制約 | 説明 |
---|---|
必須 | フィールドがデータ取り込みに必要であることを示します。 このフィールドを含まないデータセットに基づいてスキーマセットにアップロードされたデータの取得は失敗します。 |
配列 | フィールドに値の配列が含まれ、各値は指定されたデータ型になっていることを示します。 例えば、データ型が「String」のフィールドに対してこの制約を使用すると、フィールドに文字列の配列が含まれるように指定できます。 |
Enum | このフィールドに、可能な値の列挙リストの値の1つを含める必要があることを示します。 |
ID | このフィールドがIDフィールドであることを示します。 ID フィールドの詳細については、このチュートリアルの後半で説明します。 |
Relationship | スキーマの関係は、和集合スキーマとReal-time Customer Profileを使用して推定できますが、これは同じクラスを共有するスキーマにのみ当てはまります。 Relationship制約は、このフィールドが、異なるクラスに基づくスキーマの主なIDを参照することを示し、2つのスキーマ間の関係を示します。 詳細は、関係の定義のチュートリアルを参照してください。 |
左側のナビゲーションバーには、必須フィールド、IDフィールドまたは関係フィールドが表示され、スキーマの複雑さに関係なく、これらのフィールドを簡単に見つけることができます。
このチュートリアルでは、スキーマの"loyalty"オブジェクトに、顧客の「忠誠度レベル」を示す新しい列挙フィールドが必要です。値は、4つのオプションのうちの1つに限定されます。 このフィールドをスキーマに追加するには、loyalty
オブジェクトの横にあるプラス(+)アイコンを選択し、フィールド名と表示名の必須フィールドに入力します。 「タイプ」で、「文字列」を選択します。
配列、列挙、IDのチェックボックスなど、タイプを選択した後に、フィールドに追加のチェックボックスが表示されます。
「列挙」チェックボックスを選択して、下の列挙値を開きます。 ここで、許容可能な各ロイヤルティレベルの値(キャメルケース)とラベル(タイトルケースでの読みやすい名前でオプション)を入力できます。
すべてのフィールドプロパティを完了したら、「適用」を選択して、「loyaltyLevel」フィールドをloyalty
オブジェクトに追加します。
loyalty
オブジェクトには複数の忠誠度固有のフィールドが含まれ、他のスキーマで役立つ共通のデータ構造を表すようになりました。 Schema Editorを使用すると、再利用可能な複数フィールドオブジェクトを簡単に適用できます。これらのオブジェクトの構造をデータ型に変換します。
データ型を使用すると、複数フィールド構造を一貫して使用でき、mixin よりも柔軟性が高まります。これは、データ型がスキーマ内のどこでも使用できるからです。これは、フィールドのType値を、Schema Registryで定義されている任意のデータ型の値に設定することで行います。
loyalty
オブジェクトをデータ型に変換するには、[!UICONTROL 構造]の下のloyalty
フィールドを選択し、フィールドのプロパティの下のエディターの右側の<a4/>新しいデータ型]に変換を選択します。[オブジェクトが正常に変換されたことを確認する緑のポーバーが表示されます。
構造の下を見ると、loyalty
フィールドのデータ型が「Loyalty」で、フィールドの横に小さな錠前のアイコンが表示され、個々のフィールドではなく、複数フィールドのデータ型であることがわかります。
今後のスキーマでは、フィールドを「Loyalty」型として割り当て、ID、忠誠度レベル、メンバーシンク、ポイントのフィールドを自動的に含めることができます。
カスタムデータタイプは、編集スキーマとは独立して作成および編集することもできます。 詳しくは、データ型の作成と編集のガイドを参照してください。
スキーマには、基本クラスが提供するフィールドに加えて、複数のミックスインが含まれるようになりました。 大きいスキーマを使用する場合は、左側のレールでmixin名の横にあるチェックボックスをオンにして、表示されるフィールドを、関心のあるミックスインで提供されるフィールドのみにフィルタリングできます。
スキーマ内で特定のフィールドを探している場合は、検索バーを使用して、表示されるフィールドを、どのミックスインがどの下に提供されているかに関係なく、名前でフィルターすることもできます。
検索機能は、一致するフィールドを表示する際に、選択したミックスインフィルターを考慮に入れます。 検索クエリに期待した結果が表示されない場合は、関連するミックスインがフィルターで除外されていないことを重複チェックが必要になる場合があります。
スキーマが提供する標準的なデータ構造を活用して、複数のソースにわたって同じ個人に属するデータを識別でき、分類、レポート、データサイエンスの分析など、様々な下流の使用例に対応できます。 個々のIDに基づいてデータを結合するには、キーフィールドを該当するスキーマ内でIDフィールドとしてマークする必要があります。
Experience Platform を使用すると、の「 Identity」チェックボックスを使用して、IDフィールドを簡単に示すことがで Schema Editorきます。ただし、データの性質に基づいて、IDとして使用するのに最適なフィールドを決定する必要があります。
例えば、同じ「忠誠度レベル」に属する何千もの忠誠度プログラムメンバーが存在する場合がありますが、忠誠度プログラムの各メンバーは一意のloyaltyId
を持ちます(この場合は、個々のメンバーの電子メールアドレスです)。 loyaltyId
が各メンバの一意の識別子であることは、loyaltyLevel
がIDフィールドに対する適切な候補となるのに対し、<a0/>は異なります。
次の手順は、既存のスキーマフィールドにID記述子を追加する方法を説明します。 スキーマ自体の構造内にIDフィールドを定義する代わりに、identityMap
フィールドを使用してID情報を格納することもできます。
identityMap
を使用する予定がある場合は、スキーマに直接追加するすべてのプライマリIDが上書きされることに注意してください。 詳しくは、『スキーマ構成ガイド](/docs/experience-platform/xdm/schema/composition.html?lang=ja#identityMap)の基本』のidentityMap
の節を参照してください。[
エディターの構造セクションで、loyaltyId
フィールドを選択し、フィールドのプロパティの下に「ID」チェックボックスが表示されます。 チェックボックスをオンにし、プライマリIDとして設定するオプションが表示されます。 このボックスも選択します。
各スキーマには、1 つのプライマリ ID フィールドのみを含めることができます。スキーマフィールドをプライマリIDとして設定すると、後でスキーマ内の別のIDフィールドをプライマリIDとして設定しようとすると、エラーメッセージが表示されます。
次に、ドロップダウン内の事前定義済みの名前空間のリストからID名前空間を指定する必要があります。 loyaltyId
はお客様の電子メールアドレスなので、ドロップダウンから「電子メール」を選択します。 「を適用」を選択して、loyaltyId
フィールドの更新を確認します。
標準名前空間とその定義のリストについては、Identity Service ドキュメントを参照してください。
変更を適用した後、loyaltyId
のアイコンに指紋の記号が表示され、現在はIDフィールドであることが示されます。
loyaltyId
フィールドに取り込まれたすべてのデータは、その個人を特定し、その顧客の1つの表示をつなぎ合わせるのに役立ちます。 Experience PlatformでIDを使用する方法の詳細については、Identity Serviceのドキュメントを参照してください。
Real-time Customer Profile アイデンティティデータ Experience Platform を活用して、個々の顧客の全体的な表示を提供します。このサービスは、Experience Platformと統合されたあらゆるシステムにわたって顧客属性の360°の堅牢なプロファイルと、顧客が持つすべてのインタラクション顧客のタイムスタンプのあるアカウントを構築します。
スキーマをReal-time Customer Profileで使用できるようにするには、プライマリIDが定義されている必要があります。 最初にプライマリIDを定義せずにスキーマを有効にしようとすると、エラーメッセージが表示されます。
Profileで「Loyalty Members」スキーマを使用できるようにするには、まずエディターのStructureセクションで「Loyalty Members」を選択します。
エディターの右側には、スキーマに関する情報(表示名、説明、タイプなど)が表示されます。 この情報に加えて、プロファイルの切り替えボタンがあります。
「プロファイル」を選択すると、Profileのスキーマを有効にするかどうかを確認するプローバーが表示されます。
スキーマがReal-time Customer Profileに対して有効になって保存されると、無効にすることはできません。
「有効」を選択して、選択を確定します。 プロファイルの切り替えを再度選択して、必要に応じてスキーマを無効にできますが、Profileが有効な間にスキーマを保存すると、無効にできなくなります。
スキーマの構成が完了すると、カンバスに完全なスキーマが表示されます。 「保存」を選択すると、スキーマがSchema Libraryに保存され、Schema Registryからアクセスできるようになります。
新しいスキーマを使ってPlatformにデータを取り込めるようになりました。 データの取得にスキーマを使用した後は、追加的な変更のみがおこなわれる場合があります。スキーマバージョン管理について詳しくは、「スキーマ合成の基本」を参照してください。
これで、UIでスキーマの関係を定義するチュートリアルに従って、「Loyality Members」スキーマに新しい関係フィールドを追加できます。
「ロイヤルティメンバー」スキーマは、Schema Registry APIを使用して表示および管理することもできます。 APIの使用を開始するには、Schema Registry API 開始ガイドを読んでください。
次のビデオに示すPlatform UIは古いです。 最新のUIのスクリーンショットと機能については、上記のドキュメントを参照してください。
次のビデオでは、Platform UIで単純なスキーマを作成する方法を示します。
次のビデオは、ミックスインとクラスを使用する際の理解を深めるためのものです。
以下の節では、Schema Editorの使用に関する追加情報を示します。
Experience Platform は、組織に固有のクラスに基づいてスキーマを定義する柔軟性を提供します。新しいクラスの作成方法については、UI](…/ui/resources/classes.md#create)の[クラスの作成と編集に関するガイドを参照してください。
スキーマのクラスは、スキーマが保存される前の最初の構成プロセスの任意の時点で変更できます。
スキーマに対するクラスの再割り当ては、細心の注意を払って行う必要があります。 ミックスインは特定のクラスとのみ互換性があるので、クラスを変更するとキャンバスと追加したフィールドがリセットされます。
スキーマのクラスを変更する方法については、UIでのスキーマの管理に関するガイドを参照してください。