Support Questions

## Nifi ExecuteStreamCommand literal question mark

New Contributor

I have a command that I would like to run using the execute stream command that has command parameters that locate raw data via a path and then specifies where the output of the command needs to go via a URI that takes the form

localdrive:\project\processing\projectfilename?Vessel=${vessel};Day=${julianday}

The question mark in this URI is a query where you specify some parameters that enable the command to look for other files with settings that are required for the command.

That question mark is being run as %3F which means the query fails and in turn the command fails.  I have tried everything to escape this including URL decode but I am completely stuck.  How do you use the literal ? in an execute stream command processor?

Here is an example input arg that I specify and the output error from the logattribute processor.

D:\in2016_e02\Processing\Caris\HDCS_Data\in2016_e02\in2016_e02.hips?Vessel=Investigator_em122;Day=2016-350'

URI file:///D:/in2016_e02/Processing/Caris/HDCS_Data/in2016_e02/in2016_e02.hips%3FVessel=Investigator_em122;Day=2016-350. No query specified.
You must specify the Vessel to be used, and optionally the Day

## Re: Nifi ExecuteStreamCommand literal question mark

Expert Contributor

Not sure if I understand correctly, but it seems like you are trying to pass a path and parameters in 1 place, where Nifi did not expect this.

If this is the case you should be able to work around it by actually referring to a script with the path, and adding the parameters in/as an addition to the command arguments.

If your current script cannot handle this, you can consider to create a thin wrapper around it.

- Dennis Jaheruddin

If this answer helped, please mark it as 'solved' and/or if it is valuable for future readers please apply 'kudos'. Also check out my techincal portfolio at https://portfolio.jaheruddin.nl
Don't have an account?
Announcements
Product Announcements
What's New @ Cloudera