---
title: "ウォークスルー:パイプラインの作成と実行"
slug: "walkthrough--creating-and-running-a-pipeline"
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") の第3部であり、テキストファイルとSitecore間でデータ同期を行うパイプラインの作成方法を説明しています。

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

-   ソースファイルを読み取るパイプラインを追加してください。
-   ソースファイルからデータを読み取るパイプラインステップを追加してください。
-   ソースファイルから読み取ったデータを反復するパイプラインステップを追加してください。
-   ソースファイルから1行を同期するパイプラインを追加してください。
-   ターゲット項目を解決するためのパイプラインステップを追加してください。
-   マッピングを適用するためのパイプラインステップを追加してください。
-   ターゲットアイテムを更新するためのパイプラインステップを追加します。
-   パイプラインバッチを追加してください
-   パイプラインバッチのテスト

## ソースファイルを読み取るためのパイプラインを追加してください

テキストファイルからデータを読み込み、データを反復し、1行のデータを処理するパイプラインにデータを渡すパイプラインを実装しなければなりません。

ソースファイルを読み取るためのパイプラインを追加するには:

1.  コンテンツエディターで */sitecore/System/Data Exchange/File System Provider Test Tenant/pipelines*へ移動してください。
    
    ![Tenant Pipelines folder in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipelines-single-row-finished.png)
    
2.  右側のペインで*Pipeline*をクリックします。新しい項目の名前を「 *ファイルパイプラインから都市情報を読む*」と名付けます。
    
3.  新しいアイテムを*Pipelines*フォルダの最初の位置にドラッグ&ドロップします。
    
    ![Moving the Read City Info from File pipeline in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-read-data-no-children-ordered.png)
    

> !注フォルダ内のパイプラインの順序は重要ではありません。しかし、パイプラインが別のパイプラインを呼び出す場合、呼び出すパイプラインを呼び出すパイプラインを呼び出すパイプラインの前に置くと便利です。

## ソースファイルからデータを読み取るパイプラインステップを追加してください

テキストファイルエンドポイントが指定したテキストファイルからデータを読み取れるパイプラインステップを設定しなければなりません。パイプラインステップはまた、次のパイプラインステップがアクセスできる場所にデータへのポインタを配置しなければなりません。

ソースファイルからデータを読み取るパイプラインステップを追加するには:

1.  コンテンツエディターでパイプライン項目に移動してください。例えば「 *ファイルパイプラインからCity Infoを読む*」などです。
    
    ![Read City Info from File pipeline in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-read-data-no-children-ordered.png)
    
2.  右側のペインで「 *テキストファイルパイプラインのステップを読む*」をクリックします。新しいアイテムの名前を*Read Text File*。
    
3.  コンテンツツリーで新しいアイテムを選択してください。
    
    ![Read Text File pipeline step in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-read-text-file.png)
    
4.  右側のパネルで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **終点から**
    
    *File System/City Information File*
    
5.  アイテムを保存してください。
    

## ソースファイルから読み取ったデータを反復するパイプラインステップを追加します

このパイプラインの最初のステップは、次のパイプラインステップがアクセスできる場所へのポインタを追加します。2番目のステップでは、テキストファイルから読み取った行をデータに反復処理し、データを処理するもう一方のパイプラインに渡せるように設定する必要があります。

データの反復を行うパイプラインステップを追加するには:

1.  コンテンツエディターで、パイプライン項目「 *City Info from File to City Info Item Sync Pipeline*」へ移動します。
    
    ![Read City Info from File pipeline in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-read-data-1-child.png)
    
2.  右側のペインで「 *データを反復し、パイプラインパイプラインを実行」ステップ*をクリックします。新しい項目名を *「テキストファイルから行を反復」とし、パイプラインを実行し*てください。
    
3.  コンテンツツリーで新しいアイテムを選択してください。
    
    ![Iterate Rows from Text File and Run Pipeline pipeline step in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-iterate.png)
    
4.  右側のペイン、**設定** セクションで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **パイプライン**
    
    *ファイルから都市情報へのパイプライン/都市情報 アイテム同期パイプライン*
    
    **反復可能なデータロケーション**
    
    *Pipeline Context Iterable Data*
    
    **データロケーション**
    
    *Pipeline Context Source*
    
5.  アイテムを保存してください。
    
6.  新しいアイテムを*Pipelines*フォルダの2番目の場所にドラッグ&ドロップします。
    
    ![Move the Iterate Rows from Text File and Run Pipeline pipeline step in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-iterate-ordered.png)
    

