FTPサーバにあるCSVファイルを読み取りたい

Avatar
dstn

FTPサーバにあるCSVファイルを読み取りたい

キーワード:FTP,ネットワーク

概要

FTPサーバにあるCSVファイルを読み取りたい場合、FTPアダプタのリストとデータの読み取り処理を使用します。

サンプルプロジェクトの説明

FTPサーバのCSVファイルをダウンロードし、CSV読み取り処理で読み取ります。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. リストとデータの読み取り処理」でFTPサーバのCSVファイルをダウンロードします。
  2. 繰り返し(データ件数)処理」で以下の処理を1件ずつ繰り返します。
  3. 変数代入処理」でダウンロードしたファイルのファイルパスをスクリプト変数「ファイルパス」に格納します。
  4. CSVファイル読み取り処理」でスクリプト変数「ファイルパス」のCSVファイルを読み取ります。
処理を実行すると、リストとデータの読み取り処理の [ローカルパス]に設定したディレクトリにFTPサーバからダウンロードしたファイルが格納されます。

ポイントとなる機能

名前 説明 ツールパレット上の場所
リストとデータの読み取り処理 ファイルのリストとファイルの内容を取得します。 「ネットワーク」-「FTP」-「リストとデータの読み取り」
繰り返し(データ件数)処理 入力データの件数分、処理を繰り返します。 「基本」-「フロー」-「繰り返し(データ件数)」

処理のポイント

リストとデータの読み取り処理は、ダウンロードしたファイルのファイルパスを取得できます。
繰り返し(データ件数)処理で、取得したファイルパスを1件ずつスクリプト変数に格納します。
CSV読み取り処理で、読み取り対象に上記のスクリプト変数を指定することで、ダウンロードしたファイルを読み取ることができます。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ067のサンプルプロジェクト
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_067.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_067.zip」を展開後に作成される「rl_reference_067プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_067プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_067.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、FTP接続設定のグローバルリソースを作成します。
  5. グローバルリソースの作成方法については「 グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「 サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. ファイルパスとして使用するスクリプト変数を作成します。
    • スクリプト変数のプロパティは、以下のように設定します。

      スクリプト変数のプロパティ

      変数名 変数型 初期値
      ファイルパス 文字列型  

  2. デザイナのツールパレットの「ネットワーク」-「FTP」-「リストとデータの読み取り」から、リストとデータの読み取り処理をスクリプトキャンバスに配置します。
    • リストとデータの読み取り処理のプロパティは以下のように設定します。

      [必須設定]タブ



      処理のポイント
      • [リモートパス]にはFTPサーバ側のファイルパス・[ローカルパス]にはDataSpiderファイルシステム上のファイルパスをそれぞれ設定してください。

  3. デザイナのツールパレットの「基本」-「フロー」-「繰り返し(データ件数)」から、繰り返し(データ件数)処理をスクリプトキャンバスに配置します。
    • 繰り返し(データ件数)処理のプロパティは以下のように設定します。

      [必須設定]タブ

      [XMLデータ処理]タブ



      処理のポイント
      • リストとデータの読み取り処理の出力スキーマはテーブルモデル型ではないため、[分割パス]を設定します。

  4. デザイナのツールパレットの「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。

  5. 変数代入処理のMapperエディタを開き、ファイルパスをスクリプト変数に格納する処理を作成します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス



      処理のポイント
      • 繰り返し(データ件数)処理のスキーマは、リストとデータの読み取り処理の出力スキーマを設定してください。
      • ファイルパスはpathname要素のlocal属性に格納されるため、local属性からスクリプト変数にリンクしてください。

  6. デザイナのツールパレットの「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
    • CSVファイル読み取り処理の設定は、以下のように行います。

      [必須設定]タブ



      処理のポイント
      • [ファイル]にスクリプト変数を使用することで、スクリプトを改修せずに動的に設定値を変更することができます。
        スクリプト変数は、以下の方法で素早く入力できます。
        • 入力フィールドにフォーカスをあてて表示させる変数入力アシスタント機能から選択します。
        • 入力フィールドの右クリックメニューで[スクリプト変数]を選択します。

  7. スクリプトを実行し、正常終了すれば成功です。

コメント

ログインしてコメントを残してください。

Powered by Zendesk