-
Processors
- AttributeRollingWindow
- AttributesToCSV
- AttributesToJSON
- CalculateRecordStats
- CaptureChangeMySQL
- CompressContent
- ConnectWebSocket
- ConsumeAMQP
- ConsumeAzureEventHub
- ConsumeElasticsearch
- ConsumeGCPubSub
- ConsumeIMAP
- ConsumeJMS
- ConsumeKafka
- ConsumeKinesisStream
- ConsumeMQTT
- ConsumePOP3
- ConsumeSlack
- ConsumeTwitter
- ConsumeWindowsEventLog
- ControlRate
- ConvertCharacterSet
- ConvertRecord
- CopyAzureBlobStorage_v12
- CopyS3Object
- CountText
- CryptographicHashContent
- DebugFlow
- DecryptContentAge
- DecryptContentPGP
- DeduplicateRecord
- DeleteAzureBlobStorage_v12
- DeleteAzureDataLakeStorage
- DeleteByQueryElasticsearch
- DeleteDynamoDB
- DeleteFile
- DeleteGCSObject
- DeleteGridFS
- DeleteMongo
- DeleteS3Object
- DeleteSFTP
- DeleteSQS
- DetectDuplicate
- DistributeLoad
- DuplicateFlowFile
- EncodeContent
- EncryptContentAge
- EncryptContentPGP
- EnforceOrder
- EvaluateJsonPath
- EvaluateXPath
- EvaluateXQuery
- ExecuteGroovyScript
- ExecuteProcess
- ExecuteScript
- ExecuteSQL
- ExecuteSQLRecord
- ExecuteStreamCommand
- ExtractAvroMetadata
- ExtractEmailAttachments
- ExtractEmailHeaders
- ExtractGrok
- ExtractHL7Attributes
- ExtractRecordSchema
- ExtractText
- FetchAzureBlobStorage_v12
- FetchAzureDataLakeStorage
- FetchBoxFile
- FetchDistributedMapCache
- FetchDropbox
- FetchFile
- FetchFTP
- FetchGCSObject
- FetchGoogleDrive
- FetchGridFS
- FetchS3Object
- FetchSFTP
- FetchSmb
- FilterAttribute
- FlattenJson
- ForkEnrichment
- ForkRecord
- GenerateFlowFile
- GenerateRecord
- GenerateTableFetch
- GeoEnrichIP
- GeoEnrichIPRecord
- GeohashRecord
- GetAsanaObject
- GetAwsPollyJobStatus
- GetAwsTextractJobStatus
- GetAwsTranscribeJobStatus
- GetAwsTranslateJobStatus
- GetAzureEventHub
- GetAzureQueueStorage_v12
- GetDynamoDB
- GetElasticsearch
- GetFile
- GetFTP
- GetGcpVisionAnnotateFilesOperationStatus
- GetGcpVisionAnnotateImagesOperationStatus
- GetHubSpot
- GetMongo
- GetMongoRecord
- GetS3ObjectMetadata
- GetSFTP
- GetShopify
- GetSmbFile
- GetSNMP
- GetSplunk
- GetSQS
- GetWorkdayReport
- GetZendesk
- HandleHttpRequest
- HandleHttpResponse
- IdentifyMimeType
- InvokeHTTP
- InvokeScriptedProcessor
- ISPEnrichIP
- JoinEnrichment
- JoltTransformJSON
- JoltTransformRecord
- JSLTTransformJSON
- JsonQueryElasticsearch
- ListAzureBlobStorage_v12
- ListAzureDataLakeStorage
- ListBoxFile
- ListDatabaseTables
- ListDropbox
- ListenFTP
- ListenHTTP
- ListenOTLP
- ListenSlack
- ListenSyslog
- ListenTCP
- ListenTrapSNMP
- ListenUDP
- ListenUDPRecord
- ListenWebSocket
- ListFile
- ListFTP
- ListGCSBucket
- ListGoogleDrive
- ListS3
- ListSFTP
- ListSmb
- LogAttribute
- LogMessage
- LookupAttribute
- LookupRecord
- MergeContent
- MergeRecord
- ModifyBytes
- ModifyCompression
- MonitorActivity
- MoveAzureDataLakeStorage
- Notify
- PackageFlowFile
- PaginatedJsonQueryElasticsearch
- ParseEvtx
- ParseNetflowv5
- ParseSyslog
- ParseSyslog5424
- PartitionRecord
- PublishAMQP
- PublishGCPubSub
- PublishJMS
- PublishKafka
- PublishMQTT
- PublishSlack
- PutAzureBlobStorage_v12
- PutAzureCosmosDBRecord
- PutAzureDataExplorer
- PutAzureDataLakeStorage
- PutAzureEventHub
- PutAzureQueueStorage_v12
- PutBigQuery
- PutBoxFile
- PutCloudWatchMetric
- PutDatabaseRecord
- PutDistributedMapCache
- PutDropbox
- PutDynamoDB
- PutDynamoDBRecord
- PutElasticsearchJson
- PutElasticsearchRecord
- PutEmail
- PutFile
- PutFTP
- PutGCSObject
- PutGoogleDrive
- PutGridFS
- PutKinesisFirehose
- PutKinesisStream
- PutLambda
- PutMongo
- PutMongoBulkOperations
- PutMongoRecord
- PutRecord
- PutRedisHashRecord
- PutS3Object
- PutSalesforceObject
- PutSFTP
- PutSmbFile
- PutSNS
- PutSplunk
- PutSplunkHTTP
- PutSQL
- PutSQS
- PutSyslog
- PutTCP
- PutUDP
- PutWebSocket
- PutZendeskTicket
- QueryAirtableTable
- QueryAzureDataExplorer
- QueryDatabaseTable
- QueryDatabaseTableRecord
- QueryRecord
- QuerySalesforceObject
- QuerySplunkIndexingStatus
- RemoveRecordField
- RenameRecordField
- ReplaceText
- ReplaceTextWithMapping
- RetryFlowFile
- RouteHL7
- RouteOnAttribute
- RouteOnContent
- RouteText
- RunMongoAggregation
- SampleRecord
- ScanAttribute
- ScanContent
- ScriptedFilterRecord
- ScriptedPartitionRecord
- ScriptedTransformRecord
- ScriptedValidateRecord
- SearchElasticsearch
- SegmentContent
- SendTrapSNMP
- SetSNMP
- SignContentPGP
- SplitAvro
- SplitContent
- SplitExcel
- SplitJson
- SplitPCAP
- SplitRecord
- SplitText
- SplitXml
- StartAwsPollyJob
- StartAwsTextractJob
- StartAwsTranscribeJob
- StartAwsTranslateJob
- StartGcpVisionAnnotateFilesOperation
- StartGcpVisionAnnotateImagesOperation
- TagS3Object
- TailFile
- TransformXml
- UnpackContent
- UpdateAttribute
- UpdateByQueryElasticsearch
- UpdateCounter
- UpdateDatabaseTable
- UpdateRecord
- ValidateCsv
- ValidateJson
- ValidateRecord
- ValidateXml
- VerifyContentMAC
- VerifyContentPGP
- Wait
-
Controller Services
- ADLSCredentialsControllerService
- ADLSCredentialsControllerServiceLookup
- AmazonGlueSchemaRegistry
- ApicurioSchemaRegistry
- AvroReader
- AvroRecordSetWriter
- AvroSchemaRegistry
- AWSCredentialsProviderControllerService
- AzureBlobStorageFileResourceService
- AzureCosmosDBClientService
- AzureDataLakeStorageFileResourceService
- AzureEventHubRecordSink
- AzureStorageCredentialsControllerService_v12
- AzureStorageCredentialsControllerServiceLookup_v12
- CEFReader
- ConfluentEncodedSchemaReferenceReader
- ConfluentEncodedSchemaReferenceWriter
- ConfluentSchemaRegistry
- CSVReader
- CSVRecordLookupService
- CSVRecordSetWriter
- DatabaseRecordLookupService
- DatabaseRecordSink
- DatabaseTableSchemaRegistry
- DBCPConnectionPool
- DBCPConnectionPoolLookup
- DistributedMapCacheLookupService
- ElasticSearchClientServiceImpl
- ElasticSearchLookupService
- ElasticSearchStringLookupService
- EmailRecordSink
- EmbeddedHazelcastCacheManager
- ExcelReader
- ExternalHazelcastCacheManager
- FreeFormTextRecordSetWriter
- GCPCredentialsControllerService
- GCSFileResourceService
- GrokReader
- HazelcastMapCacheClient
- HikariCPConnectionPool
- HttpRecordSink
- IPLookupService
- JettyWebSocketClient
- JettyWebSocketServer
- JMSConnectionFactoryProvider
- JndiJmsConnectionFactoryProvider
- JsonConfigBasedBoxClientService
- JsonPathReader
- JsonRecordSetWriter
- JsonTreeReader
- Kafka3ConnectionService
- KerberosKeytabUserService
- KerberosPasswordUserService
- KerberosTicketCacheUserService
- LoggingRecordSink
- MapCacheClientService
- MapCacheServer
- MongoDBControllerService
- MongoDBLookupService
- PropertiesFileLookupService
- ProtobufReader
- ReaderLookup
- RecordSetWriterLookup
- RecordSinkServiceLookup
- RedisConnectionPoolService
- RedisDistributedMapCacheClientService
- RestLookupService
- S3FileResourceService
- ScriptedLookupService
- ScriptedReader
- ScriptedRecordSetWriter
- ScriptedRecordSink
- SetCacheClientService
- SetCacheServer
- SimpleCsvFileLookupService
- SimpleDatabaseLookupService
- SimpleKeyValueLookupService
- SimpleRedisDistributedMapCacheClientService
- SimpleScriptedLookupService
- SiteToSiteReportingRecordSink
- SlackRecordSink
- SmbjClientProviderService
- StandardAsanaClientProviderService
- StandardAzureCredentialsControllerService
- StandardDropboxCredentialService
- StandardFileResourceService
- StandardHashiCorpVaultClientService
- StandardHttpContextMap
- StandardJsonSchemaRegistry
- StandardKustoIngestService
- StandardKustoQueryService
- StandardOauth2AccessTokenProvider
- StandardPGPPrivateKeyService
- StandardPGPPublicKeyService
- StandardPrivateKeyService
- StandardProxyConfigurationService
- StandardRestrictedSSLContextService
- StandardS3EncryptionService
- StandardSSLContextService
- StandardWebClientServiceProvider
- Syslog5424Reader
- SyslogReader
- UDPEventRecordSink
- VolatileSchemaCache
- WindowsEventLogReader
- XMLFileLookupService
- XMLReader
- XMLRecordSetWriter
- YamlTreeReader
- ZendeskRecordSink
DatabaseParameterProvider 2.0.0
- Bundle
- org.apache.nifi | nifi-standard-nar
- Description
- Fetches parameters from database tables
- Tags
- database, dbcp, sql
- Input Requirement
- Supports Sensitive Dynamic Properties
- false
-
Additional Details for DatabaseParameterProvider 2.0.0
DatabaseParameterProvider
Providing Parameters from a Database
The DatabaseParameterProvider at its core maps database rows to Parameters, specified by a Parameter Name Column and Parameter Value Column. The Parameter Group name must also be accounted for, and may be specified in different ways using the Parameter Grouping Strategy.
Before discussing the actual configuration, note that in some databases, the words ‘PARAMETER’, ‘PARAMETERS’, ‘GROUP’, and even ‘VALUE’ are reserved words. If you choose a column name that is a reserved word in the database you are using, make sure to quote it per the database documentation.
Also note that you should use the preferred table name and column name case for your database. For example, Postgres prefers lowercase table and column names, while Oracle prefers capitalized ones. Choosing the appropriate case can avoid unexpected issues in configuring your DatabaseParameterProvider.
The default configuration uses a fully column-based approach, with the Parameter Group Name also specified by columns in the same table. An example of a table using this configuration would be:
PARAMETER_CONTEXTS
PARAMETER_NAME PARAMETER_VALUE PARAMETER_GROUP param.foo value-foo group_1 param.bar value-bar group_1 param.one value-one group_2 param.two value-two group_2 Table 1: Database table example with Grouping Strategy = Column
In order to use the data from this table, set the following Properties:
- Parameter Grouping Strategy - Column
- Table Name - PARAMETER_CONTEXTS
- Parameter Name Column - PARAMETER_NAME
- Parameter Value Column - PARAMETER_VALUE
- Parameter Group Name Column - PARAMETER_GROUP
Once fetched, the parameters in this example will look like this:
Parameter Group group_1:
- param.foo - value-foo
- param.bar - value-bar
Parameter Group group_2:
- param.one - value-one
- param.two - value-two
Grouping Strategy
The default Grouping Strategy is by Column, which allows you to specify the parameter Group name explicitly in the Parameter Group Column. Note that if the value in this column is NULL, an exception will be thrown.
The other Grouping Strategy is by Table, which maps each table to a Parameter Group and sets the Parameter Group Name to the table name. In this Grouping Strategy, the Parameter Group Column is not used. An example configuration using this strategy would be:
- Parameter Grouping Strategy - Table
- Table Names - KAFKA, S3
- Parameter Name Column - PARAMETER_NAME
- Parameter Value Column - PARAMETER_VALUE
An example of some tables that may be used with this strategy:
KAFKA
PARAMETER_NAME PARAMETER_VALUE brokers http://localhost:9092 topic my-topic password my-password Table 2: ‘KAFKA’ Database table example with Grouping Strategy = Table
S3
PARAMETER_NAME PARAMETER_VALUE bucket my-bucket secret.access.key my-key Table 3: ‘S3’ Database table example with Grouping Strategy = Table
Once fetched, the parameters in this example will look like this:
Parameter Group KAFKA:
- brokers - http://localhost:9092
- topic - my-topic
- password - my-password
Parameter Group S3:
- bucket - my-bucket
- secret.access.key - my-key
Filtering rows
If you need to include only some rows in a table as parameters, you can use the ‘SQL WHERE clause’ property. An example of this is as follows:
- Parameter Grouping Strategy - Table
- Table Names - KAFKA, S3
- Parameter Name Column - PARAMETER_NAME
- Parameter Value Column - PARAMETER_VALUE
- SQL WHERE clause - OTHER_COLUMN = ‘my-parameters’
Here we are assuming there is another column, ‘OTHER_COLUMN’ in both the KAFKA and S3 tables. Only rows whose ' OTHER_COLUMN’ value is ‘my-parameters’ will then be fetched from these tables.
-
Database Type
The type/flavor of database, used for generating database-specific code. In many cases the Generic type should suffice, but some databases (such as Oracle) require custom SQL clauses.
- Display Name
- Database Type
- Description
- The type/flavor of database, used for generating database-specific code. In many cases the Generic type should suffice, but some databases (such as Oracle) require custom SQL clauses.
- API Name
- db-type
- Default Value
- Generic
- Allowable Values
-
- Generic
- Oracle
- Oracle 12+
- MS SQL 2012+
- MS SQL 2008
- MySQL
- PostgreSQL
- Phoenix
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Database Connection Pooling Service
The Controller Service that is used to obtain a connection to the database.
- Display Name
- Database Connection Pooling Service
- Description
- The Controller Service that is used to obtain a connection to the database.
- API Name
- dbcp-service
- Service Interface
- org.apache.nifi.dbcp.DBCPService
- Service Implementations
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Parameter Group Name Column
The name of a column containing the name of the parameter group into which the parameter should be mapped.
- Display Name
- Parameter Group Name Column
- Description
- The name of a column containing the name of the parameter group into which the parameter should be mapped.
- API Name
- parameter-group-name-column
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
- Dependencies
-
- Parameter Grouping Strategy is set to any of [grouping-by-column]
-
Parameter Grouping Strategy
The strategy used to group parameters.
- Display Name
- Parameter Grouping Strategy
- Description
- The strategy used to group parameters.
- API Name
- parameter-grouping-strategy
- Default Value
- grouping-by-column
- Allowable Values
-
- Column
- Table Name
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Parameter Name Column
The name of a column containing the parameter name.
- Display Name
- Parameter Name Column
- Description
- The name of a column containing the parameter name.
- API Name
- parameter-name-column
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
Parameter Value Column
The name of a column containing the parameter value.
- Display Name
- Parameter Value Column
- Description
- The name of a column containing the parameter value.
- API Name
- parameter-value-column
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
-
SQL WHERE clause
A optional SQL query 'WHERE' clause by which to filter all results. The 'WHERE' keyword should not be included.
- Display Name
- SQL WHERE clause
- Description
- A optional SQL query 'WHERE' clause by which to filter all results. The 'WHERE' keyword should not be included.
- API Name
- sql-where-clause
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- false
-
Table Name
The name of the database table containing the parameters.
- Display Name
- Table Name
- Description
- The name of the database table containing the parameters.
- API Name
- table-name
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
- Dependencies
-
- Parameter Grouping Strategy is set to any of [grouping-by-column]
-
Table Names
A comma-separated list of names of the database tables containing the parameters.
- Display Name
- Table Names
- Description
- A comma-separated list of names of the database tables containing the parameters.
- API Name
- table-names
- Expression Language Scope
- Not Supported
- Sensitive
- false
- Required
- true
- Dependencies
-
- Parameter Grouping Strategy is set to any of [grouping-by-table-name]