もちろん、レスポンスで返ってきたJSONを何とかするというのがシンプルかと思いますが、
連携先のシステムが何で、どういう連携をしたいのかによって、選べる手段も変わってくるかと思います。
今回は、それが明らかでないので、3つほど他のアプローチを紹介してみます。
- Elasticsearch SQLを使う
詳細は上のページに書いてありますが、フォーマットをCSVやTSVに指定することができます。
json以外のデータ取得方法が欲しいという場合は、この方法も検討できるかと思います。
例えば、このような感じです。
POST forum0920/_doc/1
{
"field1": "hoge",
"field2": "bar",
"field3": "fuga"
}
POST _sql?format=tsv
{
"query": """
SELECT * FROM forum0920
"""
}
SELECTで取得する列名を具体的に書いてやれば、不要なフィールドも削ることができます。
POST _sql?format=tsv
{
"query": """
select
field1 as "フィールド1",
field2 as "フィールド2"
FROM forum0920
"""
}
- LogstashのInputにElasticsearchを指定する
特定のインデックスに検索クエリを投げて、結果に対して何か(AWS S3に置く、ファイルに出力するなどなど)する場合には検討できるかもしれません。
- 外部のツールと連携させる
CDataと何か他のETLツールを組み合わせるアプローチもあるかもしれません。
(参考)
ご参考になれば幸いです。