A Scala framework for unified object storage access, supporting Amazon S3, Google Cloud Storage, and local/remote filesystems via Apache VFS.
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
- 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