[ 
https://issues.apache.org/jira/browse/NIFI-11627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17771313#comment-17771313
 ] 

Chuck Tilly commented on NIFI-11627:
------------------------------------

Hi [~markap14] 
{quote}Making use of a Controller Service would work well. We could have a 
Controller Service that allows user-added properties where the values are JSON 
Schemas, and then allow ValidateJson to be configured with a Controller Service 
and take in the name of the schema, which would allow for Expression Language 
to be used. So I believe that would give you exactly what you're looking for, 
[~nwchuckster], no?
{quote}
Absolutely!!!  That would be fantastic.  Of course that is my preference so I 
look forward to that.

 
{quote}...you cannot use Expression Language within a Parameter Context because 
parameters' values are resolved before the processor ever even has access to 
the property value. So, if you were to enter  #\{${schema.name}} what would 
happen is that NiFi would resolve that to a parameter named ${schema.name} and 
the processor would be invalid, before it ever had any chance to even evaluate 
Expression Language.
{quote}
My experience is that you can use them together with the UpdateAttribute 
processor where I use this technique in several places.  For example I use the 
following expression in an UpdateAttribute rule to dynamically generate the 
correct URL string as an attribute for each flowfile. 

{color:#0747a6}{{${#\{'Toadol End Point Service'}:evaluateELString()}}}{color}

 
{quote}There are security policies that guard who is allow to reference 
parameters, etc. and allowing dynamic creation of parameter names would violate 
the security constraints.
{quote}
I was not aware of this.  Is this true even if this process is contained in its 
own process group with its own parameter context specific to only this context?

 

 

 

 

> Add Dynamic Schema References to ValidateJSON Processor
> -------------------------------------------------------
>
>                 Key: NIFI-11627
>                 URL: https://issues.apache.org/jira/browse/NIFI-11627
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 1.19.1
>            Reporter: Chuck Tilly
>            Assignee: Daniel Stieglitz
>            Priority: Major
>
> For the ValidateJSON processor, add support for flowfile attribute references 
> that will allow for a JSON schema located in the Parameter Contexts, to be 
> referenced dynamically based on a flowfile attribute. e.g. 
> {code:java}
> #{${schema.name}} {code}
>  
> The benefits of adding support for attribute references are significant.  
> Adding this capability will allow a single processor to be used for all JSON 
> schema validation.  Unfortunately, the current version of this processor 
> requires a dedicated processor for every schema, i.e. 12 schemas requires 12 
> ValidateJSON processors.  This is very laborious to construct and maintain, 
> and resource expensive.  
> ValidateJSON processor (https://issues.apache.org/jira/browse/NIFI-7392)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to