Package io.minio

Class MinioClient

java.lang.Object
io.minio.MinioClient
All Implemented Interfaces:
AutoCloseable

public class MinioClient extends Object implements AutoCloseable
Simple Storage Service (aka S3) client to perform bucket and object operations.

Bucket operations

  • Create, list and delete buckets.
  • Put, get and delete bucket lifecycle configuration.
  • Put, get and delete bucket policy configuration.
  • Put, get and delete bucket encryption configuration.
  • Put and get bucket default retention configuration.
  • Put and get bucket notification configuration.
  • Enable and disable bucket versioning.

Object operations

  • Put, get, delete and list objects.
  • Create objects by combining existing objects.
  • Put and get object retention and legal hold.
  • Filter object content by SQL statement.

If access/secret keys are provided, all S3 operation requests are signed using AWS Signature Version 4; else they are performed anonymously.

Examples on using this library are available here.

Use MinioClient.builder() to create S3 client.


 // Create client with anonymous access.
 MinioClient minioClient = MinioClient.builder().endpoint("https://play.min.io").build();

 // Create client with credentials.
 MinioClient minioClient =
     MinioClient.builder()
         .endpoint("https://play.min.io")
         .credentials("Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG")
         .build();
 
  • Constructor Details

    • MinioClient

      protected MinioClient(MinioClient client)
  • Method Details

    • statObject

      public StatObjectResponse statObject(StatObjectArgs args) throws MinioException
      Gets information of an object.
      Example:
       // Get information of an object.
       StatObjectResponse stat =
           minioClient.statObject(
               StatObjectArgs.builder().bucket("my-bucketname").object("my-objectname").build());
      
       // Get information of SSE-C encrypted object.
       StatObjectResponse stat =
           minioClient.statObject(
               StatObjectArgs.builder()
                   .bucket("my-bucketname")
                   .object("my-objectname")
                   .ssec(ssec)
                   .build());
      
       // Get information of a versioned object.
       StatObjectResponse stat =
           minioClient.statObject(
               StatObjectArgs.builder()
                   .bucket("my-bucketname")
                   .object("my-objectname")
                   .versionId("version-id")
                   .build());
      
       // Get information of a SSE-C encrypted versioned object.
       StatObjectResponse stat =
           minioClient.statObject(
               StatObjectArgs.builder()
                   .bucket("my-bucketname")
                   .object("my-objectname")
                   .versionId("version-id")
                   .ssec(ssec)
                   .build());
       
      Parameters:
      args - StatObjectArgs object.
      Returns:
      StatObjectResponse - Populated object information and metadata.
      Throws:
      MinioException - thrown to indicate SDK exception.
      See Also:
    • getObject

      public GetObjectResponse getObject(GetObjectArgs args) throws MinioException
      Gets data from offset to length of a SSE-C encrypted object. Returned GetObjectResponse must be closed after use to release network resources.
      Example:
       try (GetObjectResponse response =
           minioClient.getObject(
         GetObjectArgs.builder()
           .bucket("my-bucketname")
           .object("my-objectname")
           .offset(offset)
           .length(len)
           .ssec(ssec)
           .build()
       ) {
         // Read data from response
         // which is InputStream interface compatible
       }
       
      Parameters:
      args - Object of GetObjectArgs
      Throws:
      MinioException - thrown to indicate SDK exception.
    • downloadObject

      public void downloadObject(DownloadObjectArgs args) throws MinioException
      Downloads data of a SSE-C encrypted object to file.
      Example:
       minioClient.downloadObject(
         DownloadObjectArgs.builder()
           .bucket("my-bucketname")
           .object("my-objectname")
           .ssec(ssec)
           .filename("my-filename")
           .build());
       
      Parameters:
      args - Object of DownloadObjectArgs
      Throws:
      MinioException - thrown to indicate SDK exception.
    • copyObject

      public ObjectWriteResponse copyObject(CopyObjectArgs args) throws MinioException
      Creates an object by server-side copying data from another object.
      Example:
       // Create object "my-objectname" in bucket "my-bucketname" by copying from object
       // "my-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-objectname")
                       .build())
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" by copying from object
       // "my-source-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-source-objectname")
                       .build())
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" with SSE-KMS server-side
       // encryption by copying from object "my-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-objectname")
                       .build())
               .sse(sseKms) // Replace with actual key.
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" with SSE-S3 server-side
       // encryption by copying from object "my-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-objectname")
                       .build())
               .sse(sseS3) // Replace with actual key.
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" with SSE-C server-side encryption
       // by copying from object "my-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-objectname")
                       .build())
               .sse(ssec) // Replace with actual key.
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" by copying from SSE-C encrypted
       // object "my-source-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-source-objectname")
                       .ssec(ssec) // Replace with actual key.
                       .build())
               .build());
      
       // Create object "my-objectname" in bucket "my-bucketname" with custom headers conditionally
       // by copying from object "my-objectname" in bucket "my-source-bucketname".
       minioClient.copyObject(
           CopyObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .source(
                   CopySource.builder()
                       .bucket("my-source-bucketname")
                       .object("my-objectname")
                       .matchETag(etag) // Replace with actual etag.
                       .build())
               .headers(headers) // Replace with actual headers.
               .build());
       
      Parameters:
      args - CopyObjectArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • composeObject

      public ObjectWriteResponse composeObject(ComposeObjectArgs args) throws MinioException
      Creates an object by combining data from different source objects using server-side copy.
      Example:
       List<ComposeSource> sourceObjectList = new ArrayList<ComposeSource>();
      
       sourceObjectList.add(
          ComposeSource.builder().bucket("my-job-bucket").object("my-objectname-part-one").build());
       sourceObjectList.add(
          ComposeSource.builder().bucket("my-job-bucket").object("my-objectname-part-two").build());
       sourceObjectList.add(
          ComposeSource.builder().bucket("my-job-bucket").object("my-objectname-part-three").build());
      
       // Create my-bucketname/my-objectname by combining source object list.
       minioClient.composeObject(
          ComposeObjectArgs.builder()
              .bucket("my-bucketname")
              .object("my-objectname")
              .sources(sourceObjectList)
              .build());
      
       // Create my-bucketname/my-objectname with user metadata by combining source object
       // list.
       Map<String, String> userMetadata = new HashMap<>();
       userMetadata.put("My-Project", "Project One");
       minioClient.composeObject(
           ComposeObjectArgs.builder()
              .bucket("my-bucketname")
              .object("my-objectname")
              .sources(sourceObjectList)
              .userMetadata(userMetadata)
              .build());
      
       // Create my-bucketname/my-objectname with user metadata and server-side encryption
       // by combining source object list.
       minioClient.composeObject(
         ComposeObjectArgs.builder()
              .bucket("my-bucketname")
              .object("my-objectname")
              .sources(sourceObjectList)
              .userMetadata(userMetadata)
              .ssec(sse)
              .build());
       
      Parameters:
      args - ComposeObjectArgs object.
      Returns:
      ObjectWriteResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getPresignedObjectUrl

      public String getPresignedObjectUrl(GetPresignedObjectUrlArgs args) throws MinioException
      Gets presigned URL of an object for HTTP method, expiry time and custom request parameters.
      Example:
       // Get presigned URL string to delete 'my-objectname' in 'my-bucketname' and its life time
       // is one day.
       String url =
          minioClient.getPresignedObjectUrl(
              GetPresignedObjectUrlArgs.builder()
                  .method(Http.Method.DELETE)
                  .bucket("my-bucketname")
                  .object("my-objectname")
                  .expiry(24 * 60 * 60)
                  .build());
       System.out.println(url);
      
       // Get presigned URL string to upload 'my-objectname' in 'my-bucketname'
       // with response-content-type as application/json and life time as one day.
       Map<String, String> reqParams = new HashMap<String, String>();
       reqParams.put("response-content-type", "application/json");
      
       String url =
          minioClient.getPresignedObjectUrl(
              GetPresignedObjectUrlArgs.builder()
                  .method(Http.Method.PUT)
                  .bucket("my-bucketname")
                  .object("my-objectname")
                  .expiry(1, TimeUnit.DAYS)
                  .extraQueryParams(reqParams)
                  .build());
       System.out.println(url);
      
       // Get presigned URL string to download 'my-objectname' in 'my-bucketname' and its life time
       // is 2 hours.
       String url =
          minioClient.getPresignedObjectUrl(
              GetPresignedObjectUrlArgs.builder()
                  .method(Http.Method.GET)
                  .bucket("my-bucketname")
                  .object("my-objectname")
                  .expiry(2, TimeUnit.HOURS)
                  .build());
       System.out.println(url);
       
      Parameters:
      args - GetPresignedObjectUrlArgs object.
      Returns:
      String - URL string.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getPresignedPostFormData

      public Map<String,String> getPresignedPostFormData(PostPolicy policy) throws MinioException
      Gets form-data of PostPolicy of an object to upload its data using POST method.
      Example:
       // Create new post policy for 'my-bucketname' with 7 days expiry from now.
       PostPolicy policy = new PostPolicy("my-bucketname", ZonedDateTime.now().plusDays(7));
      
       // Add condition that 'key' (object name) equals to 'my-objectname'.
       policy.addEqualsCondition("key", "my-objectname");
      
       // Add condition that 'Content-Type' starts with 'image/'.
       policy.addStartsWithCondition("Content-Type", "image/");
      
       // Add condition that 'content-length-range' is between 64kiB to 10MiB.
       policy.addContentLengthRangeCondition(64 * 1024, 10 * 1024 * 1024);
      
       Map<String, String> formData = minioClient.getPresignedPostFormData(policy);
      
       // Upload an image using POST object with form-data.
       MultipartBody.Builder multipartBuilder = new MultipartBody.Builder();
       multipartBuilder.setType(MultipartBody.FORM);
       for (Map.Entry<String, String> entry : formData.entrySet()) {
         multipartBuilder.addFormDataPart(entry.getKey(), entry.getValue());
       }
       multipartBuilder.addFormDataPart("key", "my-objectname");
       multipartBuilder.addFormDataPart("Content-Type", "image/png");
      
       // "file" must be added at last.
       multipartBuilder.addFormDataPart(
           "file", "my-objectname", RequestBody.create(new File("Pictures/avatar.png"), null));
      
       Request request =
           new Request.Builder()
               .url("https://play.min.io/my-bucketname")
               .post(multipartBuilder.build())
               .build();
       OkHttpClient httpClient = new OkHttpClient().newBuilder().build();
       Response response = httpClient.newCall(request).execute();
       if (response.isSuccessful()) {
         System.out.println("Pictures/avatar.png is uploaded successfully using POST object");
       } else {
         System.out.println("Failed to upload Pictures/avatar.png");
       }
       
      Parameters:
      policy - Post policy of an object.
      Returns:
      Map<String, String> - Contains form-data to upload an object using POST method.
      Throws:
      MinioException - thrown to indicate SDK exception.
      See Also:
    • removeObject

      public void removeObject(RemoveObjectArgs args) throws MinioException
      Removes an object.
      Example:
       // Remove object.
       minioClient.removeObject(
           RemoveObjectArgs.builder().bucket("my-bucketname").object("my-objectname").build());
      
       // Remove versioned object.
       minioClient.removeObject(
           RemoveObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-versioned-objectname")
               .versionId("my-versionid")
               .build());
      
       // Remove versioned object bypassing Governance mode.
       minioClient.removeObject(
           RemoveObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-versioned-objectname")
               .versionId("my-versionid")
               .bypassRetentionMode(true)
               .build());
       
      Parameters:
      args - RemoveObjectArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • removeObjects

      public Iterable<Result<DeleteResult.Error>> removeObjects(RemoveObjectsArgs args)
      Removes multiple objects lazily. Its required to iterate the returned Iterable to perform removal.
      Example:
       List<DeleteObject> objects = new ArrayList<>();
       objects.add(new DeleteObject("my-objectname1"));
       objects.add(new DeleteObject("my-objectname2"));
       objects.add(new DeleteObject("my-objectname3"));
       Iterable<Result<DeleteResult.Error>> results =
           minioClient.removeObjects(
               RemoveObjectsArgs.builder().bucket("my-bucketname").objects(objects).build());
       for (Result<DeleteResult.Error> result : results) {
         DeleteResult.Error error = result.get();
         System.out.println(
             "Error in deleting object " + error.objectName() + "; " + error.message());
       }
       
      Parameters:
      args - RemoveObjectsArgs object.
      Returns:
      Iterable<Result<DeleteResult.Error>> - Lazy iterator contains object removal status.
    • restoreObject

      public void restoreObject(RestoreObjectArgs args) throws MinioException
      Restores an object.
      Example:
       // Restore object.
       minioClient.restoreObject(
           RestoreObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .request(new RestoreRequest(null, null, null, null, null, null))
               .build());
      
       // Restore versioned object.
       minioClient.restoreObject(
           RestoreObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-versioned-objectname")
               .versionId("my-versionid")
               .request(new RestoreRequest(null, null, null, null, null, null))
               .build());
       
      Parameters:
      args - RestoreObjectArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • listObjects

      public Iterable<Result<Item>> listObjects(ListObjectsArgs args)
      Lists objects information optionally with versions of a bucket. Supports both the versions 1 and 2 of the S3 API. By default, the version 2 API is used.
      Version 1 can be used by passing the optional argument useVersion1 as true.
      Example:
       // Lists objects information.
       Iterable<Result<Item>> results = minioClient.listObjects(
           ListObjectsArgs.builder().bucket("my-bucketname").build());
      
       // Lists objects information recursively.
       Iterable<Result<Item>> results = minioClient.listObjects(
           ListObjectsArgs.builder().bucket("my-bucketname").recursive(true).build());
      
       // Lists maximum 100 objects information whose names starts with 'E' and after
       // 'ExampleGuide.pdf'.
       Iterable<Result<Item>> results = minioClient.listObjects(
           ListObjectsArgs.builder()
               .bucket("my-bucketname")
               .startAfter("ExampleGuide.pdf")
               .prefix("E")
               .maxKeys(100)
               .build());
      
       // Lists maximum 100 objects information with version whose names starts with 'E' and after
       // 'ExampleGuide.pdf'.
       Iterable<Result<Item>> results = minioClient.listObjects(
           ListObjectsArgs.builder()
               .bucket("my-bucketname")
               .startAfter("ExampleGuide.pdf")
               .prefix("E")
               .maxKeys(100)
               .includeVersions(true)
               .build());
       
      Parameters:
      args - Instance of ListObjectsArgs built using the builder
      Returns:
      Iterable<Result<Item>> - Lazy iterator contains object information.
    • listBuckets

      public List<ListAllMyBucketsResult.Bucket> listBuckets() throws MinioException
      Lists bucket information of all buckets.
      Example:
       List<ListAllMyBucketsResult.Bucket> bucketList = minioClient.listBuckets();
       for (Bucket bucket : bucketList) {
         System.out.println(bucket.creationDate() + ", " + bucket.name());
       }
       
      Returns:
      List<ListAllMyBucketsResult.Bucket> - List of bucket information.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • listBuckets

      Lists bucket information of all buckets.
      Example:
       Iterable<Result<ListAllMyBucketsResult.Bucket>> results = minioClient.listBuckets(ListBucketsArgs.builder().build());
       for (Result<ListAllMyBucketsResult.Bucket> result : results) {
         Bucket bucket = result.get();
         System.out.println(String.format("Bucket: %s, Region: %s, CreationDate: %s", bucket.name(), bucket.bucketRegion(), bucket.creationDate()));
       }
       
      Returns:
      Iterable<List<ListAllMyBucketsResult.Bucket>> object.
    • bucketExists

      public boolean bucketExists(BucketExistsArgs args) throws MinioException
      Checks if a bucket exists.
      Example:
       boolean found =
            minioClient.bucketExists(BucketExistsArgs.builder().bucket("my-bucketname").build());
       if (found) {
         System.out.println("my-bucketname exists");
       } else {
         System.out.println("my-bucketname does not exist");
       }
       
      Parameters:
      args - BucketExistsArgs object.
      Returns:
      boolean - True if the bucket exists.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • makeBucket

      public void makeBucket(MakeBucketArgs args) throws MinioException
      Creates a bucket with region and object lock.
      Example:
       // Create bucket with default region.
       minioClient.makeBucket(
           MakeBucketArgs.builder()
               .bucket("my-bucketname")
               .build());
      
       // Create bucket with specific region.
       minioClient.makeBucket(
           MakeBucketArgs.builder()
               .bucket("my-bucketname")
               .region("us-west-1")
               .build());
      
       // Create object-lock enabled bucket with specific region.
       minioClient.makeBucket(
           MakeBucketArgs.builder()
               .bucket("my-bucketname")
               .region("us-west-1")
               .objectLock(true)
               .build());
       
      Parameters:
      args - Object with bucket name, region and lock functionality
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketVersioning

      public void setBucketVersioning(SetBucketVersioningArgs args) throws MinioException
      Sets versioning configuration of a bucket.
      Example:
       minioClient.setBucketVersioning(
           SetBucketVersioningArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketVersioningArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketVersioning

      public VersioningConfiguration getBucketVersioning(GetBucketVersioningArgs args) throws MinioException
      Gets versioning configuration of a bucket.
      Example:
       VersioningConfiguration config =
           minioClient.getBucketVersioning(
               GetBucketVersioningArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketVersioningArgs object.
      Returns:
      VersioningConfiguration - Versioning configuration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setObjectLockConfiguration

      public void setObjectLockConfiguration(SetObjectLockConfigurationArgs args) throws MinioException
      Sets default object retention in a bucket.
      Example:
       ObjectLockConfiguration config = new ObjectLockConfiguration(
           RetentionMode.COMPLIANCE, new RetentionDurationDays(100));
       minioClient.setObjectLockConfiguration(
           SetObjectLockConfigurationArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetObjectLockConfigurationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteObjectLockConfiguration

      public void deleteObjectLockConfiguration(DeleteObjectLockConfigurationArgs args) throws MinioException
      Deletes default object retention in a bucket.
      Example:
       minioClient.deleteObjectLockConfiguration(
           DeleteObjectLockConfigurationArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteObjectLockConfigurationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getObjectLockConfiguration

      public ObjectLockConfiguration getObjectLockConfiguration(GetObjectLockConfigurationArgs args) throws MinioException
      Gets default object retention in a bucket.
      Example:
       ObjectLockConfiguration config =
           minioClient.getObjectLockConfiguration(
               GetObjectLockConfigurationArgs.builder().bucket("my-bucketname").build());
       System.out.println("Mode: " + config.mode());
       System.out.println(
           "Duration: " + config.duration().duration() + " " + config.duration().unit());
       
      Parameters:
      args - GetObjectLockConfigurationArgs object.
      Returns:
      ObjectLockConfiguration - Default retention configuration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setObjectRetention

      public void setObjectRetention(SetObjectRetentionArgs args) throws MinioException
      Sets retention configuration to an object.
      Example:
        Retention retention = new Retention(
             RetentionMode.COMPLIANCE, ZonedDateTime.now().plusYears(1));
        minioClient.setObjectRetention(
            SetObjectRetentionArgs.builder()
                .bucket("my-bucketname")
                .object("my-objectname")
                .config(config)
                .bypassGovernanceMode(true)
                .build());
       
      Parameters:
      args - SetObjectRetentionArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getObjectRetention

      public Retention getObjectRetention(GetObjectRetentionArgs args) throws MinioException
      Gets retention configuration of an object.
      Example:
       Retention retention =
           minioClient.getObjectRetention(GetObjectRetentionArgs.builder()
              .bucket(bucketName)
              .object(objectName)
              .versionId(versionId)
              .build()););
       System.out.println(
           "mode: " + retention.mode() + "until: " + retention.retainUntilDate());
       
      Parameters:
      args - GetObjectRetentionArgs object.
      Returns:
      Retention - Object retention configuration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • enableObjectLegalHold

      public void enableObjectLegalHold(EnableObjectLegalHoldArgs args) throws MinioException
      Enables legal hold on an object.
      Example:
       minioClient.enableObjectLegalHold(
          EnableObjectLegalHoldArgs.builder()
              .bucket("my-bucketname")
              .object("my-objectname")
              .versionId("object-versionId")
              .build());
       
      Parameters:
      args - EnableObjectLegalHoldArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • disableObjectLegalHold

      public void disableObjectLegalHold(DisableObjectLegalHoldArgs args) throws MinioException
      Disables legal hold on an object.
      Example:
       minioClient.disableObjectLegalHold(
          DisableObjectLegalHoldArgs.builder()
              .bucket("my-bucketname")
              .object("my-objectname")
              .versionId("object-versionId")
              .build());
       
      Parameters:
      args - DisableObjectLegalHoldArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • isObjectLegalHoldEnabled

      public boolean isObjectLegalHoldEnabled(IsObjectLegalHoldEnabledArgs args) throws MinioException
      Returns true if legal hold is enabled on an object.
      Example:
       boolean status =
           s3Client.isObjectLegalHoldEnabled(
              IsObjectLegalHoldEnabledArgs.builder()
                   .bucket("my-bucketname")
                   .object("my-objectname")
                   .versionId("object-versionId")
                   .build());
       if (status) {
         System.out.println("Legal hold is on");
        } else {
         System.out.println("Legal hold is off");
        }
       
      args IsObjectLegalHoldEnabledArgs object.
      Returns:
      boolean - True if legal hold is enabled.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • removeBucket

      public void removeBucket(RemoveBucketArgs args) throws MinioException
      Removes an empty bucket using arguments
      Example:
       minioClient.removeBucket(RemoveBucketArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - RemoveBucketArgs bucket.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • putObject

      public ObjectWriteResponse putObject(PutObjectArgs args) throws MinioException
      Uploads data from a stream to an object.
      Example:
       // Upload known sized input stream.
       minioClient.putObject(
           PutObjectArgs.builder().bucket("my-bucketname").object("my-objectname").stream(
                   inputStream, size, -1)
               .contentType("video/mp4")
               .build());
      
       // Upload unknown sized input stream.
       minioClient.putObject(
           PutObjectArgs.builder().bucket("my-bucketname").object("my-objectname").stream(
                   inputStream, -1, 10485760)
               .contentType("video/mp4")
               .build());
      
       // Create object ends with '/' (also called as folder or directory).
       minioClient.putObject(
           PutObjectArgs.builder().bucket("my-bucketname").object("path/to/").stream(
                   new ByteArrayInputStream(new byte[] {}), 0, -1)
               .build());
      
       // Upload input stream with headers and user metadata.
       Map<String, String> headers = new HashMap<>();
       headers.put("X-Amz-Storage-Class", "REDUCED_REDUNDANCY");
       Map<String, String> userMetadata = new HashMap<>();
       userMetadata.put("My-Project", "Project One");
       minioClient.putObject(
           PutObjectArgs.builder().bucket("my-bucketname").object("my-objectname").stream(
                   inputStream, size, -1)
               .headers(headers)
               .userMetadata(userMetadata)
               .build());
      
       // Upload input stream with server-side encryption.
       minioClient.putObject(
           PutObjectArgs.builder().bucket("my-bucketname").object("my-objectname").stream(
                   inputStream, size, -1)
               .sse(sse)
               .build());
       
      Parameters:
      args - PutObjectArgs object.
      Returns:
      ObjectWriteResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • uploadObject

      public ObjectWriteResponse uploadObject(UploadObjectArgs args) throws MinioException
      Uploads data from a file to an object.
      Example:
       // Upload an JSON file.
       minioClient.uploadObject(
           UploadObjectArgs.builder()
               .bucket("my-bucketname").object("my-objectname").filename("person.json").build());
      
       // Upload a video file.
       minioClient.uploadObject(
           UploadObjectArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .filename("my-video.avi")
               .contentType("video/mp4")
               .build());
       
      Parameters:
      args - UploadObjectArgs object.
      Returns:
      ObjectWriteResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketPolicy

      public String getBucketPolicy(GetBucketPolicyArgs args) throws MinioException
      Gets bucket policy configuration of a bucket.
      Example:
       String config =
           minioClient.getBucketPolicy(GetBucketPolicyArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketPolicyArgs object.
      Returns:
      String - Bucket policy configuration as JSON string.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketPolicy

      public void setBucketPolicy(SetBucketPolicyArgs args) throws MinioException
      Sets bucket policy configuration to a bucket.
      Example:
       // Assume policyJson contains below JSON string;
       // {
       //     "Statement": [
       //         {
       //             "Action": [
       //                 "s3:GetBucketLocation",
       //                 "s3:ListBucket"
       //             ],
       //             "Effect": "Allow",
       //             "Principal": "*",
       //             "Resource": "arn:aws:s3:::my-bucketname"
       //         },
       //         {
       //             "Action": "s3:GetObject",
       //             "Effect": "Allow",
       //             "Principal": "*",
       //             "Resource": "arn:aws:s3:::my-bucketname/myobject*"
       //         }
       //     ],
       //     "Version": "2012-10-17"
       // }
       //
       minioClient.setBucketPolicy(
           SetBucketPolicyArgs.builder().bucket("my-bucketname").config(policyJson).build());
       
      Parameters:
      args - SetBucketPolicyArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketPolicy

      public void deleteBucketPolicy(DeleteBucketPolicyArgs args) throws MinioException
      Deletes bucket policy configuration to a bucket.
      Example:
       minioClient.deleteBucketPolicy(DeleteBucketPolicyArgs.builder().bucket("my-bucketname"));
       
      Parameters:
      args - DeleteBucketPolicyArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketLifecycle

      public void setBucketLifecycle(SetBucketLifecycleArgs args) throws MinioException
      Sets lifecycle configuration to a bucket.
      Example:
       List<LifecycleRule> rules = new ArrayList<>();
       rules.add(
           new LifecycleRule(
               Status.ENABLED,
               null,
               new Expiration((ZonedDateTime) null, 365, null),
               new RuleFilter("logs/"),
               "rule2",
               null,
               null,
               null));
       LifecycleConfiguration config = new LifecycleConfiguration(rules);
       minioClient.setBucketLifecycle(
           SetBucketLifecycleArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketLifecycleArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketLifecycle

      public void deleteBucketLifecycle(DeleteBucketLifecycleArgs args) throws MinioException
      Deletes lifecycle configuration of a bucket.
      Example:
       deleteBucketLifecycle(DeleteBucketLifecycleArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteBucketLifecycleArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketLifecycle

      public LifecycleConfiguration getBucketLifecycle(GetBucketLifecycleArgs args) throws MinioException
      Gets lifecycle configuration of a bucket.
      Example:
       LifecycleConfiguration config =
           minioClient.getBucketLifecycle(
               GetBucketLifecycleArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketLifecycleArgs object.
      Returns:
      LifecycleConfiguration object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketNotification

      public NotificationConfiguration getBucketNotification(GetBucketNotificationArgs args) throws MinioException
      Gets notification configuration of a bucket.
      Example:
       NotificationConfiguration config =
           minioClient.getBucketNotification(
               GetBucketNotificationArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketNotificationArgs object.
      Returns:
      NotificationConfiguration - Notification configuration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketNotification

      public void setBucketNotification(SetBucketNotificationArgs args) throws MinioException
      Sets notification configuration to a bucket.
      Example:
       List<EventType> eventList = new ArrayList<>();
       eventList.add(EventType.OBJECT_CREATED_PUT);
       eventList.add(EventType.OBJECT_CREATED_COPY);
      
       QueueConfiguration queueConfiguration = new QueueConfiguration();
       queueConfiguration.setQueue("arn:minio:sqs::1:webhook");
       queueConfiguration.setEvents(eventList);
       queueConfiguration.setPrefixRule("images");
       queueConfiguration.setSuffixRule("pg");
      
       List<QueueConfiguration> queueConfigurationList = new ArrayList<>();
       queueConfigurationList.add(queueConfiguration);
      
       NotificationConfiguration config = new NotificationConfiguration();
       config.setQueueConfigurationList(queueConfigurationList);
      
       minioClient.setBucketNotification(
           SetBucketNotificationArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketNotificationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketNotification

      public void deleteBucketNotification(DeleteBucketNotificationArgs args) throws MinioException
      Deletes notification configuration of a bucket.
      Example:
       minioClient.deleteBucketNotification(
           DeleteBucketNotificationArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteBucketNotificationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketReplication

      public ReplicationConfiguration getBucketReplication(GetBucketReplicationArgs args) throws MinioException
      Gets bucket replication configuration of a bucket.
      Example:
       ReplicationConfiguration config =
           minioClient.getBucketReplication(
               GetBucketReplicationArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketReplicationArgs object.
      Returns:
      ReplicationConfiguration object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketReplication

      public void setBucketReplication(SetBucketReplicationArgs args) throws MinioException
      Sets bucket replication configuration to a bucket.
      Example:
       Map<String, String> tags = new HashMap<>();
       tags.put("key1", "value1");
       tags.put("key2", "value2");
      
       ReplicationRule rule =
           new ReplicationRule(
               new DeleteMarkerReplication(Status.DISABLED),
               new ReplicationDestination(
                   null, null, "REPLACE-WITH-ACTUAL-DESTINATION-BUCKET-ARN", null, null, null, null),
               null,
               new RuleFilter(new AndOperator("TaxDocs", tags)),
               "rule1",
               null,
               1,
               null,
               Status.ENABLED);
      
       List<ReplicationRule> rules = new ArrayList<>();
       rules.add(rule);
      
       ReplicationConfiguration config =
           new ReplicationConfiguration("REPLACE-WITH-ACTUAL-ROLE", rules);
      
       minioClient.setBucketReplication(
           SetBucketReplicationArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketReplicationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketReplication

      public void deleteBucketReplication(DeleteBucketReplicationArgs args) throws MinioException
      Deletes bucket replication configuration from a bucket.
      Example:
       minioClient.deleteBucketReplication(
           DeleteBucketReplicationArgs.builder().bucket("my-bucketname"));
       
      Parameters:
      args - DeleteBucketReplicationArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • listenBucketNotification

      Listens events of object prefix and suffix of a bucket. The returned closable iterator is lazily evaluated hence its required to iterate to get new records and must be used with try-with-resource to release underneath network resources.
      Example:
       String[] events = {"s3:ObjectCreated:*", "s3:ObjectAccessed:*"};
       try (CloseableIterator<Result<NotificationRecords>> ci =
           minioClient.listenBucketNotification(
               ListenBucketNotificationArgs.builder()
                   .bucket("bucketName")
                   .prefix("")
                   .suffix("")
                   .events(events)
                   .build())) {
         while (ci.hasNext()) {
           NotificationRecords records = ci.next().get();
           for (Event event : records.events()) {
             System.out.println("Event " + event.eventType() + " occurred at "
                 + event.eventTime() + " for " + event.bucketName() + "/"
                 + event.objectName());
           }
         }
       }
       
      Parameters:
      args - ListenBucketNotificationArgs object.
      Returns:
      CloseableIterator<Result<NotificationRecords>> - Lazy closable iterator contains event records.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • selectObjectContent

      public SelectResponseStream selectObjectContent(SelectObjectContentArgs args) throws MinioException
      Selects content of an object by SQL expression.
      Example:
       String sqlExpression = "select * from S3Object";
       InputSerialization is =
           new InputSerialization(null, false, null, null, FileHeaderInfo.USE, null, null,
               null);
       OutputSerialization os =
           new OutputSerialization(null, null, null, QuoteFields.ASNEEDED, null);
       SelectResponseStream stream =
           minioClient.selectObjectContent(
             SelectObjectContentArgs.builder()
             .bucket("my-bucketname")
             .object("my-objectname")
             .sqlExpression(sqlExpression)
             .inputSerialization(is)
             .outputSerialization(os)
             .requestProgress(true)
             .build());
      
       byte[] buf = new byte[512];
       int bytesRead = stream.read(buf, 0, buf.length);
       System.out.println(new String(buf, 0, bytesRead, StandardCharsets.UTF_8));
      
       Stats stats = stream.stats();
       System.out.println("bytes scanned: " + stats.bytesScanned());
       System.out.println("bytes processed: " + stats.bytesProcessed());
       System.out.println("bytes returned: " + stats.bytesReturned());
      
       stream.close();
       
      Parameters:
      args - instance of SelectObjectContentArgs
      Returns:
      SelectResponseStream - Contains filtered records and progress.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketEncryption

      public void setBucketEncryption(SetBucketEncryptionArgs args) throws MinioException
      Sets encryption configuration of a bucket.
      Example:
       minioClient.setBucketEncryption(
           SetBucketEncryptionArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketEncryptionArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketEncryption

      public SseConfiguration getBucketEncryption(GetBucketEncryptionArgs args) throws MinioException
      Gets encryption configuration of a bucket.
      Example:
       SseConfiguration config =
           minioClient.getBucketEncryption(
               GetBucketEncryptionArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketEncryptionArgs object.
      Returns:
      SseConfiguration - Server-side encryption configuration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketEncryption

      public void deleteBucketEncryption(DeleteBucketEncryptionArgs args) throws MinioException
      Deletes encryption configuration of a bucket.
      Example:
       minioClient.deleteBucketEncryption(
           DeleteBucketEncryptionArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteBucketEncryptionArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketTags

      public Tags getBucketTags(GetBucketTagsArgs args) throws MinioException
      Gets tags of a bucket.
      Example:
       Tags tags =
           minioClient.getBucketTags(GetBucketTagsArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketTagsArgs object.
      Returns:
      Tags - Tags.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketTags

      public void setBucketTags(SetBucketTagsArgs args) throws MinioException
      Sets tags to a bucket.
      Example:
       Map<String, String> map = new HashMap<>();
       map.put("Project", "Project One");
       map.put("User", "jsmith");
       minioClient.setBucketTags(
           SetBucketTagsArgs.builder().bucket("my-bucketname").tags(map).build());
       
      Parameters:
      args - SetBucketTagsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketTags

      public void deleteBucketTags(DeleteBucketTagsArgs args) throws MinioException
      Deletes tags of a bucket.
      Example:
       minioClient.deleteBucketTags(DeleteBucketTagsArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteBucketTagsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getObjectTags

      public Tags getObjectTags(GetObjectTagsArgs args) throws MinioException
      Gets tags of an object.
      Example:
       Tags tags =
           minioClient.getObjectTags(
               GetObjectTagsArgs.builder().bucket("my-bucketname").object("my-objectname").build());
       
      Parameters:
      args - GetObjectTagsArgs object.
      Returns:
      Tags - Tags.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setObjectTags

      public void setObjectTags(SetObjectTagsArgs args) throws MinioException
      Sets tags to an object.
      Example:
       Map<String, String> map = new HashMap<>();
       map.put("Project", "Project One");
       map.put("User", "jsmith");
       minioClient.setObjectTags(
           SetObjectTagsArgs.builder()
               .bucket("my-bucketname")
               .object("my-objectname")
               .tags((map)
               .build());
       
      Parameters:
      args - SetObjectTagsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteObjectTags

      public void deleteObjectTags(DeleteObjectTagsArgs args) throws MinioException
      Deletes tags of an object.
      Example:
       minioClient.deleteObjectTags(
           DeleteObjectTags.builder().bucket("my-bucketname").object("my-objectname").build());
       
      Parameters:
      args - DeleteObjectTagsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getBucketCors

      public CORSConfiguration getBucketCors(GetBucketCorsArgs args) throws MinioException
      Gets CORS configuration of a bucket.
      Example:
       CORSConfiguration config =
           minioClient.getBucketCors(GetBucketCorsArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - GetBucketCorsArgs object.
      Returns:
      CORSConfiguration - CORSConfiguration.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setBucketCors

      public void setBucketCors(SetBucketCorsArgs args) throws MinioException
      Sets CORS configuration to a bucket.
      Example:
       CORSConfiguration config =
           new CORSConfiguration(
               Arrays.asList(
                   new CORSConfiguration.CORSRule[] {
                     // Rule 1
                     new CORSConfiguration.CORSRule(
                         Arrays.asList(new String[] {"*"}), // Allowed headers
                         Arrays.asList(new String[] {"PUT", "POST", "DELETE"}), // Allowed methods
                         Arrays.asList(new String[] {"http://www.example.com"}), // Allowed origins
                         Arrays.asList(
                             new String[] {"x-amz-server-side-encryption"}), // Expose headers
                         null, // ID
                         3000), // Maximum age seconds
                     // Rule 2
                     new CORSConfiguration.CORSRule(
                         null, // Allowed headers
                         Arrays.asList(new String[] {"GET"}), // Allowed methods
                         Arrays.asList(new String[] {"*"}), // Allowed origins
                         null, // Expose headers
                         null, // ID
                         null // Maximum age seconds
                         )
                   }));
       minioClient.setBucketCors(
           SetBucketCorsArgs.builder().bucket("my-bucketname").config(config).build());
       
      Parameters:
      args - SetBucketCorsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • deleteBucketCors

      public void deleteBucketCors(DeleteBucketCorsArgs args) throws MinioException
      Deletes CORS configuration of a bucket.
      Example:
       minioClient.deleteBucketCors(DeleteBucketCorsArgs.builder().bucket("my-bucketname").build());
       
      Parameters:
      args - DeleteBucketCorsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getObjectAcl

      public AccessControlPolicy getObjectAcl(GetObjectAclArgs args) throws MinioException
      Gets access control policy of an object.
      Example:
       AccessControlPolicy policy =
           minioClient.getObjectAcl(
               GetObjectAclArgs.builder().bucket("my-bucketname").object("my-objectname").build());
       
      Parameters:
      args - GetObjectAclArgs object.
      Returns:
      AccessControlPolicy - Access control policy object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • getObjectAttributes

      public GetObjectAttributesResponse getObjectAttributes(GetObjectAttributesArgs args) throws MinioException
      Gets attributes of an object.
      Example:
       GetObjectAttributesResponse response =
           minioClient.getObjectAttributes(
               GetObjectAttributesArgs.builder()
                   .bucket("my-bucketname")
                   .object("my-objectname")
                   .objectAttributes(
                       new String[] {
                         "ETag", "Checksum", "ObjectParts", "StorageClass", "ObjectSize"
                       })
                   .build());
       
      Parameters:
      args - GetObjectAttributesArgs object.
      Returns:
      GetObjectAttributesResponse - Response object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • uploadSnowballObjects

      public ObjectWriteResponse uploadSnowballObjects(UploadSnowballObjectsArgs args) throws MinioException
      Uploads multiple objects in a single put call. It is done by creating intermediate TAR file optionally compressed which is uploaded to S3 service.
      Example:
       // Upload snowball objects.
       List<SnowballObject> objects = new ArrayList<SnowballObject>();
       objects.add(
           new SnowballObject(
               "my-object-one",
               new ByteArrayInputStream("hello".getBytes(StandardCharsets.UTF_8)),
               5,
               null));
       objects.add(
           new SnowballObject(
               "my-object-two",
               new ByteArrayInputStream("java".getBytes(StandardCharsets.UTF_8)),
               4,
               null));
       minioClient.uploadSnowballObjects(
           UploadSnowballObjectsArgs.builder().bucket("my-bucketname").objects(objects).build());
       
      Parameters:
      args - UploadSnowballObjectsArgs object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • putObjectFanOut

      public PutObjectFanOutResponse putObjectFanOut(PutObjectFanOutArgs args) throws MinioException
      Uploads multiple objects with same content from single stream with optional metadata and tags.
      Example:
       Map<String, String> map = new HashMap<>();
       map.put("Project", "Project One");
       map.put("User", "jsmith");
       PutObjectFanOutResponse future =
           minioClient.putObjectFanOut(
               PutObjectFanOutArgs.builder().bucket("my-bucketname").stream(
                       new ByteArrayInputStream("somedata".getBytes(StandardCharsets.UTF_8)), 8)
                   .entries(
                       Arrays.asList(
                           new PutObjectFanOutEntry[] {
                             PutObjectFanOutEntry.builder().key("fan-out.0").build(),
                             PutObjectFanOutEntry.builder().key("fan-out.1").tags(map).build()
                           }))
                   .build());
       
      Parameters:
      args - PutObjectFanOutArgs object.
      Returns:
      PutObjectFanOutResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • promptObject

      public PromptObjectResponse promptObject(PromptObjectArgs args) throws MinioException
      Performs language model inference with the prompt and referenced object as context.
      Parameters:
      args - PromptObjectArgs object.
      Returns:
      PromptObjectResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • appendObject

      public ObjectWriteResponse appendObject(AppendObjectArgs args) throws MinioException
      Appends from a file, stream or data to existing object in a bucket.
      Parameters:
      args - AppendObjectArgs object.
      Returns:
      ObjectWriteResponse object.
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setTimeout

      public void setTimeout(long connectTimeout, long writeTimeout, long readTimeout)
      Sets HTTP connect, write and read timeouts. A value of 0 means no timeout, otherwise values must be between 1 and Integer.MAX_VALUE when converted to milliseconds.
      Example:
       minioClient.setTimeout(TimeUnit.SECONDS.toMillis(10), TimeUnit.SECONDS.toMillis(10),
           TimeUnit.SECONDS.toMillis(30));
       
      Parameters:
      connectTimeout - HTTP connect timeout in milliseconds.
      writeTimeout - HTTP write timeout in milliseconds.
      readTimeout - HTTP read timeout in milliseconds.
    • setRetry

      public void setRetry(Set<Integer> retryStatusCodes, Long delayMs, Integer maxRetries)
      Sets request retry parameters. Any null/invalid values disable retry.
      Example:
       minioClient.setRetry(ImmutableSet.of(408, 504), 250, 3);
       
      Parameters:
      retryStatusCodes - HTTP status codes to be retried.
      delayMs - Delay between retries.
      maxRetries - Maximum number of retry attempts.
    • ignoreCertCheck

      public void ignoreCertCheck() throws MinioException
      Ignores check on server certificate for HTTPS connection.
      Example:
       minioClient.ignoreCertCheck();
       
      Throws:
      MinioException - thrown to indicate SDK exception.
    • setAppInfo

      public void setAppInfo(String name, String version)
      Sets application's name/version to user agent. For more information about user agent refer #rfc2616.
      Parameters:
      name - Your application name.
      version - Your application version.
    • traceOn

      public void traceOn(OutputStream traceStream)
      Enables HTTP call tracing and written to traceStream.
      Parameters:
      traceStream - OutputStream for writing HTTP call tracing.
      See Also:
    • traceOff

      public void traceOff()
      Disables HTTP call tracing previously enabled.
      See Also:
    • enableDualStackEndpoint

      public void enableDualStackEndpoint()
      Enables dual-stack endpoint for Amazon S3 endpoint.
    • disableDualStackEndpoint

      public void disableDualStackEndpoint()
      Disables dual-stack endpoint for Amazon S3 endpoint.
    • enableVirtualStyleEndpoint

      public void enableVirtualStyleEndpoint()
      Enables virtual-style endpoint.
    • disableVirtualStyleEndpoint

      public void disableVirtualStyleEndpoint()
      Disables virtual-style endpoint.
    • setAwsS3Prefix

      public void setAwsS3Prefix(String awsS3Prefix)
      Sets AWS S3 domain prefix.
    • close

      public void close() throws Exception
      Closes underneath async client.
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception
    • builder

      public static MinioClient.Builder builder()
      Creates new MinioClient.Builder.