feat:【infra】s3 增加 region 配置

This commit is contained in:
YunaiV 2025-11-29 12:10:55 +08:00
parent 94ee7d657d
commit 35b6f9d31c
2 changed files with 7 additions and 10 deletions

View File

@ -173,13 +173,13 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
return config.getRegion();
}
// 2. 尝试从 endpoint 中解析 region
// 2.1 尝试从 endpoint 中解析 region
String endpoint = config.getEndpoint();
if (StrUtil.isEmpty(endpoint)) {
return "us-east-1";
}
// 移除协议头http:// https://
// 2.2 移除协议头http:// https://
String host = endpoint;
if (HttpUtil.isHttp(endpoint) || HttpUtil.isHttps(endpoint)) {
try {
@ -189,12 +189,11 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
return "us-east-1";
}
}
if (StrUtil.isEmpty(host)) {
return "us-east-1";
}
// 3. AWS S3 格式s3.us-west-2.amazonaws.com s3.amazonaws.com
// 3.1 AWS S3 格式s3.us-west-2.amazonaws.com s3.amazonaws.com
if (host.contains("amazonaws.com")) {
// 匹配 s3.{region}.amazonaws.com 格式
if (host.startsWith("s3.") && host.contains(".amazonaws.com")) {
@ -206,8 +205,7 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
// s3.amazonaws.com s3-accelerate.amazonaws.com 使用默认值
return "us-east-1";
}
// 4. 阿里云 OSS 格式oss-cn-beijing.aliyuncs.com
// 3.2 阿里云 OSS 格式oss-cn-beijing.aliyuncs.com
if (host.contains(S3FileClientConfig.ENDPOINT_ALIYUN)) {
// 匹配 oss-{region}.aliyuncs.com 格式
if (host.startsWith("oss-") && host.contains("." + S3FileClientConfig.ENDPOINT_ALIYUN)) {
@ -217,8 +215,7 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
}
}
}
// 5. 腾讯云 COS 格式cos.ap-shanghai.myqcloud.com
// 3.3 腾讯云 COS 格式cos.ap-shanghai.myqcloud.com
if (host.contains(S3FileClientConfig.ENDPOINT_TENCENT)) {
// 匹配 cos.{region}.myqcloud.com 格式
if (host.startsWith("cos.") && host.contains("." + S3FileClientConfig.ENDPOINT_TENCENT)) {
@ -229,7 +226,7 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
}
}
// 6. 其他情况MinIO七牛云等使用默认值
// 3.4 其他情况MinIO七牛云等使用默认值
return "us-east-1";
}

View File

@ -83,7 +83,7 @@ public class S3FileClientConfig implements FileClientConfig {
private Boolean enablePublicAccess;
/**
* AWS 区域
* 区域
* 1. AWS S3https://docs.aws.amazon.com/general/latest/gr/s3.html 例如说us-east-1us-west-2
* 2. MinIO可以填任意值通常使用 us-east-1
* 3. 阿里云不需要填写会自动识别