https://github.com/minio/minio-java
MinIO Client SDK for Java
https://github.com/minio/minio-java
aws-s3 client-sdk libraries minio-java s3-bucket sdk
Last synced: 26 days ago
JSON representation
MinIO Client SDK for Java
- Host: GitHub
- URL: https://github.com/minio/minio-java
- Owner: minio
- License: apache-2.0
- Created: 2015-05-02T23:01:03.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-08T15:27:22.000Z (2 months ago)
- Last Synced: 2025-04-28T11:52:23.635Z (about 1 month ago)
- Topics: aws-s3, client-sdk, libraries, minio-java, s3-bucket, sdk
- Language: Java
- Homepage: https://docs.min.io/docs/java-client-quickstart-guide.html
- Size: 11.8 MB
- Stars: 1,181
- Watchers: 39
- Forks: 494
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# MinIO Java SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io)
MinIO Java SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.
For a complete list of APIs and examples, please take a look at the [Java Client API Reference](https://min.io/docs/minio/linux/developers/java/API.html) documentation.
## Minimum Requirements
Java 1.8 or above.## Maven usage
```xmlio.minio
minio
8.5.17```
## Gradle usage
```
dependencies {
implementation("io.minio:minio:8.5.17")
}
```## JAR download
The latest JAR can be downloaded from [here](https://repo1.maven.org/maven2/io/minio/minio/8.5.17/)## Quick Start Example - File Uploader
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.You need three items in order to connect to an object storage server.
| Parameters | Description |
|------------|------------------------------------------------------------|
| Endpoint | URL to S3 service. |
| Access Key | Access key (aka user ID) of an account in the S3 service. |
| Secret Key | Secret key (aka password) of an account in the S3 service. |This example uses MinIO server playground [https://play.min.io](https://play.min.io). Feel free to use this service for test and development.
### FileUploader.java
```java
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;public class FileUploader {
public static void main(String[] args)
throws IOException, NoSuchAlgorithmException, InvalidKeyException {
try {
// Create a minioClient with the MinIO server playground, its access key and secret key.
MinioClient minioClient =
MinioClient.builder()
.endpoint("https://play.min.io")
.credentials("Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG")
.build();// Make 'asiatrip' bucket if not exist.
boolean found =
minioClient.bucketExists(BucketExistsArgs.builder().bucket("asiatrip").build());
if (!found) {
// Make a new bucket called 'asiatrip'.
minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build());
} else {
System.out.println("Bucket 'asiatrip' already exists.");
}// Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
// 'asiatrip'.
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("asiatrip")
.object("asiaphotos-2015.zip")
.filename("/home/user/Photos/asiaphotos.zip")
.build());
System.out.println(
"'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
+ "object 'asiaphotos-2015.zip' to bucket 'asiatrip'.");
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
System.out.println("HTTP trace: " + e.httpTrace());
}
}
}
```#### Compile FileUploader
```sh
$ javac -cp minio-8.5.17-all.jar FileUploader.java
```#### Run FileUploader
```sh
$ java -cp minio-8.5.17-all.jar:. FileUploader
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.$ mc ls play/asiatrip/
[2016-06-02 18:10:29 PDT] 82KiB asiaphotos-2015.zip
```## More References
* [Java Client API Reference](https://min.io/docs/minio/linux/developers/java/API.html)
* [Javadoc](https://minio-java.min.io/)
* [Examples](https://github.com/minio/minio-java/tree/release/examples)## Explore Further
* [Complete Documentation](https://min.io/docs/minio/kubernetes/upstream/index.html)
* [Build your own Photo API Service - Full Application Example ](https://github.com/minio/minio-java-rest-example)## Contribute
Please refer [Contributors Guide](https://github.com/minio/minio-java/blob/release/CONTRIBUTING.md)