• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 31471
  • 公開日時 : 2020/03/18 16:26
  • 更新日時 : 2020/04/13 14:15
  • 印刷

DataSpider活用事例 ~【DataSpider】HTTPトリガーでJSONデータを返す~

HTTPトリガーを使用して外部の連携先へJSONデータを返したい。
カテゴリー : 

回答

HTTPトリガーを使用して外部の連携先へJSONデータを返す場合は、「JSON形式のデータ変換」規則にしたがって、データを加工してスクリプトのXML型出力変数へ設定する必要があります。 
 
例として、CSVファイルからデータを読み取り、JSONのArray型やObject型を使用したデータを返します。
 
■読み込むCSVファイルのイメージ
 
■期待する出力結果のイメージ
 
■スクリプトの実装例

1. まずは、XML型の出力変数を追加します。
 
2. 以下のように、処理アイコンを配置して各フローを接続します。
 
MapperにてJSON用XMLデータへ変換します。また、XML型の出力変数は「End」アイコンへデータフローを引くことで設定します。
 
3. Mapperエディターを開き、出力側のスキーマを作成します。
 

要素としては<root>,<status>,<users>,<user>,<id>,<name>,<points>となります。
それぞれの要素にある「type」は「属性」となります。
※ <status>は固定値を出力する場合の例となります。
なお、事前にXMLファイルとしてスキーマを作成して「スキーマの読み込み」から設定することも可能です。
※ type属性などの値はMapper上で設定する必要があります。
 
4. 入力元のcsvデータを出力先の要素へ接続します。
 
5.新しいレイヤーを追加し、JSON用の「type」を設定します。(レイヤー追加は必須ではありません)
 
「単一行文字列定数」ロジックで「array」「object」「number」「string」を定義し、<root>,<user>は「object」、<status>,<points>は「number」、<users>は「array」、<id>,<name>は「string」とマッピングします。
 
以上で、スクリプト側の実装は完了です。
 
なお、Mapperが出力する内容を「データログ出力(XML型)」処理を使用して、実行ログに出力した結果は以下のようなXMLとなります。
 
6. HTTPトリガーを作成します。
 
「レスポンス設定」の「Content-Type」として「application/json」を選択します。
 
7. HTTPトリガーの実行時の設定をします。
 
JSONへ変換用のXML型変数の値に${trigger.outputData}を設定して、トリガーの作成を完了します。
 
8. ブラウザ等からトリガーのURLへアクセスし、下記の通り期待した結果が得られます。
 
 
■参考
 
 JSONデータへの変換規則の詳細

 ・[運用ツール] – [トリガー] – [HTTPトリガー]
 
 Mapper の使用方法

 ・[Mapper] – [ドキュメントMapper] – [基本機能]
 
Version Information : 
Ver.3.2、Ver.4.0、Ver.4.1、Ver.4.2