DataSpiderを使ってMicrosoft Cognitive ServicesのEmotion APIを呼び出す

#Microsoft Cognitive ServicesのEmotion APIとは
以下、[人工知能パーツ Microsoft Cognitive Services を使った表情分析アプリを作ろう！ (Emotion API × JavaScript 編)](http://qiita.com/annie/items/96b37ef94885510c1b6b#microsoft-cognitive-services-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E8%A1%A8%E6%83%85%E5%88%86%E6%9E%90-web-%E3%82%A2%E3%83%97%E3%83%AA)より抜粋
>Microsoft Cognitive Services は 画像、文章、言語、情報を処理する機能を API 経由で利用できるサービスです。
Cognitive Services の一つである Emotion API では、画像を分析して人間の顔やその表情を数値化し、結果を JSON 形式で取得することができます。

#やりたいこと
Emotion APIをDataSpiderのRESTアダプタを利用して取得してみます。

#事前準備
まずはAPIを利用できるようにします。以下の手順を実施して`サブスクリプションキー`を取得しておきます。

- [Cognitive Services サブスクリプション](http://qiita.com/annie/items/96b37ef94885510c1b6b#cognitive-services-%E3%82%B5%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3)

#DataSpiderを使って実装します。

##APIの確認
　1.Congnitive Servicesから[Emotion API](https://dev.projectoxford.ai/docs/services/5639d931ca73072154c1ce89/operations/563b31ea778daf121cc3a5fa)のリファレンスを表示します。
![image](https://qiita-image-store.s3.amazonaws.com/0/35843/42e8f911-e27c-7bbd-79b1-69a88045455b.png)

　2.API Referenceが表示されたら、![image](https://qiita-image-store.s3.amazonaws.com/0/35843/e1b90a11-aaf7-843f-b6a8-e4b0e1273063.png)をクリックするとブラウザ上から簡単にリクエストのテストができる環境が表示されます。とても便利ですね。

　3.以下の情報はDataSpiderで実装するときに利用するのでコピーしておきます。
　- Headers
　　- Content-Type
　　- Ocp-Apim-Subscription-Key
　- Request Body
    　　- bodyをコピーして適当な名前で保存しておくと便利です。
    　　- 例）test.json
　- Request URL
　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/0f7116cd-8e94-9021-9c42-809825998143.png)

##グローバルリソースの作成
　1.`コントロールパネル`のメニューバーから`ファイル`→`新規グローバルリソース作成`を選択
　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/1c56539e-afe7-7453-0904-569e177cf68e.png)

　2.`ネットワーク`から`REST`を選択
　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/cce3f397-578f-fa91-9bac-eabacd42bfb4.png)

　3.URLにさきほどの`Request URL`を設定し、接続テストをしてみてください。
　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/be88de65-a44a-2319-5826-c9cde59980af.png)
　
　これでグローバルリソースの作成は完了です。

##RESTアダプタの設定
デザイナを立ち上げて処理を作成します。
　1.HTTP requestにPOSTメソッドだと記載があるので、ツールパレットから`POST実行`をドラッグしてキャンパス上に貼り付けます。
　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/7b502c92-f80c-62a2-a925-65f5eddf09ec.png)
　
　2.設定画面が表示されるので順次設定をしていきます。
　　- `必須設定`タブの接続先に先程作成したグローバルリソース名を選択
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/df95d8f3-cfce-a0d5-5f60-3faec36c3f02.png)

　　- `リクエスト設定`タブのデータ形式を`JSON`に設定し、`JSONファイルを指定してスキーマを設定`をクリックして先程作成したjsonファイル（test.json）を指定
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/72180b9a-7674-4fc0-8da0-f55aee4d83dc.png)

　　- 今回は暫定的にファイル出力とするので`レスポンス設定`タブの`データ出力先`をファイルにしてファイルパスを指定します。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/8b62bb5b-2959-0a41-96df-650b41acfd67.png)

　　- `ヘッダ設定`タブのリクエストヘッダをふたつ追加して値を設定します。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/b0ba8b9e-1ed0-e858-5f96-050360661ac1.png)

　　RESTアダプタの設定はこれで完了です。

　3.マッパーを使ってRequest bodyの値を設定します。
　　- `ツールパレット`→`変換`→`基本`→`マッピング`をキャンバス上にドラッグします。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/1e431048-e86c-cf87-e96b-ee260d4e9efe.png)
　
　　- マッパーを開いて`ツールパレット`→`基本`→`単一行文字列定数`をキャンバスにドラッグします。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/dea5dac0-860f-de3e-384c-bb251ab75d5a.png)

　　- `単一行文字列定数`に画像URLを設定して、出力スキーマの`url`までドラッグしたら設定は完了です。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/32972dfc-8de5-a9e4-85a0-b27625a96e7d.png)

　4.`Start`から`End`まで線を引いたら完了です。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/964cc265-95a6-781b-d407-4f7726b11bfa.png)

　5.実行して取得されたファイルを確認します。
　　- デバッグ実行ボタンをクリック
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/b71c74a5-25ec-4e53-71eb-b554c17acc55.png)

　　- `エクスプローラ`から出力ファイルを確認すると正しく値が取得されていることがわかります。
　　![image](https://qiita-image-store.s3.amazonaws.com/0/35843/3b49babd-aacc-377f-0ce6-2f74d31cd39a.png)

#最後に
今回はファイルに出力していますが、もちろんデータとして取得しそのままダイレクトに別のサービスをコールするための値として利用することも可能です。