从此脚本中提取字段
Extracting a field from this script
我正在尝试使用 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);
}
});
}
);
我的想法是获取可变数组 'rows' 以便在这个片段 运行s 之后我可以说 运行 console.log(行).
在行下方添加 return 对我不起作用。
如果您只想全局访问 rows
,您可以在全局范围内声明 var rows;
并使用 rows = results.rows;
。只要您在作业中省略 var
关键字,您甚至不必真正声明它。
请注意,上述赋值是在异步回调中调用的;这意味着它可能不会在 service.search(...)
returns 之后立即执行。在某些情况下,异步函数可能会在函数 returns 之后很长时间才调用其回调。因此,如果您希望仅在操作完成后执行代码,put/call 回调中的代码。
我正在尝试使用 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);
}
});
}
);
我的想法是获取可变数组 'rows' 以便在这个片段 运行s 之后我可以说 运行 console.log(行).
在行下方添加 return 对我不起作用。
如果您只想全局访问 rows
,您可以在全局范围内声明 var rows;
并使用 rows = results.rows;
。只要您在作业中省略 var
关键字,您甚至不必真正声明它。
请注意,上述赋值是在异步回调中调用的;这意味着它可能不会在 service.search(...)
returns 之后立即执行。在某些情况下,异步函数可能会在函数 returns 之后很长时间才调用其回调。因此,如果您希望仅在操作完成后执行代码,put/call 回调中的代码。