#はじめに
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のプラグインを利用しています。
正しく取得できているようです。