Kanject Core — Library Reference

Kanject Core is a suite of focused .NET libraries that wrap individual AWS services in clean, testable C# APIs. Eleven packages, all distributed via the private NuGet feed, all wired up via extension methods on IServiceCollection.

Pick the libraries you need — they're independent and tree-shakeable. The Kanject.Core.Adapter package brings the shared lifecycle (config, logging, exception middleware) when you want a one-line setup; everything else is à-la-carte.

Persistence & data

Kanject.Core.NoSqlDatabase
Type-safe DynamoDB access with attribute-driven schemas. `[Repository]` + source generators do the wiring.
Kanject.Core.CacheDb
Redis-backed cache with consistent serialization, TTL helpers, and namespace isolation.
Kanject.Core.FileRepository
S3 wrapper with content-type detection, presigned URLs, and access control.
Kanject.Core.Secrets
AWS Secrets Manager + SSM Parameter Store retrieval with at-cold-start hydration.

Messaging & events

Kanject.Core.Queue
SQS wrapper — async send, dead-letter queues, retry policies, idempotency keys.
Kanject.Core.CloudFunction
Lambda hosting helpers — keeps the same handler signature in dev (Kestrel) and prod (Lambda).

Web & API

Kanject.Core.Api
ASP.NET Core extensions — exception middleware, CORS, warm-up endpoints, route prefixing.
Kanject.Core.Adapter
One-line app bootstrap that bundles Api + Logs + Secrets with sensible defaults.

Operations & background work

Kanject.Core.Logs
Structured logging adapter — correlation IDs, request scoping, JSON output for CloudWatch.
Kanject.Core.Recurring
Cron-style scheduled handlers backed by EventBridge rules.
Kanject.Core.EtlTaskManager
Long-running batch jobs with checkpointing, resume, and dead-letter handling.

Pattern

Every Core library follows the same shape: Add<Service>() extension methods on IServiceCollection, attribute-driven configuration, and an interface you can mock for tests. Once you've learned one, you've learned them all.

Tip
Pair every Core library with Kanject.Core.Logs for correlated, structured output across your service.