I've just released version 1.2.0 of the nifi-script-tester, a utility that lets you test your Groovy, Jython, and Javascript scripts for use in the NiFi ExecuteScript processor. Here are the new features:
- Upgraded code to NiFi 1.4.0
- Added support for incoming flow file attributes
For the first point, there was a lot of refactor done in the NiFi Scripting NAR in order to reuse code across various scripting components in NiFi, such as processors, controller services, record readers/writers, and reporting tasks. Getting the codebase up to date will allow me to add new features such as the ability to test RecordReader/Writer scripts, ScriptedReportingTask scripts, etc.
For the second point, I'd been asked to add that support for a while so I finally got around to it :) There is now a new switch "attrfile" that lets you point to a Java properties file. These properties will be added to each flow file (whether coming from STDIN or the inputdir switch). In the future I hope to add support for Expression Language, and perhaps figure out a way to specify a set of attributes per incoming flow file (rather than reusing one set for all, whether that set supports EL or not). The code is Apache-licensed and on GitHub, I welcome any pull requests :)
Here is the new usage info:
Usage: java -jar nifi-script-tester-<version>-all.jar [options] <script file>
Where options may include:
-success Output information about flow files that were transferred to the success relationship. Defaults to true
-failure Output information about flow files that were transferred to the failure relationship. Defaults to false
-no-success Do not output information about flow files that were transferred to the success relationship. Defaults to false
-content Output flow file contents. Defaults to false
-attrs Output flow file attributes. Defaults to false
-all-rels Output information about flow files that were transferred to any relationship. Defaults to false
-all Output content, attributes, etc. about flow files that were transferred to any relationship. Defaults to false
-input=<directory> Send each file in the specified directory as a flow file to the script
-modules=<paths> Comma-separated list of paths (files or directories) containing script modules/JARs
-attrfile=<paths> Path to a properties file specifying attributes to add to incoming flow files.
If anyone gives this a try, please let me know how/if it works for you. As always, I welcome all questions, comments, and suggestions. Cheers!
No comments:
Post a Comment