我正在使用Splunk运行ColdFusion。最初我将搜索传递给Splunk并返回作业ID。然后我必须将该job 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 /"之间删除一个虚假的空间。和工作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#没有被传递,但我不知道如何显示参数。我和ColdFusion一起工作了大约8个小时,所以我知道的事情比我知道的要多得多。
那么如何将#args#传递给参数?