Skip to content

Samples

All samples are in the samples/ directory. Each is a standalone console application.

Core Pipeline Patterns

SampleDescriptionComplexity
Sample_BasicPipelineMinimal pipeline with source → transform → sinkBeginner
Sample_LambdaNodesInline lambda-based node definitionsBeginner
Sample_SimpleDataTransformationBasic data mapping transformBeginner
Sample_ComplexDataTransformationsMulti-step transformation chainsIntermediate
Sample_CustomNodeImplementationImplementing custom node classesIntermediate
Sample_CompositionComposing sub-pipelines into larger pipelinesAdvanced
Sample_FileProcessingEnd-to-end file processing pipelineIntermediate

Node Types

SampleDescriptionComplexity
Sample_AggregateNodeReduce operations (sum, count, average)Intermediate
Sample_AdvancedAggregateNodeTime-windowed aggregation with watermarksAdvanced
Sample_BatchingNodeGrouping items into fixed-size batchesIntermediate
Sample_UnbatchingNodeExpanding batches into individual itemsIntermediate
Sample_BranchNodeFan-out to multiple downstream pathsIntermediate
Sample_RouteNodeConditional fan-out with named route outputsIntermediate
Sample_TapNodeSide-effect observation without modifying dataBeginner
Sample_LookupNodeEnrichment via in-memory lookup tableIntermediate
Sample_KeyedJoinNodeInner join of two streams by keyIntermediate
Sample_SelfJoinNodeSelf-join on a single streamIntermediate
Sample_TimeWindowedJoinNodeTime-windowed join across streamsAdvanced
Sample_CustomMergeNodeCustom merge node for fan-inAdvanced

Windowing and Streaming

SampleDescriptionComplexity
Sample_StreamingAnalyticsReal-time streaming analyticsAdvanced
Sample_WindowingStrategiesTumbling, sliding, and session windowsAdvanced
Sample_WatermarkHandlingLate data handling with watermarksAdvanced
Sample_IntentDrivenGroupingIntent-driven batching for optimizationIntermediate

Error Handling and Resilience

SampleDescriptionComplexity
Sample_BasicErrorHandlingTry/catch patterns in nodesBeginner
Sample_AdvancedErrorHandlingError handlers and dead letter queuesIntermediate
Sample_FluentErrorHandlingFluent API for resilience configurationIntermediate
Sample_RetryDelayRetry with exponential backoffIntermediate

Parallel Execution and Performance

SampleDescriptionComplexity
Sample_ParallelProcessingParallel node execution with backpressureIntermediate
Sample_ParallelExecution_SimplifiedSimplified parallel execution setupBeginner
Sample_PerformanceOptimizationValueTask fast paths and optimization techniquesAdvanced

File Connectors

SampleDescriptionComplexity
Sample_CsvConnectorCSV reading and writingBeginner
Sample_JsonConnectorJSON reading and writingBeginner
Sample_ExcelConnectorExcel file processingBeginner
Sample_ParquetConnectorParquet columnar formatIntermediate

Database Connectors

SampleDescriptionComplexity
Sample_SqlServerConnectorSQL Server source and sinkIntermediate
Sample_PostgresConnectorPostgreSQL source and sinkIntermediate
Sample_MySQLConnectorMySQL source and sinkIntermediate
Sample_MongoDbConnectorMongoDB document operationsIntermediate
Sample_CosmosDbConnectorAzure Cosmos DB connectorIntermediate
Sample_DuckDBConnectorDuckDB analytics connectorIntermediate
Sample_SnowflakeConnectorSnowflake data warehouseIntermediate

Message Queue Connectors

SampleDescriptionComplexity
Sample_KafkaConnectorKafka producer/consumerIntermediate
Sample_RabbitMqConnectorRabbitMQ messagingIntermediate
Sample_AzureServiceBusConnectorAzure Service Bus queues/topicsIntermediate
Sample_SqsConnectorAWS SQS messagingIntermediate

Specialized Connectors

SampleDescriptionComplexity
Sample_HttpConnectorHTTP GET source connectorBeginner
Sample_HttpPostHTTP POST sink connectorBeginner
Sample_DataLakeConnectorData lake multi-format connectorAdvanced

Storage Providers

SampleDescriptionComplexity
Sample_S3StorageProviderAWS S3 file operationsBeginner
Sample_S3CompatibleStorageProviderMinIO, R2, and other S3-compatible storesBeginner
Sample_AzureStorageProviderAzure Blob StorageBeginner
Sample_AdlsStorageProviderAzure Data Lake Storage Gen2Beginner
Sample_GcsStorageProviderGoogle Cloud StorageBeginner
Sample_SftpStorageProviderSFTP file transfersBeginner

Extensions

SampleDescriptionComplexity
Sample_NodesExtensionUtility nodes (filter, map, flatten)Intermediate
Sample_LineageExtensionData lineage and provenance trackingIntermediate
Sample_ObservabilityExtensionMetrics, monitoring, and tracingIntermediate

Running a Sample

bash
cd samples/Sample_BasicPipeline
dotnet run

Next Steps

Released under the MIT License.