NiFi Developer's Guide
Introduction
NiFi Components
Processor API
Supporting API
FlowFile
ProcessSession
ProcessContext
PropertyDescriptor
Validator
ValidationContext
PropertyValue
Relationship
StateManager
ProcessorInitializationContext
ComponentLog
AbstractProcessor API
Processor Initialization
Exposing Processor's Relationships
Exposing Processor Properties
Validating Processor Properties
Responding to Changes in Configuration
Performing the Work
When Processors are Triggered
Component Lifecycle
@OnAdded
@OnEnabled
@OnRemoved
@OnScheduled
@OnUnscheduled
@OnStopped
@OnShutdown
Component Notification
@OnPrimaryNodeStateChange
Restricted
State Manager
Scope
Storing and Retrieving State
Unit Tests
Reporting Processor Activity
Documenting a Component
Documenting Properties
Documenting Relationships
Documenting Capability and Keywords
Documenting FlowFile Attribute Interaction
Documenting Related Components
Advanced Documentation
Provenance Events
Common Processor Patterns
Data Ingress
Data Egress
Route Based on Content (One-to-One)
Route Based on Content (One-to-Many)
Route Streams Based on Content (One-to-Many)
Route Based on Attributes
Split Content (One-to-Many)
Update Attributes Based on Content
Enrich/Modify Content
Error Handling
Exceptions within the Processor
Exceptions within a callback: IOException, RuntimeException
Penalization vs. Yielding
Session Rollback
General Design Considerations
Consider the User
Cohesion and Reusability
Naming Conventions
Processor Behavior Annotations
Data Buffering
Controller Services
Developing a ControllerService
Interacting with a ControllerService
Reporting Tasks
Developing a Reporting Task
UI Extensions
Custom Processor UIs
Content Viewers
Command Line Tools
Testing
Instantiate TestRunner
Add ControllerServices
Set Property Values
Enqueue FlowFiles
Run the Processor
Validate Output
Mocking External Resources
Additional Testing Capabilities
NiFi Archives (NARs)
Per-Instance ClassLoading
Deprecating a Component
How to contribute to Apache NiFi
Technologies
Where to Start?
Supplying a contribution
Contact Us