S3-Java-SDK_使用S3 Java SDK与S3兼容存储(minio)通信

本文档描述了在尝试使用aws-sdk-java的AmazonS3ClientBuilder与MinIO存储进行通信时遇到的问题。作者能够成功列出buckets,但当尝试执行更复杂的操作如listObjectsRequest时,遇到了HTTP请求异常。问题可能涉及到配置或权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值