Edited at

ファイルリストをHTTP GETメソッドで取得する

More than 1 year has passed since last update.


はじめに

DataSpiderサーバをテンポラリとして利用する方法のもうひとつの機能である、ファイルリストの取得を実装してみます。

処理としては非常に簡単で、ファイル名一覧取得コンポーネントを使って一覧を取得したあと、JSONフォーマットに置き換えるだけ。

事前準備として取得したいjsonフォーマットを決めてDataSpider上に保存しておきます。
今回はこんな形式にしました。

[

{
"file_name": "",
"file_size":"",
"updated":""
}
]


スクリプトの実装


  1. 完成図



  2. ツールパレットネットワークRESTGET実行をキャンバスにドラッグ&ドロップします。


    レスポンス設定タブのデータ形式をJSONにしてJSONファイルを指定して出力スキーマを設定...から、事前に準備しておいたJSONファイルを指定して設定完了です。


  3. ツールパレットファイルファイル操作ファイル名一覧取得をキャンバスにドラッグ&ドロップします。


    ファイルの保存先を指定して設定は完了です。


  4. ツールパレット変換基本マッピングをキャンバスにドラッグ&ドロップします。



    1. 出力データlist xmlを右クリックしてスキーマを読み込むを選択します。


    2. スキーマの読み込みでコンポーネントから選択を選択し、execute_http_get(RESTアダプタ)を選択します。


    3. まずはファイルの取得条件を設定します。(青い線の部分です)


      - ツールパレット繰り返し条件指定条件による抽出をキャンバスにドラッグ&ドロップします。
      - ツールパレット文字列基本単一行文字列定数をキャンバスにドラッグ&ドロップし、fileを設定します。
      - ツールパレット条件文字列同じをキャンバスにドラッグ&ドロップし、図のように線をつないでいきます。
      ファイル名一覧取得コンポーネントでは指定するディレクトリ配下のディレクトリ名、ファイル名のすべてを取得しますので、この条件式で、ファイル名だけ取得することができるようになります。

    4. 次にJSONフォーマットを指定します。(赤い線の部分です)
      - ツールパレット文字列基本単一行文字列定数をキャンバスにふたつドラッグ&ドロップし、取得したいJSONフォーマットの通りarrayobjectを設定し、type属性につなぎます。

    5. 最後に必要なカラム同士を結んでマッピング設定は完了です。



  5. あとは完成図の通り、Startからendまで線を結んで、プロジェクトをサービスに登録したらスクリプトの作成は完了です。


  6. メニュー→マイトリガーから新しいHTTPトリガーを作成します。


    - ここでは実行パスを/filelistとしました。
    レスポンス設定のContent-Typeをapplication/jsonに設定します。

  7. 実行パスの設定が終わったら次へ進んで登録したサービスと紐付けます。


    あとは保存したら終了です。


実行

生成されたURLに対してGETメソッドでファイルを送ってみます。

ここではDHCというChromeのプラグインを利用しています。


正しく取得できているようです。