Parameter context in NiFi
Parameters are created within parameter contexts. These contexts allow us to bind a set of configurations to any connector pipe at runtime. Parameter contexts bundle a group of related variables into a single context so that you can bind just that context to a connector pipe (top-level NiFi process group) at runtime.
Each parameter context contains the name-value pair as shown in figure (1). Values of
this parameter are populated from the environment variable set in NiFi. These are
the same environment variables previously used in the connector descriptor
definition. In the configuration details of the Process Group, you can check the
name of Parameter Context, which gets bound to the Process Group as shown in figure
(2). Parameters from the Parameter Context can be accessed with the
#
sign with the parameter name, for example,
#{parameterName}
as shown in figure (3).
- Figure (1)
In the top right corner menu, you can find the menu with the name Parameter Context, which will list all the parameter contexts.
- Figure (2)
- Figure (3)
Changes to the parameter context implementation
- The ingest connector description definition no longer includes the database
connection properties. The properties related to database connections are shown
below. These properties can still be used the same way as before. However, the
parameter context is recommended.
- .
- .
- .
- .
- .
- These properties are now converted into the parameter context as a name-value
parameter. There are two different parameter contexts for each Auth and Live
NiFi pipeline, namely:
- AUTH_JDBC_CONTEXT
- LIVE_JDBC_CONTEXT
In the NiFI UI, pipelines that begin with the auth and start with data load are assigned the AUTH_JDBC_CONTEXT parameter context. Pipelines that start with live and push-to-live are assigned LIVE_JDBC_CONTEXT.
- The Ingest service will create a parameter context on startup and assign the respective Parameter Context to the Process Group based on the environment type of pipeline.
- The connector descriptor definition has changed in Version 9.1.12.0.
- Before 9.1.12.0, it contained all the properties related to the Database connection.
- After 9.1.12.0, these Database connection properties
are read from the parameter context.Note: Before creating any new Process Group, ensure you have the two variables below populated with empty values at the Process Group level to avoid conflicts with the upgrade pipe version.