jVolumes - Provider for Google Cloud Storage

An abstraction to handle different types of file storage

License

License

GroupId

GroupId

com.github.microtweak
ArtifactId

ArtifactId

jvolumes-google-storage
Last Version

Last Version

0.0.3
Release Date

Release Date

Type

Type

jar
Description

Description

jVolumes - Provider for Google Cloud Storage
An abstraction to handle different types of file storage

Download jvolumes-google-storage

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.microtweak/jvolumes-google-storage/ -->
<dependency>
    <groupId>com.github.microtweak</groupId>
    <artifactId>jvolumes-google-storage</artifactId>
    <version>0.0.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.microtweak/jvolumes-google-storage/
implementation 'com.github.microtweak:jvolumes-google-storage:0.0.3'
// https://jarcasting.com/artifacts/com.github.microtweak/jvolumes-google-storage/
implementation ("com.github.microtweak:jvolumes-google-storage:0.0.3")
'com.github.microtweak:jvolumes-google-storage:jar:0.0.3'
<dependency org="com.github.microtweak" name="jvolumes-google-storage" rev="0.0.3">
  <artifact name="jvolumes-google-storage" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.microtweak', module='jvolumes-google-storage', version='0.0.3')
)
libraryDependencies += "com.github.microtweak" % "jvolumes-google-storage" % "0.0.3"
[com.github.microtweak/jvolumes-google-storage "0.0.3"]

Dependencies

compile (2)

Group / Artifact Type Version
com.github.microtweak : jvolumes-core jar 0.0.3
com.google.cloud : google-cloud-storage jar 1.103.1

provided (2)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.18.8
io.minio : minio jar 7.0.2

test (2)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.4.2
org.junit.jupiter : junit-jupiter-params jar 5.4.2

Project Modules

There are no modules declared in this project.

jVolumes


An abstraction to handle different types of file storage

Problem

Storing files in the cloud (AWS S3, Google Cloud Storage, etc.) requires the use of the provider's SDK. Although these APIs are not complex, it is still a little tiring to use them.

The Spring Framework presents a very cool abstraction called Resource, which, in addition to the Spring Cloud, adds support for Amazon S3, Google Cloud Storage and Azure Blob Storage.

Unfortunately, Spring's Resource class does not have some operations like copying, moving and deleting files from these locations. And finally, if your project is not based on Spring, you can not the abstraction of the Spring Framework.

Solution

A small API inspired by the Resource of Spring Framework, but independent of Spring. This means that you can use it in any environment (Java EE/Jakarta EE, Spring).

FileResource.of("file://C:/images/book.jpg")
    .copyTo("s3://[your-s3-bucket]/book.jpg");
com.github.microtweak

Microtweak

Small libraries for micro tweaking (or small features) in frameworks you already know

Versions

Version
0.0.3
0.0.2
0.0.1