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.