Referencing parameters in CEM
Learn how to reference parameters using the Edge Flow Manager (EFM) UI in Cloudera Edge Management (CEM).
To configure an eligible property to reference a parameter, use the
#
symbol
as the start, with the name of the parameter enclosed in curly
braces:#{Parameter.Name}
This can be escaped using an additional
#
character at the beginning. To
illustrate this, assume that the parameter abc
has a value of
xxx
and parameter def
has a value of yyy
.
Then, the following user-defined property values will evaluate to these effective values:User-Entered Literal Property Value | Effective Property Value | Explanation |
---|---|---|
#{abc} |
xxx |
Simple substitution |
#{abc}/data |
xxx/data |
Simple substitution with additional literal data |
#{abc}/#{def} |
xxx/yyy |
Multiple substitution with additional literal data |
#{abc |
#{abc |
No { } for parameter replacement |
#abc |
#abc |
No { } for parameter replacement |
##{abc} |
#{abc} |
Escaped # for literal interpretation |
###{abc} |
#xxx |
Escaped # for literal interpretation, followed by simple substitution |
####{abc} |
##{abc} |
Escaped # for literal interpretation, twice |
#####{abc} |
##xxx |
Escaped # for literal interpretation, twice, followed by simple substitution |
#{abc/data} |
Exception thrown on property set operation | / not a valid parameter name character |
When referencing a parameter from within expression language, the parameter reference is
evaluated first. As an example, to replace
xxx
with zzz
for the
abc
parameter:${ #{abc}:replace('xxx', 'zzz') }