2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-11-13

#はじめに
DataSpiderサーバをテンポラリとして利用する方法のもうひとつの機能である、ファイルリストの取得を実装してみます。
処理としては非常に簡単で、ファイル名一覧取得コンポーネントを使って一覧を取得したあと、JSONフォーマットに置き換えるだけ。

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

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

#スクリプトの実装

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

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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?