Minimal, idiomatic, stream-based Scala interface for key/value store implementations
Unified Scala interface based on fs2 for hierarhical and flat object stores. This library lets you integrate fs2 programs with various storage technologies such as S3, GCS, Azure Blob Storage, SFTP and Box. It also offers an interface that abstracts over the underlying storage technology, this lets you write fs2 programs that are agnostic to what storage provider files are hosted on.
libraryDependencies ++= Seq(
"com.github.fs2-blobstore" %% "core" % "<version>",
"com.github.fs2-blobstore" %% "sftp" % "<version>",
"com.github.fs2-blobstore" %% "s3" % "<version>",
"com.github.fs2-blobstore" %% "gcs" % "<version>",
"com.github.fs2-blobstore" %% "azure" % "<version>",
"com.github.fs2-blobstore" %% "box" % "<version>",
)
core
module has minimal dependencies and only provides FileStore
implementation.sftp
module provides SftpStore
and depends on Jsch client.s3
module provides S3Store
and depends on AWS S3 SDK V2
gcs
module provides GcsStore
and depends on Google Cloud Storage SDK
azure
module provides AzureStore
and depends on Azure Storage SDK Client library for Java
box
module provides BoxStore
and depends on the Box SDK for Java
Head over to the microsite for documentation