在Apache NiFi中,可以使用ExecuteStreamCommand处理器执行流命令。要删除双引号并传递参数,可以使用Groovy脚本来实现。
以下是一个示例流程:
/path/to/script.sh arg1 "arg2"
。scriptArgs
。"${scriptArgs.replace("\"", "")}"
。这里使用了Groovy的replace
方法来删除双引号。
完整的示例代码如下:
def flowFile = session.get()
if (flowFile) {
def commandArgs = flowFile.getAttribute('scriptArgs')
def processedArgs = commandArgs.replace("\"", "")
flowFile = session.putAttribute(flowFile, 'processedScriptArgs', processedArgs)
session.transfer(flowFile, REL_SUCCESS)
}
在上述示例中,首先从流文件中获取属性scriptArgs
的值,然后使用replace
方法删除其中的双引号。最后,将处理后的参数值存储在属性processedScriptArgs
中,并将流文件传递到下一个处理器。
注意:在使用Groovy脚本时,需要确保已经在NiFi中安装了Groovy插件。