1. xConnectの使用を開始する

xConnectコレクション モデル

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

コレクション モデルは、エクスペリエンス データの構造を構成するCLRの種類、ファセット、およびイベントを定義します。Sitecoreには、PersonalInformationなどのファセットと、GoalOutcomeなどのイベントタイプを定義するデフォルトのコレクションモデルが付属しています。独自のファセットとイベントを持つ追加のモデルをいくつでも定義できます。

すべてのモデルは、完全にコードで定義されています。次のモデルでは、1つのコンタクトファセットと1つのイベントを定義します。

using System;
using Sitecore.XConnect.Operations;
using Sitecore.XConnect.Schema;

namespace Sitecore.XConnect.Sample.Model
{
    public static class CollectionModel
    {
        public static XdbModel Model { get; } = BuildModel();

        static XdbModel BuildModel()
        {
            var builder = new XdbModelBuilder("Sitecore.XConnect.Sample.Model", new XdbModelVersion(1, 0));

            //Contact facets
            builder.DefineFacet<Contact, CustomFacet>(FacetKeys.CustomFacetKey);

            // Events
            builder.DefineEventType<CustomEvent>(false);

            return builder.BuildModel();
        }
    }

    public static class FacetKeys
    {
        public const string CustomFacetKey = nameof(CollectionModel.Avatar);
    }
}

コンソール アプリケーションのコンテキストでは、xConnectクライアントAPIをカスタム モデルで初期化できます。

var cfg = new XConnectClientConfiguration(
    new XdbRuntimeModel(CollectionModel.Model), collectionClient, searchClient, configurationClient);

または、カスタム モデルをSitecoreの設定に追加することもできます。アプリケーションが起動すると、設定にリストされているすべてのモデルからランタイム モデルがアセンブルされ、xConnectクライアントをリクエストするときに使用可能になります。

using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
{
    // Core collection model and custom model both available from configuration
}

xConnectサービスには、クライアント アプリケーションで使用する任意のモデルのJSON表現が必要です。

モデルをJSONにシリアル化するためのツールが存在します。モデルのJSONバージョンとC# バージョンが一致している必要があります。一致しないと、xConnectクライアントAPIの初期化に失敗します。xConnectに必要なのはモデルのJSON表現だけで、DLLをデプロイする必要はありません。

この記事を改善するための提案がある場合は、 お知らせください!