minio / minio-java

MinIO Client SDK for Java
https://docs.min.io/docs/java-client-quickstart-guide.html
Apache License 2.0
1.1k stars 480 forks source link

List Buckets on Google Cloud Storage #1545

Closed raymanrt closed 5 months ago

raymanrt commented 5 months ago

Hello, I'm using minio-java to work with my GCS buckets.

Many calls are ok, but the following code:

        MinioClient client = MinioClient.builder()
                .endpoint("https://storage.googleapis.com")
                .credentials("ACCESS_KEY", "SECRET_KEY")
                .build();

        List<Bucket> bucketList = client.listBuckets();

Gives me the following exception:

/Users/rtasso/.sdkman/candidates/java/21-oracle/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=55602:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/rtasso/IdeaProjects/efra/efra-datahub-api/target/classes:/Users/rtasso/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.16.1/jackson-databind-2.16.1.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-actuator/3.1.4/spring-boot-starter-actuator-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter/3.1.4/spring-boot-starter-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot/3.1.4/spring-boot-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.1.4/spring-boot-autoconfigure-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-logging/3.1.4/spring-boot-starter-logging-3.1.4.jar:/Users/rtasso/.m2/repository/ch/qos/logback/logback-classic/1.4.11/logback-classic-1.4.11.jar:/Users/rtasso/.m2/repository/ch/qos/logback/logback-core/1.4.11/logback-core-1.4.11.jar:/Users/rtasso/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.20.0/log4j-to-slf4j-2.20.0.jar:/Users/rtasso/.m2/repository/org/apache/logging/log4j/log4j-api/2.20.0/log4j-api-2.20.0.jar:/Users/rtasso/.m2/repository/org/slf4j/jul-to-slf4j/2.0.9/jul-to-slf4j-2.0.9.jar:/Users/rtasso/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar:/Users/rtasso/.m2/repository/org/yaml/snakeyaml/1.33/snakeyaml-1.33.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-actuator-autoconfigure/3.1.4/spring-boot-actuator-autoconfigure-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-actuator/3.1.4/spring-boot-actuator-3.1.4.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.15.2/jackson-datatype-jsr310-2.15.2.jar:/Users/rtasso/.m2/repository/io/micrometer/micrometer-observation/1.11.4/micrometer-observation-1.11.4.jar:/Users/rtasso/.m2/repository/io/micrometer/micrometer-commons/1.11.4/micrometer-commons-1.11.4.jar:/Users/rtasso/.m2/repository/io/micrometer/micrometer-core/1.11.4/micrometer-core-1.11.4.jar:/Users/rtasso/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar:/Users/rtasso/.m2/repository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-web/3.1.4/spring-boot-starter-web-3.1.4.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-json/3.1.4/spring-boot-starter-json-3.1.4.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.15.2/jackson-datatype-jdk8-2.15.2.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.15.2/jackson-module-parameter-names-2.15.2.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/3.1.4/spring-boot-starter-tomcat-3.1.4.jar:/Users/rtasso/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/10.1.13/tomcat-embed-core-10.1.13.jar:/Users/rtasso/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/10.1.13/tomcat-embed-el-10.1.13.jar:/Users/rtasso/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/10.1.13/tomcat-embed-websocket-10.1.13.jar:/Users/rtasso/.m2/repository/org/springframework/spring-web/6.0.12/spring-web-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-beans/6.0.12/spring-beans-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-webmvc/6.0.12/spring-webmvc-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-aop/6.0.12/spring-aop-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-context/6.0.12/spring-context-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-expression/6.0.12/spring-expression-6.0.12.jar:/Users/rtasso/.m2/repository/org/flywaydb/flyway-core/9.16.3/flyway-core-9.16.3.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.15.2/jackson-dataformat-toml-2.15.2.jar:/Users/rtasso/.m2/repository/org/apache/commons/commons-text/1.10.0/commons-text-1.10.0.jar:/Users/rtasso/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/Users/rtasso/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-starter/3.0.2/mybatis-spring-boot-starter-3.0.2.jar:/Users/rtasso/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/3.1.4/spring-boot-starter-jdbc-3.1.4.jar:/Users/rtasso/.m2/repository/com/zaxxer/HikariCP/5.0.1/HikariCP-5.0.1.jar:/Users/rtasso/.m2/repository/org/springframework/spring-jdbc/6.0.12/spring-jdbc-6.0.12.jar:/Users/rtasso/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/3.0.2/mybatis-spring-boot-autoconfigure-3.0.2.jar:/Users/rtasso/.m2/repository/org/mybatis/mybatis/3.5.13/mybatis-3.5.13.jar:/Users/rtasso/.m2/repository/org/mybatis/mybatis-spring/3.0.2/mybatis-spring-3.0.2.jar:/Users/rtasso/.m2/repository/org/postgresql/postgresql/42.6.0/postgresql-42.6.0.jar:/Users/rtasso/.m2/repository/org/checkerframework/checker-qual/3.31.0/checker-qual-3.31.0.jar:/Users/rtasso/.m2/repository/org/projectlombok/lombok/1.18.30/lombok-1.18.30.jar:/Users/rtasso/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar:/Users/rtasso/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/4.0.1/jakarta.xml.bind-api-4.0.1.jar:/Users/rtasso/.m2/repository/jakarta/activation/jakarta.activation-api/2.1.2/jakarta.activation-api-2.1.2.jar:/Users/rtasso/.m2/repository/org/springframework/spring-core/6.0.12/spring-core-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-jcl/6.0.12/spring-jcl-6.0.12.jar:/Users/rtasso/.m2/repository/org/springframework/spring-tx/6.0.12/spring-tx-6.0.12.jar:/Users/rtasso/.m2/repository/co/elastic/clients/elasticsearch-java/8.7.1/elasticsearch-java-8.7.1.jar:/Users/rtasso/.m2/repository/org/elasticsearch/client/elasticsearch-rest-client/8.7.1/elasticsearch-rest-client-8.7.1.jar:/Users/rtasso/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/Users/rtasso/.m2/repository/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:/Users/rtasso/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.5/httpasyncclient-4.1.5.jar:/Users/rtasso/.m2/repository/org/apache/httpcomponents/httpcore-nio/4.4.16/httpcore-nio-4.4.16.jar:/Users/rtasso/.m2/repository/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:/Users/rtasso/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/rtasso/.m2/repository/jakarta/json/jakarta.json-api/2.1.2/jakarta.json-api-2.1.2.jar:/Users/rtasso/.m2/repository/org/eclipse/parsson/parsson/1.0.0/parsson-1.0.0.jar:/Users/rtasso/.m2/repository/com/aventrix/jnanoid/jnanoid/2.0.0/jnanoid-2.0.0.jar:/Users/rtasso/.m2/repository/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar:/Users/rtasso/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/rtasso/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/rtasso/.m2/repository/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar:/Users/rtasso/.m2/repository/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar:/Users/rtasso/.m2/repository/org/springdoc/springdoc-openapi-starter-webmvc-ui/2.1.0/springdoc-openapi-starter-webmvc-ui-2.1.0.jar:/Users/rtasso/.m2/repository/org/springdoc/springdoc-openapi-starter-webmvc-api/2.1.0/springdoc-openapi-starter-webmvc-api-2.1.0.jar:/Users/rtasso/.m2/repository/org/springdoc/springdoc-openapi-starter-common/2.1.0/springdoc-openapi-starter-common-2.1.0.jar:/Users/rtasso/.m2/repository/io/swagger/core/v3/swagger-core-jakarta/2.2.9/swagger-core-jakarta-2.2.9.jar:/Users/rtasso/.m2/repository/io/swagger/core/v3/swagger-annotations-jakarta/2.2.9/swagger-annotations-jakarta-2.2.9.jar:/Users/rtasso/.m2/repository/io/swagger/core/v3/swagger-models-jakarta/2.2.9/swagger-models-jakarta-2.2.9.jar:/Users/rtasso/.m2/repository/jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar:/Users/rtasso/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.2/jackson-dataformat-yaml-2.15.2.jar:/Users/rtasso/.m2/repository/org/webjars/swagger-ui/4.18.2/swagger-ui-4.18.2.jar:/Users/rtasso/.m2/repository/io/swagger/core/v3/swagger-annotations/2.2.8/swagger-annotations-2.2.8.jar:/Users/rtasso/.m2/repository/org/springframework/spring-test/6.0.12/spring-test-6.0.12.jar:/Users/rtasso/.m2/repository/io/minio/minio/8.5.7/minio-8.5.7.jar:/Users/rtasso/.m2/repository/com/carrotsearch/thirdparty/simple-xml-safe/2.7.1/simple-xml-safe-2.7.1.jar:/Users/rtasso/.m2/repository/com/squareup/okhttp3/okhttp/4.10.0/okhttp-4.10.0.jar:/Users/rtasso/.m2/repository/com/squareup/okio/okio-jvm/3.0.0/okio-jvm-3.0.0.jar:/Users/rtasso/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.22/kotlin-stdlib-jdk8-1.8.22.jar:/Users/rtasso/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.22/kotlin-stdlib-jdk7-1.8.22.jar:/Users/rtasso/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.22/kotlin-stdlib-common-1.8.22.jar:/Users/rtasso/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.8.22/kotlin-stdlib-1.8.22.jar:/Users/rtasso/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/Users/rtasso/.m2/repository/org/bouncycastle/bcprov-jdk18on/1.76/bcprov-jdk18on-1.76.jar:/Users/rtasso/.m2/repository/org/apache/commons/commons-compress/1.24.0/commons-compress-1.24.0.jar:/Users/rtasso/.m2/repository/org/xerial/snappy/snappy-java/1.1.10.5/snappy-java-1.1.10.5.jar it.celi.efra.datahub.TmpMain
Exception in thread "main" io.minio.errors.XmlParserException: org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.Element(name="Owner", type=void.class, data=false, required=true) on field 'owner' private io.minio.messages.Owner io.minio.messages.ListAllMyBucketsResult.owner for class io.minio.messages.ListAllMyBucketsResult at line 1
    at io.minio.Xml.unmarshal(Xml.java:55)
    at io.minio.MinioAsyncClient.lambda$listBuckets$24(MinioAsyncClient.java:1357)
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
    at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
    at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
    at io.minio.S3Base$1.onResponse(S3Base.java:616)
    at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1583)

This seems similar to this issue: https://github.com/minio/minio-java/issues/920 But the solution doesn't work.

Can you help me please?

Riccardo

balamurugana commented 5 months ago

minio-java is for S3 compatible storage, not for GCS.