## ソースファイルから1行を同期するパイプラインを追加してください

あなたがモデル化している同期プロセスは2つのパイプラインで構成されています。1つ目のパイプラインはテキストファイルであるソースオブジェクトからデータを読み込みます。2つ目のパイプラインはテキストファイルの1行を処理します。

最初のパイプラインが2番目のパイプラインを呼び出すため、最初のパイプラインを設定する前に2番目のパイプラインを設定する必要があります。

テキストファイルから1行を処理するパイプラインを追加するには:

1.  コンテンツエディターのコンテンツツリーでテナントを選択します。 *Pipelines*に移動します。
    
    ![Tenant pipelines in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipelines-empty.png)
    
2.  右側のペインの **フォルダ** タブで **「パイプライン** 」をクリックして新しいアイテムを追加し、「 *City Info from File to City Info Item Sync Pipeline*」と名付けます。
    

## ターゲット項目を解決するためのパイプラインステップを追加してください

最初のパイプラインステップでは、テキストファイルの行の値に一致する既存のSitecoreアイテムが存在するかどうかを確認します。

パイプラインが一致するアイテムを見つけた場合、そのアイテムをパイプラインのコンテキストでターゲットオブジェクトとして設定しなければなりません。つまり、マッピングプロセス中にパイプラインはマッチングアイテムを新しい値で更新します。

もしパイプラインが一致するアイテムを見つけられなければ、新しいアイテムを作成し、その新しいアイテムをパイプラインの文脈でターゲットオブジェクトとして設定しなければなりません。

これらのアクションをパイプラインで設定するには:

1.  コンテンツエディターで、例えば「 *ファイルから都市情報へのアイテム同期パイプライン*」など、ステップを作成したいパイプライン項目に移動します。
    
    ![City Info From File to City Info Item Sync pipeline in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-single-row-no-children.png)
    
2.  右側のペインで「 *アイテムパイプラインステップSitecore解決*」をクリックします。新しいアイテムの名前を*Resolve City Info Item*。新しいアイテムを選択します。
    
    ![Resolve City Info item in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-resolve-city-info-item.png)
    
3.  右側のパネルで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **新品のテンプレート**
    
    *Templates/User Defined/City Information*
    
    **アイテム名 値アクセサ**
    
    *データアクセス/価値アクセスセット/プロバイダー/ファイルシステム/都市情報ファイルフィールド/都市情報ファイルから都市情報ファイル*
    
    **終点から**
    
    *Sitecore/Sitecore Database Endpoint*
    
    **識別子値アクセス器**
    
    *データアクセス/値アクセスセット/プロバイダー/ファイルシステム/都市情報ファイルフィールド/都市情報ファイルからの識別子*
    
    **識別子オブジェクトの位置**
    
    *Pipeline Context Source*
    
    **解決されたオブジェクト位置**
    
    *Pipeline Context Target*
    
    **アイテムの親**
    
    *sitecore/content/Cities*
    
    **マッチングフィールド値アクセサ**
    
    *データアクセス/価値アクセスセット/プロバイダー/Sitecore/市情報項目フィールド/市情報項目の識別子*
    
4.  アイテムを保存してください。
    

## マッピングを適用するためのパイプラインステップを追加

