---
title: "ウォークスルー:テナントサービスエンドポイントの実装"
slug: "walkthrough--implementing-a-tenant-service-endpoint"
abstract: "Sitecore Data Exchange Frameworkで読み込み要求を処理するテナントサービスエンドポイントの作成方法。"
---
# ウォークスルー:テナントサービスエンドポイントの実装

このトピックでは、コンテンツがJSON値のデータを読み取るリクエストを処理するテナントサービスエンドポイント(TSE)の作成方法を示します。

> !注 [この例の完成した解決策](https://github.com/Sitecore/Sitecore-Azure-Quickstart-Templates) を含むソースコードとSitecoreパッケージはGitHubからダウンロードできます。

これらの指示に従う前に、テナントサービス(ウェブサービス)を設定し、テナントサービスをData Exchange Frameworkに追加する必要があります。また、同期プロセスを記述したユーザーストーリーを作成するなど、プロバイダーの要件も定義しなければなりません。例えば、以下のユーザーストーリーは、同期プロセスの構築とマッピングを担当する人がリクエストのJSON内容をどのように扱うかを説明しています:

-   *Matching Conditionを設定するためにリクエストパスを指定することができます。*
-   *JSONコンテンツの値をSitecoreアイテムのフィールドにマッピングできる*ので、リクエストコンテンツのデータを使ってSitecoreアイテムを作成できます。

このウォークスルーでは、以下の方法を説明します:

-   データ交換テナントを作成する
-   テナントサービスエンドポイントの追加
-   マッチング条件を作成する
-   パイプラインをセットしてください
-   パイプラインコンテキストビルダーを構築する

プロセスモデリングが完了すると、テナントサービスを使って着信ウェブリクエストを処理し、モデルに応じた同期プロセスを実行できます。

## データ交換テナントを作成する

データ交換テナントを作成するには:

1.  Sitecoreコンテンツエディターで */sitecore/System/Data Exchange*に移動します。
2.  新しいテナントを作成するには、 **フォルダ** タブで **「空のデータ交換テナン**ト」をクリックします。
3.  「 **テナント名** 」欄に、関連するテナント名を入力してください。
4.  作成したテナントをテナントサービス機能でアップグレードしてください。

## テナントサービスエンドポイントの追加

TSEを追加するには:

1.  作成したテナントの下で、*Tenant Service Endpoints*に移動します。
    
2.  新しいエンドポイントを作成するには、**フォルダ** タブで「 **パイプラインテナントサービスエンドポイント**」をクリックします。
    
3.  TSEの名前を入力してください。
    
    > !ヒントTSEにはその機能を説明するアイテム名を付けるのがベストプラクティスです。例えば、TSE *CRM連絡先をSitecore*に、フォーム *でデータをSitecoreに提出*するなど、
    

## マッチング条件を作成する

マッチング条件を作成するために:

1.  テナントの下で *Tenant Service Settings/Matching Condition*に移動します。
2.  新しいアイテムを作成するには、 **フォルダ** タブで「 **絶対パスマッチング条件** 」をクリックし、アイテム名を入力してください。
3.  作成された条件の **パス** フィールドでリクエストパスを設定します。
4.  **条件オペレーター**フィールドで「**包含」**をクリックします。
5.  テナントサービスエンドポイントに行き、作成した条件を割り当ててください。

例えば、TSEから受信リクエストhttp://<tenantservice>/api/tenantservice/dosomething/?<query>のパイプラインを実行するには、以下の設定でマッチ条件を設定します。

舞台設定

価値

経路

/dosomething/

条件演算子

Contains

## パイプラインをセットしてください

パイプラインはデータ交換フレームワーク(DEF)と同じ意味を持ちます。

処理されたリクエストからパイプラインを実行するには:

-   作成したTSE項目については、 **パイプライン** フィールドにパイプラインを設定します。

> !注設定できるパイプラインは一つだけです。

## パイプラインコンテキストビルダーを構築する

パイプラインの文脈はDEFと同じ意味を持ちます。

リクエストデータをパイプラインに渡すには、プラグインを通じて渡されたデータを使ってパイプラインコンテキストを構築する必要があります。

パイプラインのコンテキストを構築するために:

1.  テナントの下で「 *テナントサービス設定/パイプラインコンテキストビルダー*」へ移動してください。
    
2.  **フォルダ**タブで、該当するパイプラインコンテキストビルダーをクリックしてください:
    
    **Empty Pipeline Context builder**
    
    リクエストはパイプラインコンテキストを経由するデータなしで実行できます。つまり、パイプラインのステップはリクエストからのデータを処理する必要がないということです。
    
    **パイプラインコンテキストプラグインビルダー**
    
    プラグインを作成し、パイプラインコンテキストに追加します。パイプラインコンテキストは選択したパイプラインで使用されます。リクエストの値を変換し、変換された値を割り当てられたプラグインリーダーに渡すことができます。割り当てられたすべてのプラグインはパイプラインコンテキストに追加されます。
    
3.  *Pipeline Context Plugin Builder*を使用する場合、DEFで2つの数値リーダーを指定する必要があります:
    
    **バリュートランスフォーマー**
    
    リクエストの読み取りデータが割り当てられたプラグインリーダーに渡される前に、リクエストからデータを読み取ります。
    
    **プラグインリーダー**
    
    複数のプラグインリーダーを割り当て、読み取り値が型 IPluginである必要があります。すべてのプラグインは新たに作成されたパイプラインコンテキストに追加されます。