PentahoのREST Clientデータ変換ステップでGET
PentahoのREST Clientデータ変換ステップでREST APIに対してGETリクエストを行うための設定メモ。
おそらくサーバ側の問題だが、動作確認のために用意したSpring BootのRestControllerとやり取りするにはHTTPリクエスト・ヘッダーの設定が必要だった。
まずデータ変換の全体図を示しておく。末尾のExcel出力は単に結果確認のために置いているだけである:
次にこのデータ変換の作成の手順を示す:
①データ変換にCSV入力ステップを追加
②ステップ編集画面で[ファイル名]、[フィールド区切り文字]、[引用符]などを設定
今回は下記のような内容を持つCSVを用意した。ヘッダレコード+データレコード1行。画面幅の都合、左に90度転倒させている。WebブラウザでAPIにアクセスしたときに設定されていたヘッダー情報をそのままコピーしている。さすがにCookieの項目は乱暴すぎな気もしたが…:
Accept | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 | |
Accept-Encoding | gzip, deflate | |
Accept-Language | ja,en-US;q=0.7,en;q=0.3 | |
Cache-Control | max-age=0 | |
Connection | keep-alive | |
Cookie | JSESSIONID=2B65C4A2E7249613CAA3EDC50CE13211 | |
Host | localhost:8080 | |
User-Agent | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 |
③[フィールドを取得]をクリックして、CSVファイルからスキーマを読みこませフィールド一覧の定義を埋める
④REST Clientステップを追加し、①と接続
⑤ステップ編集画面で[URL]、[HTTPメソッド]、[アプリケーションタイプ]、[出力フィールド]セクションの3値などを適宜設定
⑥[ヘッダー]タブで[フィールド取得]を押下して③のスキーマ情報をこちらにもコピー
⑦JSON Inputステップを追加し、④と接続
⑧ステップ編集画面で[フィールドにソースを定義]や[フィールドからソースを取得]などを適宜設定
⑨[フィールド]タブでJSONのツリー構造をどのように行列構造に変換するかを定義する。[パス]列にはJSON PathというDSLを用いる。このDSLによりJSONのツリー構造を宣言的に行列構造に変換できる。
⑩最後にExcel出力ステップを追加して、⑦と接続(前述のとおり取得し、変換を終えたデータを確認するため)
⑪ステップ編集画面の[ファイル]タブで出力先のパスを適宜指定
⑫[フィールド]タブで[フィールドを取得]をクリックして、先ほど⑨で設定した情報をコピーする