1. xConnectモデル

カスタムモデルをデプロイする

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

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

このトピックでは、カスタム モデルをシリアル化してxConnectにデプロイする方法について説明します。モデル デプロイは、モデルのJSON表現をxConnectのすべてのインスタンスにコピーする手動のプロセスです。

モデルをJSONにシリアル化する

モデルをJSONにシリアル化するには、次のようにします。

  1. xConnectモデルをシリアル化するコンソール アプリケーションを作成します。

  2. 図のようにモデルをJSONにシリアル化します - 次の例では、Sitecoreの既定のコレクション モデルを使用しています。

    using Sitecore.XConnect.Serialization;
    
    namespace Documentation
    {
        public class DeployModel
        {
            public void Serialize()
            {
                // File name will be Sitecore.XConnect.Collection.Model, 9.0.json
                var json = XdbModelWriter.Serialize(Sitecore.XConnect.Collection.Model.CollectionModel.Model);
            }
        }
    }
    大事な

    ファイル名は変更しないでください。ファイル名は、モデル クラスで宣言されている名前と一致する必要があります。

モデルをxConnectとMarketing Automation Operationsにデプロイする

カスタム モデルをxConnectロールとMarketing Automation Operationsロールにデプロイするには、次の手順に従います。

  1. モデルのJSONファイルを、xConnect Collection SearchロールとxConnect Collectionロールのすべてのインスタンスで次のパスにコピーします。

    C:\<Path to xConnect>\root\App_Data\Models

  2. モデルのJSONファイルをxConnect Search Indexerの次のパスにコピーします。

    C:\<Path to indexer>\root\App_data\Models

    メモ

    デフォルトでは、xConnect Search IndexerはC:\<Path to xConnect>\App_data\jobs\continuous\IndexWorkerの下にあります。

  3. Sitecore 9.0 Update 2以降では、マーケティング オートメーション操作ロールのすべてのインスタンスで、モデルのJSONファイルを次のパスにコピーする必要があります。このモデルは、ライブ イベントを処理するために必要です。

    C:\<Path to marketing automation operations>\root\App_Data\Models

    手記

    マーケティング オートメーション オペレーションの役割がxConnect Collection SearchまたはxConnect Collectionと組み合わされている場合、ステップ3は必要ありません。

モデルをMarketing Automation Engineにデプロイする

カスタムアクティビティタイプのコンテキストでカスタムモデルデータを操作するには、次の手順を実行します。この機能は、9.0 Update-1以降で使用できます。

モデルをマーケティングオートメーションエンジンにデプロイするには:

  1. モデルDLLをMarketing Automation Engineのすべてのインスタンスのルートにコピーします。

    手記

    マーケティング オートメーション エンジンには、モデルのJSON表現は必要ありません。デフォルトでは、マーケティングオートメーションエンジンはC:\<Path to xConnect>\App_data\jobs\continuous\AutomationEngineの下にあります。

  2. C:\<Path to xConnect>\App_data\jobs\continuous\AutomationEngine\AppData\config\sitecoreで、sc.Sample.CustomModel.xmlという名前の設定ファイルを作成します。ファイル名はscで始まり、.xmlで終わる必要があります。次のモデル設定を貼り付けて、次の変更を加えます。

    • TypeNameをモデルの完全修飾名に変更します。

    • 必要に応じて、CustomModel1ノードの名前を変更します。

    <Settings>
        <Sitecore>
            <XConnect>
                <Services>
                    <XConnect.Client.Configuration>
                        <Options>
                            <Models>
                                <CustomModel1>
                                    <TypeName>Sitecore.Xdb.MarketingAutomation.Stub.Model.StubModel, Sitecore.Xdb.MarketingAutomation.Stub</TypeName>
                                </CustomModel1>
                            </Models>
                        </Options>
                    </XConnect.Client.Configuration>
                </Services>
            </XConnect>
        </Sitecore>
    </Settings>

モデルがModelという名前の静的プロパティを公開し、モデルのXdbModelを返すことを前提としています。カスタムモデルが別の静的プロパティからモデルを公開する場合は、CustomModel要素内のPropertyName要素にプロパティの名前を含めます。

<Settings>
    <Sitecore>
        <XConnect>
            <Services>
                <XConnect.Client.Configuration>
                    <Options>
                        <Models>
                            <CustomModel1>
                                <TypeName>Sitecore.Xdb.MarketingAutomation.Stub.Model.StubModel, Sitecore.Xdb.MarketingAutomation.Stub</TypeName>
                                                                    <PropertyName>TheModel</PropertyName>
                            </CustomModel1>
                        </Models>
                    </Options>
                </XConnect.Client.Configuration>
            </Services>
        </XConnect>
    </Sitecore>
</Settings>

モデルをコア ロールにデプロイする

最後に、カスタム モデルをすべてのコアSitecoreインスタンスにデプロイする必要があります。これには、次のロールが含まれます。

  • Content Delivery

  • Content Management

  • xDBプロセッシング

各コアSitecoreインスタンスで、次の操作を行います。

  1. モデルDLLをコアSitecoreインスタンスのbinディレクトリにコピーします。

  2. 次に示すように、独自のモデルクラスを \App_Config\Sitecore\XConnect.Client.Configuration\Sitecore.XConnect.Client.configにパッチします。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <xconnect>
        <runtime type="Sitecore.XConnect.Client.Configuration.RuntimeModelConfiguration,Sitecore.XConnect.Client.Configuration">
            <schemas hint="list:AddModelConfiguration">
                <!-- value of 'name' property must be unique -->
                <schema name="documentationmodel" type="Sitecore.XConnect.Client.Configuration.StaticModelConfiguration,Sitecore.XConnect.Client.Configuration" patch:after="schema[@name='collectionmodel']">
                    <param desc="modeltype">Documentation.Model.CollectionModel, Documentation.Model</param>
                </schema>
            </schemas>
        </runtime>
        </xconnect>
    </sitecore>
    </configuration>
  3. コードでは、モデルDLLを参照します。

  4. xConnectクライアントAPIを使用して、 イベントをトリガー したり、 コンタクト ファセットを設定したりします。

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