Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

InvokeScriptedProcessor - Can't get sensitive context parameter value from sensitive properties

avatar
New Contributor

Hi everyone,

 

I have a issue on Nifi 1.15.3 InvokeScriptedProcessor (Groovy), I set a custom property in sensitive in my processor, put for value a context parameter which is sensitive too, but when i'm trying to context.getProperty, it return the expression #{blahblah} instead of the value.
This problem is "new", the flow was working, and one day, the token from sensitive value was not evaluated anymore...

 

My property declaration :

def externalRequestTokenDescriptor = new PropertyDescriptor.Builder().name("External request token")
        .description("External request token")
        .required(true)
        .sensitive(true)
        .addValidator(Validator.VALID)
        .expressionLanguageSupported(true)
        .build();


Context param setup : 
NRU_0-1671095101551.png


Sensitive property setup : 

NRU_1-1671095166459.pngNRU_2-1671095194794.png

 

How i get the property :

context.getProperty("External request token").getValue();
(Add .evaluateAttributeExpressions(flowFile) do nothing)
 
And when i want to use (or put in attribute for debug only) the value, it's not "Bonjour", but #{env.genm006.api.externalRequestToken}, not evaluated.
NRU_3-1671095369423.png

 

It's not the first time I have trouble with sensitive property (It block reboot of Nifi 1.12 for example) but right now I'm stuck...

 

Thanks by advance

1 REPLY 1

avatar
Super Collaborator

Should look more like this:

context.getProperty(externalRequestTokenDescriptor).evaluateAttributeExpressions().getValue()