---
title: "ウォークスルー:データの読み書きコンポーネント作成"
slug: "walkthrough--creating-components-to-read-and-write-data"
abstract: "Sitecore Data Exchange Frameworkを用いてテキストファイルを同期しながらデータの読み書きを行うコンポーネントの作成方法。"
---
# ウォークスルー:データの読み書きコンポーネント作成

このウォークスルーは「 [テキストファイルからSitecoreへのデータの同期」ウォークスルーシリーズ](https://doc.sitecore.com/xp/ja/developers/def/80/data-exchange-framework/synchronizing-data-from-a-text-file-to-sitecore-walkthrough-series.html "Synchronizing data from a text file to Sitecore walkthrough series") の第2部であり、テキストファイルからデータを読み込みSitecoreに書き込むために必要なコンポーネントの作成方法を説明しています。

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

-   ソースファイル用のエンドポイントを追加します。
-   ソースファイル用の値アクセス装置を追加します。
-   ターゲットアイテム用のエンドポイントを追加してください。
-   ターゲットアイテムに対して価値アクセス装置のセットを追加します
-   価値マッピングを追加しましょう。

## ソースファイル用のエンドポイントを追加します

読み取るテキストファイルを識別するためにエンドポイントを使います。

ソースファイルのエンドポイントを追加するには:

1.  コンテンツエディターで */sitecore/System/Data Exchange/File System Provider Test Tenant/endpoints/Providers*に移動します。
    
2.  新しいテンプレートを追加するには、右側のペインの **フォルダ** タブで「 **ファイルシステムエンドポイント**」をクリックします。
    
    > !注このテンプレートはコマンドテンプレートです。アイテム名の入力はしません。コマンドテンプレートは自動的にアイテムに*File System*の名前を割り当てます。
    
3.  新しい*File System*フォルダに移動します。右側のペインの **フォルダ** タブで「 **Text File Endpoint**」をクリックし、以下の項目を追加してください:
    
    テンプレート
    
    *Text File Endpoint*
    
    名称
    
    *City Information File*
    
4.  新しい*City Information File*エンドポイントを選択してください。
    
    ![City Information File text file endpoint in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/city-information-file-endpoint.png)
    
5.  右側のパネルで、以下のフィールド値を設定します:
    
    フィールド
    
    価値
    
    **経路**
    
    *C:\\\\Sitecore\\cities.dat*
    
    **列分離器**
    
    *,*
    
6.  アイテムを保存してください。
    

## ソースファイル用の値アクセス器のセットを追加します

ソースファイルから値を読み取るには、各値ごとに値のアクセルを作成する必要があります。各バリューアクセサは、ソースファイル内の行の特定の値を表します。関連するバリューアクセサをバリューアクセスセットにグループ化し、そのセットには1つ以上のバリューアクセサを含めることができます。

テナントの下では、値のアクセサセットはプロバイダーごとに整理されます。新しいプロバイダ用の値アクセサセットを格納するフォルダを作成する必要があります。その後、ソースファイルの行から読みたいすべての値を表現するバリューアクセサセットを作成します。バリューアクセサセットでは、ソースファイルのデータ行から個々の値を読み取れるバリューアクセサを作成します。

値アクセス器で値アクセス器セットを追加するには:

1.  コンテンツエディターで */sitecore/System/Data Exchange/File System Provider Test/Data Access/Value Accessor Sets/Providers*へ移動してください。
    
2.  新しいセットを追加するには、右側のペインの **フォルダ** タブで「 **ファイルシステム値アクセスセット**」をクリックしてください。
    
    > !注このテンプレートはコマンドテンプレートです。アイテム名の入力はしません。コマンドテンプレートは自動的にアイテムに*File System*の名前を割り当てます。
    
3.  値アクセルセットを作成するには、新しい*File System*フォルダに移動します。右側のペインの **フォルダ** タブで「 **Array Value Accessor Set**」をクリックします。新しいアイテムに*City Information File Fields*と名付けます。
    
4.  値アクセルを作成するには、コンテンツツリーで新しい*City Information File Fields*アイテムに移動します。右側のペインの **フォルダ** タブで **「Array Value Accessor**」をクリックします。新しいアイテムの名前を*City Information FileからIdentifier*に設定します。
    
5.  右側のパネルで、以下のフィールド値を設定します:
    
    フィールド
    
    価値
    
    **位置**
    
    *0*
    
6.  アイテムを保存してください。
    
7.  ステップ1から3を繰り返して、さらに2つの配列値アクセサ項目を追加します:
    
    アイテム名
    
    ポジション価値
    
    *都市から国情報項目*
    
    *1*
    
    *市情報項目からの都市*
    
    *2*
    

## ターゲットアイテムのエンドポイントを追加します

エンドポイントを使って、Sitecoreのアイテムが作成されるSitecoreデータベースを特定します。

エンドポイントを追加するには:

1.  コンテンツエディターで */sitecore/System/Data Exchange/File System Provider Test Tenant/endpoints/Providers*に移動します。
    
    ![Providers folder in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/endpoints-providers-file-system-provider-only.png)
    
2.  右側のパネルで*Sitecore Endpoints*をクリックします。
    
    > !注このテンプレートはコマンドテンプレートです。アイテム名をプロンプトしません。コマンドテンプレートはアイテム名を自動的に割り当てます。
    
3.  新しいアイテムを選択してください。
    
    ![Sitecore endpoints folder in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/endpoints-providers-sitecore.png)
    
4.  右側のペインで、*Sitecore Item Model Repository Endpoint*をクリックします。新しいアイテムの名前を*Sitecore Database Endpoint*。
    

## ターゲットアイテムに対して価値アクセス装置のセットを追加します

ターゲットオブジェクトとして機能するSitecoreアイテム(ターゲットアイテム)に値を書き込むには、各アイテムごとにテナント内で値のアクセサを作成する必要があります。各バリューアクセサは、ターゲットアイテムに使われるテンプレート上の特定のフィールドを表します。関連するバリューアクセサを、ソースから読みたいすべてのアイテムを表すバリューアクセサセットにまとめます。値アクセサセットはデータプロバイダーの下のフォルダに整理します。

対象品の値アクセス器を追加するには:

1.  値インタレタセット用のフォルダを作成するには、コンテンツエディタで */sitecore/System/Data Exchange/File System Provider Test Tenant/Data Access/Value Accessor Sets/Providers*へ移動してください。
    
    ![Providers folder in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/value-accessor-sets-providers-file-system-configured.png)
    
2.  右側のパネルで*Sitecore Value Accessor Sets*をクリックします。
    
    > !注このテンプレートはコマンドテンプレートです。アイテム名をプロンプトしません。コマンドテンプレートはアイテム名を自動的に割り当てます。
    
3.  価値アクセスセットを作成するには、コンテンツエディターで*Sitecore*プロバイダーへ移動します。
    
    ![Sitecore provider in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/sitecore-provider-value-accessor-sets.png)
    
4.  **フォルダ**タブで「**Sitecore Item Field Value Accessor Set**」をクリックすると新しいアイテムが作成され、名前を*City Information Item Fields*にします。
    
5.  価値アクセルを作成するには、コンテンツエディターで*City Information Item Fields*項目に移動します。
    
    ![City Information Item Fields value accessor set in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/city-information-template-fields-value-accessor-set.png)
    
6.  右側のペインの **フォルダ** タブで、**Sitecore Item Field Value Accessor**をクリックして新しいアイテムを作成し、「 *Identifier on City Information Item*」と名付けます。
    
7.  右側のパネルで、以下のフィールド値を設定します:
    
    フィールド
    
    価値
    
    **フィールド**
    
    *Templates/User Defined/City Information/Data/Identifier*
    
8.  アイテムを保存してください。
    
9.  ステップ6から8を繰り返して、さらに2つのSitecore *Item Field Value Accessor*フィールドを追加します:
    
    フィールド名
    
    場の価値
    
    *都市の国情報項目*
    
    *Templates/User Defined/City Information/Data/Country*
    
    *市内情報項目*
    
    *Templates/User Defined/City Information/Data/City*
    

## 値の付加マッピング

価値マッピングを使って、ソースオブジェクトの値アクセスツールとターゲットオブジェクトの値アクセスツールを関連付けます。関連する値マッピングは、価値マッピングセットの下にまとめられます。

この例では、テキストファイルの行からSitecore項目にマッピングしなければならないすべての値を表現する値マッピングセットを作成します。次に、*Identifier*、*Country*、*City* Sitecore項目に対して値マッピングを作成します。これらのマッピングは、テキストファイルから値を読み取るための値アクセス器と、対応するSitecore項目に値を書き込むための値アクセス器を関連付けます

値マッピングで値マッピングセットを作成するには:

1.  価値マッピングセットを作成するには、コンテンツエディターで*/sitecore/System/Data Exchange/File System Provder テストテナント/価値マッピングセット*に移動してください。
    
    ![Value Mapping Sets folder in Tenant Settings in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/value-mapping-sets-empty.png)
    
2.  **右側のペ****インのフォルダタブで「値マッピングセット***」をクリックします。「City Information FileからCity Information Itemへ行」と名付けます*
    
3.  値マッピングを作成するには、コンテンツツリー内で新しい値マッピングセットに移動します。
    
    ![Row from City Information File to City Information Item value mapping set item in Value Mapping Sets folder in Content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/value-mapping-set-empty.png)
    
4.  右側のペインの **フォルダ** タブで **「Value Mapping**」をクリックします。新しいアイテムの名前を*Identifier*。コンテンツツリーで新しいアイテムを選択します。
    
5.  右側の **パネルのソース** セクションで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **ソースアクセサル**
    
    *データアクセス/値アクセスセット/プロバイダー/ファイルシステム/都市情報ファイルフィールド/都市情報ファイルからの識別子*
    
    **ターゲットアクセサ**
    
    *データアクセス/価値アクセスセット/プロバイダー/Sitecore/市情報項目フィールド/市情報項目の識別子*
    
    ![Source and target accessor fields.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/value-mapping-identifier.png)
    
6.  アイテムを保存してください。
    
7.  次の値のマッピングを加えるために、ステップ4から7を繰り返します。
    
    名称
    
    ソースアクセサル
    
    ターゲットアクセサ
    
    *Country*
    
    *データアクセス/価値アクセスセット/プロバイダー/ファイルシステム/都市情報ファイルフィールド/都市情報ファイルフィールド/都市情報ファイルからの国*
    
    *データアクセス/価値アクセスセット/プロバイダー/Sitecore/都市情報項目フィールド/都市情報項目の国*
    
    *City*
    
    *データアクセス/価値アクセスセット/プロバイダー/ファイルシステム/都市情報ファイルフィールド/都市情報ファイルから都市情報ファイル*
    
    *データアクセス/価値アクセスセット/プロバイダー/Sitecore/市情報項目フィールド/市の情報項目項目*