从此脚本中提取字段

时间:2016-08-03 07:33:33

标签: javascript sdk splunk

我正在尝试使用splunk javascript SDK(找到here)来使用此给定代码段中的字段:

// Search everything and return the first 100 results
var searchQuery = "search * | head 100";

// Set the search parameters
var searchParams = {
  exec_mode: "normal",
  earliest_time: "2012-06-20T16:27:43.000-07:00"
};

// Run a normal search that immediately returns the job's SID
service.search(
  searchQuery,
  searchParams,
  function(err, job) {

    // Display the job's search ID
    console.log("Job SID: ", job.sid);

    // Poll the status of the search job
    job.track({period: 200}, {
      done: function(job) {
        console.log("Done!");
        // Get the results and print them
        job.results({}, function(err, results, job) {
          var rows = results.rows;
         //I want the 'rows' array
        });

      },
      failed: function(job) {
        console.log("Job failed")
      },
      error: function(err) {
        done(err);
      }
    });

  }
);

我们的想法是获取数组可变的“行”,以便在此代码段运行后,我可以运行console.log(行)。

在行下方添加一个返回对我来说不起作用。

1 个答案:

答案 0 :(得分:0)

如果您只想全局访问rows,可以在全局范围内声明var rows;并使用rows = results.rows;。只要您在作业中省略var关键字,就不必真正声明它。

注意,虽然在异步回调中调用了所述赋值;这意味着它可能在service.search(...)返回后立即执行。在某些情况下,异步函数可能会在函数返回后很长时间调用它们的回调。因此,如果您希望仅在操作完成后执行代码,请将该代码放入/调用回调内。