2016-10-05 8 views
1

javascript SDKを使用してSplunkにクエリを実行しています。 searchParamsでは、出力モードを "json_rows"と指定しています。Splunk Javascript sdkからJSON形式でデータが届かない

var searchParams = { 
    exec_mode: "normal", 
    output_mode: "json_rows" 
}; 

出力を取得しても、私はJSON形式で取得しません。出力は配列として出力されます。

何が問題になりますか?私は "json_cols"と "json"だけを試しました。同じ結果。

ありがとうございます。

編集:コード

var service = new splunkjs.Service({ 
    username:"xxx", 
    password:"xxxx", 
    scheme:"https", 
    host:"xxxxxx.com", 
    port:"5500", 
    version:"5.0" 
    }); 

var searchQuery = 'search index=sn impact=1 OR impact=2 | eval time = round(strptime(impact_start,"%Y-%m-%d %H:%M:%S"), 0)| where time >= ' + 14334627 + ' AND time<=' + 14568862 + '| bucket time span=1d | stats values(number) as incident_name by time'; 
var searchParams = { 
    exec_mode: "normal", 
    output_mode: "JSON" 
}; 
service.oneshotSearch(
    searchQuery, 
    searchParams, 
    function(err, results) { 
     if (results) { 
      var incidentResp = {}; 
      incidentResp["data"] = results.rows; 
      incidentResp["error"] = null; 
      callback(null, incidentResp); 
      return; 
     } 
     else { 
      var errResp = {}; 
      errResp["data"] = null; 
      errResp["error"] =err; 
      callback(null, errResp); 
      return; 
     } 

    } 
); 
+1

あなたのコードをもっと表示できますか? – Shakeel

答えて

0

の2

いくつかのより多くの私はあなたが求めているものを100%わからないんだけど、私は助けてみましょう。

output_modeはちょうど通常、シリアライズして結果を返す方法をREST APIを伝えるいずれかのJSON、XML、またはCSV

、あなたのアプリケーションにデータをプルするためにJavaScript SDKを使用して、実際の結果を持っていない考えますファイルに書き込むと、そのまま残しておきます(JSONのデフォルト)

実際のデータは、レスポンスの「結果」に表示されます。

例えば、これに

incidentResp["data"] = results.rows;: 

service.oneshotSearch(query, params, 
    function(err, response) { 
     if (err) throw new Error (err); 
     console.log(response.results); 
}); 

この行を変更してみてください

incidentResp["data"] = results.results; 

...しかし、はい、これは、結果の配列になります。

希望します。

関連する問題