このパイプライン [の最初のステップ](https://doc.sitecore.com/xp/ja/developers/def/80/data-exchange-framework/walkthrough--creating-and-running-a-pipeline.html#UUID-d15188e3-bdf9-00f0-dbe1-9b882d0442cd_N1652779327922) は、既存のアイテムを見つけるか新しいオブジェクトを作成することでターゲットオブジェクトが利用可能であることを保証します。次のステップでは、「 [Add Value Mappings](https://doc.sitecore.com/xp/ja/developers/def/80/data-exchange-framework/walkthrough--creating-components-to-read-and-write-data.html#UUID-797f4b9c-8bf4-0a27-ecbd-231385a144f6_section-idm93305559151838 "Add value mappings") 」で設定した値マッピングセットを使って、元のオブジェクトからターゲットオブジェクトへの値をマッピングします。

マッピングを適用するためのパイプラインステップを追加するには:

1.  「 *ファイルからシティ情報」アイテム同期パイプラインから「City Info*」へナビゲーションしてください。
    
    ![City Info from File to City Info Item Sync pipeline in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-single-row-1-step.png)
    
2.  右側のパネルで*Apply Mapping Pipeline Step*をクリックします。新しいアイテムの名前を*Apply Mapping*。新しいアイテムを選択します。
    
    ![Apply Mapping item in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-apply-mapping.png)
    
3.  右側のパネルで、以下のフィールド値を設定します:
    
    フィールド
    
    価値
    
    **マッピングセット**
    
    *シティ情報ファイルからシティ情報アイテムへの価値マッピングセット/行*
    
4.  アイテムを保存してください。
    
5.  アイテムをパイプラインの2番目の位置にドラッグ&ドロップします。
    
    ![Moving the Apply Mapping item in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-apply-mapping-ordered.png)
    

## ターゲットアイテムを更新するためのパイプラインステップを追加してください

マッピングが適用された後、対象アイテムの変更はSitecoreデータベースに保存されなければなりません。

ターゲットアイテムを更新するためのパイプラインステップを追加するには:

1.  コンテンツエディターで、ステップを追加したいパイプライン項目に移動します。例えば「 *ファイルから都市情報へのアイテム同期パイプライン*」などです。
    
2.  右側のペインで「 *アイテムパイプラインの更新*」ステップSitecoreクリックします。例えば、新しいアイテムの名前を*Update Sitecore Item*。新しいアイテムを選択します。
    
    ![Update Sitecore Item pipeline step in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-update-sitecore-item.png)
    
3.  右側のパネルで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **アイテムの所在地**
    
    *Pipeline Context Target*
    
    **終点**
    
    *Sitecore/Sitecore Database Endpoint*
    
4.  アイテムを保存してください。
    
5.  新しいアイテムをパイプラインの3番目の場所にドラッグ&ドロップします。
    
    ![Move the Update Sitecore Item pipeline step in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-step-update-sitecore-item-ordered.png)
    

## パイプラインバッチを追加してください

パイプラインを実行するには、パイプラインバッチを設定する必要があります。これは基本的にパイプラインの実行時間です。

パイプラインバッチの設定:

1.  コンテンツエディターで*/sitecore/system/Data Exchange/File System Provder テストテナント/パイプラインバッチ*に移動してください。
    
    ![Tenant Pipeline Batches in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-batches-no-children.png)
    
2.  右側のペインで*Pipeline Batch*をクリックします。例えば、新しいアイテムの名前を「 *City Info from File to City Info Item Sync Pipeline Batch*」とします。
    
3.  コンテンツツリーで新しいアイテムを選択してください。
    
    ![City Info from File to City Info Item Sync pipeline batch in the content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-batch.png)
    
4.  右側のパネルで、以下のフィールド値を指定します:
    
    フィールド
    
    価値
    
    **パイプライン**
    
    *パイプライン/ファイルパイプラインから都市情報を読み取る*
    
5.  アイテムを保存してください。
    

## パイプラインバッチのテスト

パイプラインのバッチはいくつかの方法で実行できます。最も簡単なのは手動で実行することです。

パイプラインバッチのテスト:

1.  コンテンツエディターで、*/sitecore/System/Data Exchange/File System Provder、テストテナント/パイプラインバッチ/City Info from File to City Info アイテム同期パイプラインバッチ*へ移動してください。
    
    ![Pipeline batches in content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-batch.png)
    
2.  リボンで **「パイプラインバッチを実行し**てください」をクリックします。
    
    ![Run Pipeline Batch option in menu ribbon](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/run-pipeline-batch-button.png)
    
3.  **OK**をクリックします。
    
    ![Pipeline batch started message](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/pipeline-batch-started.png)
    
    > !注この例では、テキストファイルは数行しか含まれていません。さらに、パイプライン内のロジックは非常に制限されています。つまり、パイプラインのバッチはほぼ瞬時に完了します。
    > 
    > パイプラインバッチが実行されているかどうかは、「Stop Pipeline Batch」ボタンが有効かどうか確認できます。このボタンは自動的にリフレッシュされないので、UIをリフレッシュするにはパイプラインバッチをクリックする必要があるかもしれません。
    
4.  コンテンツツリーで */sitecore/content/Cities*に移動します。
    
    ![Content in content tree](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/cities-populated.png)
    
    テキストファイル内の各行ごとにアイテムが見られます。
    
5.  レビューしたい項目、例えば*Copenhagen*項目をクリックします。その項目に対応するテキストファイルの行の値を見ることができます。
    
    ![Data item details](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/def/80/data-exchange-framework/images/copenhagen.png)