Unified Scala interface based on fs2 for hierarchical 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 providesFileStore
implementation.sftp
module providesSftpStore
and depends on Jsch client.s3
module providesS3Store
and depends on AWS S3 SDK V2gcs
module providesGcsStore
and depends on Google Cloud Storage SDKazure
module providesAzureStore
and depends on Azure Storage SDK Client library for Javabox
module providesBoxStore
and depends on the Box SDK for Java
Head over to the microsite for documentation