A Scala framework for unified object storage access, supporting Amazon S3, Google Cloud Storage, and local/remote filesystems via Apache VFS.
The original maintainer, cchantep, is no longer actively maintaining this project.
See the continuation at Jinbe.
The project is using SBT, so to build it from sources the following command can be used.
./project/build.shThe environment variable
PLAY_VERSIONcan be set to build theplaymodule appropriately.
The simplest way to get started is with the QuickStart guide. Core concepts:
- All storage operations work through an
ObjectStorageinterface - Buckets are accessed via
BucketRef(for modification) - Objects are accessed via
ObjectRef(for read/write/delete) - Operations are async with Akka Streams
Available backends:
- S3 — Amazon S3 and compatible services (CEPH, MinIO, etc.)
- Google Cloud Storage — Google's cloud storage service
- Apache VFS — Local and remote filesystems
- MongoDB GridFS — MongoDB GridFS for distributed file storage
- QuickStart — Introduction and core concepts
- Examples — Runnable example code
- API Docs — Detailed API documentation
- Play Integration — Using Benji with Play Framework
To prepare a new release the following command must be used.
sbt releaseTo publish a release on Maven Central, use the following steps.
- Build artifacts:
./project/build.sh - Publish all modules:
./project/deploy.sh <version> <pgp-key> - Publish only play modules:
export SCALA_MODULES="play:benji-play"
./project/deploy.sh <version> <pgp-key>- Go to https://oss.sonatype.org/#stagingRepositories and login with user allowed to publish on Maven central.
Execute ./project/snapshot.sh