There's a lot of libraries with overlapping support. This tries to index the ones I've seen.
I only care about / list the ones that support cats-effect/fs2 in some way or another.
I'll list some project status:
- Dead = fully abandoned or archived
- Inactive = no changes for over a year (as of oct 2020)
In no specific order
- fs2-aws. Idiomatic fs2. Supports streaming s3. S3, SQS, Dynamo
- fs2-blobstore. Inactive Aims to have idiomatic fs2 wrapper for many file storage apis. Supports S3, Box, GCS
- aws4cats - Inactive. SQS, S3 (wip), Dynamo (wip). Inactive
- reactive-aws-clients - Code generated clients and models. Monix, fs2, akka-streams support, but not actually streaming - effect types only. Not idiomatic design.
- [https://github.com/rstradling/awsio] - Dead
- comms-aws - Experimental and not fully supported. Built on http4s+fs2. Supports S3, but not streaming/multipart upload. Only eager-in-memory upload. Contains Auth/signing impl - may be useful for code reuse elsewhere
- dynosaur - Inactive. Idiomatic client for DynamoDB in pure scala with fs2. Has documentation and allows high-level data modeling with typeclass encoder/decoder approach
AFAIK
fs2-blobstore
is already using the AWS SDK v2, you can see on maven that it depends on thev2
version of the Java library. Also, this seems to be the PR that made that change.Additionally, I would also like to add sqs4s which is a native library for AWS SQS which only requires an http4s client.