我正在尝试使用aws-sdk-
java AwsS3client与minio存储进行通信.从CLI我可以做到:
aws --profile=minioplay --endpoint-url https://play.minio.io:9000 s3 cp logback.xml s3://miniohstest-jixusroqeb --debug
因此使用非默认配置文件和自定义端点.
不知道如何从java sdk执行此操作(我能够吗?).
我粗略地将上面的awscli命令翻译成这个scala片段:
val cred = ...
val endpoint = "https://play.minio.io:9000"
val client = AmazonS3ClientBuilder
.standard()
.withCredentials(cred)
.withEndpointConfiguration(
new EndpointConfiguration(
endpoint,
AwsHostNameUtils.parseRegion(endpoint, AmazonS3Client.S3_SERVICE_NAME)
)
)
.build()
使用上面的客户端我只能做出非常简单的请求,例如:
client.listBuckets().asScala.foreach(println(_))
哪个有效.但是当我尝试做一些先进的事情时,例如:
val listRequest = new ListObjectsRequest()
.withBucketName("miniohstes