はじめに
DataSpiderサーバをテンポラリとして利用する方法のもうひとつの機能である、ファイルリストの取得を実装してみます。
処理としては非常に簡単で、ファイル名一覧取得コンポーネントを使って一覧を取得したあと、JSONフォーマットに置き換えるだけ。
事前準備として取得したいjsonフォーマットを決めてDataSpider上に保存しておきます。
今回はこんな形式にしました。
[
{
"file_name": "",
"file_size":"",
"updated":""
}
]
スクリプトの実装
- 完成図
-
ツールパレット→ネットワーク→REST→GET実行をキャンバスにドラッグ&ドロップします。
レスポンス設定タブのデータ形式をJSONにしてJSONファイルを指定して出力スキーマを設定...から、事前に準備しておいたJSONファイルを指定して設定完了です。 -
ツールパレット→ファイル→ファイル操作→ファイル名一覧取得をキャンバスにドラッグ&ドロップします。
ファイルの保存先を指定して設定は完了です。 -
ツールパレット→変換→基本→マッピングをキャンバスにドラッグ&ドロップします。
4.出力データのlist xmlを右クリックしてスキーマを読み込むを選択します。
5. スキーマの読み込みでコンポーネントから選択を選択し、execute_http_get(RESTアダプタ)を選択します。
6. まずはファイルの取得条件を設定します。(青い線の部分です)
-ツールパレット→繰り返し→条件指定→条件による抽出をキャンバスにドラッグ&ドロップします。
-ツールパレット→文字列→基本→単一行文字列定数をキャンバスにドラッグ&ドロップし、fileを設定します。
-ツールパレット→条件→文字列→同じをキャンバスにドラッグ&ドロップし、図のように線をつないでいきます。ファイル名一覧取得コンポーネントでは指定するディレクトリ配下のディレクトリ名、ファイル名のすべてを取得しますので、この条件式で、ファイル名だけ取得することができるようになります。
7. 次にJSONフォーマットを指定します。(赤い線の部分です)
-ツールパレット→文字列→基本→単一行文字列定数をキャンバスにふたつドラッグ&ドロップし、取得したいJSONフォーマットの通りarrayとobjectを設定し、type属性につなぎます。
8. 最後に必要なカラム同士を結んでマッピング設定は完了です。 - あとは完成図の通り、
Startからendまで線を結んで、プロジェクトをサービスに登録したらスクリプトの作成は完了です。
- メニュー→
マイトリガーから新しいHTTPトリガーを作成します。
- ここでは実行パスを/filelistとしました。レスポンス設定のContent-Typeをapplication/jsonに設定します。 - 実行パスの設定が終わったら次へ進んで登録したサービスと紐付けます。

あとは保存したら終了です。
実行
生成されたURLに対してGETメソッドでファイルを送ってみます。
ここではDHCというChromeのプラグインを利用しています。
正しく取得できているようです。