Kanject Core — Library Reference
Kanject Core is a suite of focused .NET libraries that wrap individual AWS services in clean, testable C# APIs. Twelve 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. Each library has its own page below.
Persistence & data
NoSqlDatabase
Type-safe NoSQL across DynamoDB, ScyllaDB, and Amazon Keyspaces — one `[Repository]` shape, three engines. /docs/core-nosql
SqlDatabase
Relational sibling with an Aurora DSQL provider (beta). Same `[Repository]` ergonomics as NoSqlDatabase. /docs/core-sql
CacheDb
Redis-backed cache with TTL, namespaces, and Lambda-aware connection reuse. /docs/core-cache
FileRepository
S3 wrapper with content-type detection, presigned URLs, access levels. /docs/core-files
Secrets
Parameter Store hydration at boot + on-demand Secrets Manager accessor. /docs/core-secrets
Messaging & events
Queue
SQS wrapper — typed messages, idempotency keys, retries, automatic DLQ. /docs/core-queue
CloudFunction
Lambda hosting + scheduled / queue-driven entry points; same code in dev and prod. /docs/core-cloudfunction
Web & API
Api
ASP.NET Core extensions — exception middleware, CORS, warm-up endpoints, RFC 7807 errors. /docs/core-api
Adapter
One-line bootstrap that bundles Api + Logs + Secrets with sensible defaults. /docs/core-adapter
Operations & background work
Logs
Structured JSON logging tuned for CloudWatch Logs Insights, with correlation IDs. /docs/core-logs
Recurring
`[Recurring]` cron handlers backed by EventBridge rules — provisioned at deploy. /docs/core-recurring
EtlTaskManager
Long-running checkpointed batch jobs that survive Lambda's 15-minute ceiling. /docs/core-etl
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.