我正在使用 Splunk 运行 ColdFusion。最初,我将搜索传递给 Splunk,它会返回一个工作 ID。然后我必须将该作业 ID 传递给 cfexecute 函数参数。例如,这就是我希望参数的外观:
arguments = "-u userid:password -k https://localhost:8089/services/search/jobs/1426104412.198/results/ --get -d output_mode=csv"
作业 ID 是“1426104412.198”,是第一步返回的内容。
这就是我设置 cfexecute 函数的方式,但我不相信作业 ID 正在传递给它。
首先,我构建了 URL,因为我必须在“job/”和 job id 之间删除一个虚假的空间。
<cfset args1="https://localhost:8089/services/search/jobs/<cfoutput>#jobid#</cfoutput>/results/">
<cfset args = reReplace(args1, "[[:space:]]", "", "ALL") />
之后,我像这样调用 cfexecute 函数:
<cfexecute name = "curl.exe"
arguments = "-u admin:changeme -k <cfoutput>#args#</cfoutput> --get -d output_mode=csv"
outputfile="C:\common\searchresults.csv"
timeout = "60">
</cfexecute>
我也试过这个,没有结果,我能想到的所有其他排列。
<cfexecute name = "curl.exe"
arguments = "-u admin:changeme -k " #args# " --get -d output_mode=csv"
outputfile="C:\common\searchresults.csv"
timeout = "60">
</cfexecute>
我可以输出 args 参数,可以看到它是正确的。如果我将 args 硬编码到 arguments 参数中,我会得到结果。但是当使用上面显示的示例时,我什么也没得到。
我相信 #args# 没有被传递,但我不知道如何显示该 arguments 参数。我已经使用 ColdFusion 工作了大约 8 个小时,所以我不知道的比我知道的要多得多。
那么我如何传递#args#
参数呢?