Source Workers
A source worker has at least one data output port, but no input ports. It typically extracts data from an external source, e.g. a database or a file, and sends data rows to its output port(s). It can also generate data rows from scratch, e.g. a random number generator.
Note
The type parameters describe what ports the transform has, e.g. *Error* means it has
an error output port.
Also see Transform Workers and Target Workers, as well as Non-Dataflow Workers.
ActionSource
Execute an Action or Func callback once, which sends rows to the downstream worker.
- Workers:
- Examples:
AdbDataReaderSource
Execute an SQL query on a database, and pass result set rows to the downstream worker.
- Worker: AdbDataReaderSource<TOutput>
- Examples:
EnumerableSource
Consume rows from an IEnumerable<T> (or rows specified in the constructor), and pass them
to the downstream worker.
Providing an IEnumerable<T> makes it easy to consume the rows from collections,
and from methods such as ReadLines(String) as well as
from LINQ queries.
- Worker: EnumerableSource<TOutput>
- Examples:
FileHelperFileSource, FileHelperStreamSource, and FileHelperStringSource
Read delimited (e.g. CSV) or fixed format rows from one or more files, streams, or strings, and output them to the downstream worker. Also see CSV Delimited and Fixed Format.
- Workers:
- Example: CSV Delimited and Fixed Format
PortPassThroughSource
Pass rows from a parent worker input port to a child worker output port. Used when encapsulating dataflow workers inside parent dataflow workers.
- Worker: PortPassThroughSource<TOutput>
- Example: Custom Dataflow Target
RepeatRowsSource
Generate an arbitrary number of rows from a set of template rows, via cloning, and pass them to the downstream worker.
- Worker: RepeatRowsSource<TOutput>
- Examples:
RowsActionSource
Repeatedly execute a Func callback (that sends rows to the downstream worker) when there is
row demand on the Output port.
- Worker: RowsActionSource<TOutput>
- Examples:
RowSourceBase
Single row synchronous processing, with automatic checks for output demand, which simplifies the implementation. Must be inherited.
- Worker: RowSourceBase<TDerived, TOutput>
- Example: Custom Dataflow Source
RowsSourceBase
Automatically checks for output demand, which simplifies the implementation. Supports synchronous and asynchronous code. Must be inherited.
- Workers:
- Example: Custom Dataflow Source
SourceBase
Has an Output port and optional ErrorOutput port, for creating dataflow sources. Must be inherited.
- Workers:
- Examples:
XlsxSource
Reads an XLSX spreadsheet file and outputs rows to downstream workers. Does not require any driver installation. Also see XLSX (Excel) Spreadsheets.
- Worker: XlsxSource<TOutput>
- Examples: