WalFlow.Sinks.KinesisFirehose 0.1.0-alpha.alpha.20260708090623

This is a prerelease version of WalFlow.Sinks.KinesisFirehose.
dotnet add package WalFlow.Sinks.KinesisFirehose --version 0.1.0-alpha.alpha.20260708090623
                    
NuGet\Install-Package WalFlow.Sinks.KinesisFirehose -Version 0.1.0-alpha.alpha.20260708090623
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WalFlow.Sinks.KinesisFirehose" Version="0.1.0-alpha.alpha.20260708090623" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WalFlow.Sinks.KinesisFirehose" Version="0.1.0-alpha.alpha.20260708090623" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Sinks.KinesisFirehose" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WalFlow.Sinks.KinesisFirehose --version 0.1.0-alpha.alpha.20260708090623
                    
#r "nuget: WalFlow.Sinks.KinesisFirehose, 0.1.0-alpha.alpha.20260708090623"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WalFlow.Sinks.KinesisFirehose@0.1.0-alpha.alpha.20260708090623
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WalFlow.Sinks.KinesisFirehose&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Sinks.KinesisFirehose&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

WalFlow.Sinks.KinesisFirehose

AWS Kinesis Firehose sink for WalFlow. Publishes Debezium-style CDC events into a Firehose delivery stream.

Configuration

{
  "KinesisFirehoseSink": {
    "DeliveryStreamName": "walflow-firehose",
    "Region": "us-east-1",
    "Authentication": {
      "AccessKeyId": null,
      "SecretAccessKey": null,
      "ProfileName": null
    },
    "ServiceUrl": null,
    "MaxRetryAttempts": 3,
    "RetryDelayMs": 250,
    "Partitioning": {
      "Strategy": "Single"
    }
  }
}

Settings

Setting Type Default Supported values Notes
DeliveryStreamName string required existing Firehose delivery stream name Destination stream
Region string? null AWS region system name (for example us-east-1) Optional when using profile/default chain
Authentication AwsAuthenticationOptions {} object Preferred auth container
Authentication.AccessKeyId string? null AWS access key id Use with Authentication.SecretAccessKey for explicit credentials
Authentication.SecretAccessKey string? null AWS secret access key Use with Authentication.AccessKeyId
Authentication.ProfileName string? null AWS shared profile name Used when explicit keys are not set
ServiceUrl string? null endpoint URL For LocalStack/compatible endpoints
MaxRetryAttempts int 3 >= 0 Retries for failed PutRecord calls
RetryDelayMs int 250 >= 0 Delay between retries
Partitioning SinkPartitioningOptions Strategy=Single effectively Single in this sink Non-Single values are coerced to Single with warning

AWS Authentication

The sink supports all three auth approaches:

  1. Explicit keys: set Authentication.AccessKeyId and Authentication.SecretAccessKey
  2. Profile: set Authentication.ProfileName
  3. Default AWS credential chain: leave all auth settings null (environment variables, IAM role, default profile)

Auth resolution order is exactly: explicit keys → named profile → default chain.

Example: explicit keys

{
  "KinesisFirehoseSink": {
    "DeliveryStreamName": "walflow-firehose",
    "Region": "us-east-1",
    "Authentication": {
      "AccessKeyId": "AKIA...",
      "SecretAccessKey": "..."
    }
  }
}

Example: profile

{
  "KinesisFirehoseSink": {
    "DeliveryStreamName": "walflow-firehose",
    "Authentication": {
      "ProfileName": "walflow-prod"
    }
  }
}

Example: default credentials

{
  "KinesisFirehoseSink": {
    "DeliveryStreamName": "walflow-firehose",
    "Region": "us-east-1"
  }
}

Notes

  • Uses PutRecord per event.
  • Retries transient failures according to configured retry options.
  • Works with LocalStack by setting ServiceUrl and test credentials.

Inline DI Registration

services.AddSingleton<ISink>(sp =>
{
    var options = Options.Create(new KinesisFirehoseSinkOptions
    {
        DeliveryStreamName = "walflow-firehose",
        Region = "us-east-1"
    });

    return KinesisFirehoseSink.CreateWithHttpClient(
        options,
        sp.GetRequiredService<ILogger<KinesisFirehoseSink>>(),
        sp.GetRequiredService<HttpClient>());
});
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on WalFlow.Sinks.KinesisFirehose:

Package Downloads
WalFlow

Meta-package that pulls in the full WalFlow CDC stack for consumers who want the default everything-included setup.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.alpha... 90 7/8/2026
0.1.0-alpha.alpha... 81 3/30/2026