You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Data Flow S3源对接Minio子域名拼接问题

问题根因

这个行为是AWS S3 Java SDK的默认寻址逻辑导致的,和S3 Source组件本身无关:

  • S3 SDK默认优先使用虚拟主机风格寻址访问存储桶,规则是将桶名作为子域名拼接在配置的服务端点域名前,最终访问地址格式为http(s)://{bucket-name}.{endpoint-host}:{port}。你的场景中桶名为kafka-connect,配置的端点是http://minio:9000,SDK就自动拼接出了http://kafka-connect.minio:9000这个地址。
  • 你的Docker内部网络没有配置*.minio的泛域名解析规则,这个拼接出来的域名无法被DNS识别,自然抛出UnknownHostException异常。
  • 同环境下Kafka Connect S3 Source能正常访问,是因为Kafka Connect的S3连接器对自定义S3兼容服务(比如MinIO)做了默认适配,会自动切换为路径风格寻址,也就是直接访问http(s)://{endpoint-host}:{port}/{bucket-name}格式的地址,不会做子域名拼接。
修复方法

在S3 Source的配置项中新增一条参数,强制SDK使用路径风格寻址即可:

app.s3.cloud.aws.s3.path-style-access-enabled=true

添加该配置后重启流任务,SDK会直接访问http://minio:9000/kafka-connect/路径下的桶资源,不会再拼接子域名,即可正常连通MinIO服务。

补充说明:MinIO本身同时支持两种寻址模式,但本地Docker部署场景下没有配置泛域名解析,必须强制使用路径风格访问,这也是本地对接MinIO等自建S3兼容服务的通用配置项。

内容的提问来源于stack exchange,提问作者Francisco José Martínez Páez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 16:36:28