From 42cd505717e4d214107ef83b5236b8f2734d8db5 Mon Sep 17 00:00:00 2001 From: wy471x Date: Fri, 23 Oct 2026 23:40:17 +0800 Subject: [PATCH] [doc](s3) Fix the wrong property name for path-style access `use_path_style` is the property that enables path-style access for S3 in Doris, and `s3.path-style-access` is accepted as its alias. The docs listed `s3.use_path_style`, which is not a recognized property name and therefore had no effect, so users following the docs could not switch to path-style access. - Update the S3 parameter table and add a note on the valid spellings. - Fix the legacy/alias column of the OSS, OBS and MinIO parameter tables. - Fix the SeaweedFS examples, which require path-style access. Fixes https://github.com/apache/doris/issues/69137 --- docs/lakehouse/storages/aliyun-oss.md | 2 +- docs/lakehouse/storages/huawei-obs.md | 2 +- docs/lakehouse/storages/minio.md | 2 +- docs/lakehouse/storages/s3.md | 4 +++- docs/lakehouse/storages/seaweedfs.md | 8 ++++---- .../current/lakehouse/storages/aliyun-oss.md | 2 +- .../current/lakehouse/storages/huawei-obs.md | 2 +- .../current/lakehouse/storages/minio.md | 2 +- .../current/lakehouse/storages/s3.md | 4 +++- .../current/lakehouse/storages/seaweedfs.md | 8 ++++---- .../version-4.x/lakehouse/storages/aliyun-oss.md | 2 +- .../version-4.x/lakehouse/storages/huawei-obs.md | 2 +- .../version-4.x/lakehouse/storages/minio.md | 2 +- .../version-4.x/lakehouse/storages/s3.md | 4 +++- .../version-4.x/lakehouse/storages/seaweedfs.md | 8 ++++---- .../version-4.x/lakehouse/storages/aliyun-oss.md | 2 +- .../version-4.x/lakehouse/storages/huawei-obs.md | 2 +- versioned_docs/version-4.x/lakehouse/storages/minio.md | 2 +- versioned_docs/version-4.x/lakehouse/storages/s3.md | 4 +++- .../version-4.x/lakehouse/storages/seaweedfs.md | 8 ++++---- 20 files changed, 40 insertions(+), 32 deletions(-) diff --git a/docs/lakehouse/storages/aliyun-oss.md b/docs/lakehouse/storages/aliyun-oss.md index 78972622fa70f6..914470380042ba 100644 --- a/docs/lakehouse/storages/aliyun-oss.md +++ b/docs/lakehouse/storages/aliyun-oss.md @@ -26,7 +26,7 @@ Doris uses S3 Client to access Alibaba Cloud OSS through S3-compatible protocol. | oss.access_key | s3.access_key | OSS Access Key for authentication | None | | oss.secret_key | s3.secret_key | OSS Secret Key, used together with Access Key | None | | oss.region | s3.region | OSS region, specifies the region of Alibaba Cloud OSS | None | -| oss.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | +| oss.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | | oss.connection.maximum | s3.connection.maximum | Maximum number of connections, specifies the maximum number of connections established with OSS service | 50 | | oss.connection.request.timeout | s3.connection.request.timeout| Request timeout (milliseconds), specifies the request timeout when connecting to OSS service | 3000 | | oss.connection.timeout | s3.connection.timeout | Connection timeout (milliseconds), specifies the timeout when establishing connection with OSS service | 1000 | diff --git a/docs/lakehouse/storages/huawei-obs.md b/docs/lakehouse/storages/huawei-obs.md index 4574ffee15d1cb..d44b6f4472ebe6 100644 --- a/docs/lakehouse/storages/huawei-obs.md +++ b/docs/lakehouse/storages/huawei-obs.md @@ -24,7 +24,7 @@ This document describes the parameters required to access Huawei Cloud OBS, whic | obs.access_key | s3.access_key | OBS access key, used for authentication | | Yes | | obs.secret_key | s3.secret_key | OBS secret key, used together with access key for authentication | | Yes | | obs.region | s3.region | OBS region, specifies the region of Huawei Cloud OBS | | No | -| obs.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with non-AWS S3 services like MinIO/Ceph | FALSE | No | +| obs.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with non-AWS S3 services like MinIO/Ceph | FALSE | No | | obs.connection.maximum | s3.connection.maximum | Maximum number of connections to OBS service | 50 | No | | obs.connection.request.timeout | s3.connection.request.timeout | Request timeout in milliseconds for connecting to OBS service | 3000 | No | | obs.connection.timeout | s3.connection.timeout | Connection timeout in milliseconds for establishing connection to OBS service | 1000 | No | diff --git a/docs/lakehouse/storages/minio.md b/docs/lakehouse/storages/minio.md index 690680dcb1ea6b..b47f76133463c2 100644 --- a/docs/lakehouse/storages/minio.md +++ b/docs/lakehouse/storages/minio.md @@ -29,7 +29,7 @@ This document describes the parameters required to access MinIO, which apply to | minio.connection.maximum | s3.connection.maximum | S3 maximum connections, specifies the maximum number of connections established with MinIO service | 50 | No | | minio.connection.request.timeout | s3.connection.request.timeout | S3 request timeout, in milliseconds, specifies the request timeout when connecting to MinIO service | 3000 | No | | minio.connection.timeout | s3.connection.timeout | S3 connection timeout, in milliseconds, specifies the timeout when establishing connection with MinIO service | 1000 | No | -| minio.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | No | +| minio.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | No | ### Using Path-style Access diff --git a/docs/lakehouse/storages/s3.md b/docs/lakehouse/storages/s3.md index 67f7da3a734c7f..3cf3e2b6aefe78 100644 --- a/docs/lakehouse/storages/s3.md +++ b/docs/lakehouse/storages/s3.md @@ -63,7 +63,7 @@ Configure this item on every BE node that may access S3, and ensure that the cer | s3.access_key | | AWS Access Key for authentication | None | No | | s3.secret_key | | AWS Secret Key for authentication | None | No | | s3.region | | S3 region, e.g., `us-east-1`. Strongly recommended | None | Yes | -| s3.use_path_style | | Whether to use path-style access | FALSE | No | +| use_path_style | s3.path-style-access | Whether to use path-style access | FALSE | No | | s3.connection.maximum | | Maximum number of connections for high concurrency scenarios | 50 | No | | s3.connection.request.timeout| | Request timeout (milliseconds), controls connection acquisition timeout | 3000 | No | | s3.connection.timeout | | Connection establishment timeout (milliseconds) | 1000 | No | @@ -73,6 +73,8 @@ Configure this item on every BE node that may access S3, and ensure that the cer > Version note: `s3.credentials_provider_type` is supported since **3.1.4** and **4.0.3**. +> Property name note: the parameter that enables path-style access is `use_path_style`. It has no `s3.` prefix: `s3.use_path_style` is not a recognized property and has no effect. `s3.path-style-access` is accepted as an alias, and S3-compatible services also accept their own prefixed spelling, such as `oss.use_path_style`, `obs.use_path_style`, `minio.use_path_style`, or `ozone.use_path_style`. + ## Authentication Configuration Doris supports the following three methods to access S3: diff --git a/docs/lakehouse/storages/seaweedfs.md b/docs/lakehouse/storages/seaweedfs.md index 5f9b0c2f4f7033..68daddf2d93284 100644 --- a/docs/lakehouse/storages/seaweedfs.md +++ b/docs/lakehouse/storages/seaweedfs.md @@ -42,14 +42,14 @@ SeaweedFS is accessed via the S3-compatible protocol, so it uses the same `s3.*` | s3.access_key | Access key configured in the SeaweedFS S3 IAM config | | Yes | | s3.secret_key | Secret key paired with `s3.access_key` | | Yes | | s3.region | Region. SeaweedFS does not validate the value but the AWS S3 SDK requires one, e.g. `us-east-1` | | Yes | -| s3.use_path_style | Set to `true`. SeaweedFS serves objects under `http:////` | FALSE | No | +| use_path_style | Set to `true`. SeaweedFS serves objects under `http:////` | FALSE | No | | s3.connection.maximum | Maximum number of connections to the SeaweedFS S3 gateway | 50 | No | | s3.connection.request.timeout | Request timeout in milliseconds | 3000 | No | | s3.connection.timeout | Connection establishment timeout in milliseconds | 1000 | No | ### Using path-style access -SeaweedFS uses path-style addressing (`http:////`) and does not provision per-bucket DNS subdomains, so set `s3.use_path_style = true` for every connection. +SeaweedFS uses path-style addressing (`http:////`) and does not provision per-bucket DNS subdomains, so set `use_path_style = true` for every connection. ## Example Configuration @@ -58,12 +58,12 @@ SeaweedFS uses path-style addressing (`http:////`) and do "s3.secret_key" = "your-secret-key", "s3.endpoint" = "http://seaweedfs.example.com:8333", "s3.region" = "us-east-1", -"s3.use_path_style" = "true" +"use_path_style" = "true" ``` ## Usage Recommendations -* Set `s3.use_path_style = true`. SeaweedFS does not use per-bucket DNS subdomains. +* Set `use_path_style = true`. SeaweedFS does not use per-bucket DNS subdomains. * `s3.region` is required by the AWS S3 SDK but ignored by SeaweedFS — any non-empty value works. * For HTTPS, terminate TLS at a reverse proxy and start `weed` with `-s3.externalUrl=https://` so S3 signature verification works. * For Iceberg tables in SeaweedFS S3 Table Buckets, see [Integration with SeaweedFS](../best-practices/doris-seaweedfs.md). diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/aliyun-oss.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/aliyun-oss.md index cf7e49bf2b486e..7d0d2f13e95e34 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/aliyun-oss.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/aliyun-oss.md @@ -27,7 +27,7 @@ Doris 使用 S3 Client,通过 S3 兼容协议访问阿里云 OSS。 | oss.secret_key | s3.secret_key | OSS Secret Key,与 Access Key 配合使用 | 无 | | oss.session_token | s3.session_token | OSS 临时安全令牌(STS Security Token),使用临时访问凭证时与临时 AK/SK 配合使用。自 4.0.6 版本起支持。 | 无 | | oss.region | s3.region | OSS region,指定阿里云 OSS 的区域 | 无 | -| oss.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | +| oss.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | | oss.connection.maximum | s3.connection.maximum | 最大连接数,指定与 OSS 服务建立的最大连接数 | 50 | | oss.connection.request.timeout | s3.connection.request.timeout| 请求超时时间(毫秒),指定连接 OSS 服务时的请求超时时间 | 3000 | | oss.connection.timeout | s3.connection.timeout | 连接超时时间(毫秒),指定与 OSS 服务建立连接时的超时时间 | 1000 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/huawei-obs.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/huawei-obs.md index bce53ff6f39b3f..61357cda4d4663 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/huawei-obs.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/huawei-obs.md @@ -24,7 +24,7 @@ | obs.access_key | s3.access_key | OBS access key,用于身份验证的 OBS 访问密钥 | | 是 | | obs.secret_key | s3.secret_key | OBS secret key,与 access key 配合使用的访问密钥 | | 是 | | obs.region | s3.region | OBS region,指定华为云 OBS 的区域 | | 否 | -| obs.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO/Ceph 等非 AWS S3 服务建议设置为 true | FALSE | 否 | +| obs.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO/Ceph 等非 AWS S3 服务建议设置为 true | FALSE | 否 | | obs.connection.maximum | s3.connection.maximum | 最大连接数,指定与 OBS 服务建立的最大连接数 | 50 | 否 | | obs.connection.request.timeout | s3.connection.request.timeout | 请求超时时间,单位为毫秒,指定连接 OBS 服务时的请求超时时间 | 3000 | 否 | | obs.connection.timeout | s3.connection.timeout | 连接超时时间,单位为毫秒,指定与 OBS 服务建立连接时的超时时间 | 1000 | 否 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/minio.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/minio.md index 142441e4e4ebc8..dc4351680c8b7b 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/minio.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/minio.md @@ -29,7 +29,7 @@ | minio.connection.maximum | s3.connection.maximum | S3 最大连接数,指定与 Minio 服务建立的最大连接数 | 50 | 否 | | minio.connection.request.timeout | s3.connection.request.timeout | S3 请求超时时间,单位为毫秒,指定连接 Minio 服务时的请求超时时间 | 3000 | 否 | | minio.connection.timeout | s3.connection.timeout | S3 连接超时时间,单位为毫秒,指定与 Minio 服务建立连接时的超时时间 | 1000 | 否 | -| minio.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | 否 | +| minio.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | 否 | ### 使用 Path-style 访问 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md index 6c318476c3f1e8..cb19614ac7a944 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/s3.md @@ -63,7 +63,7 @@ ca_cert_file_paths = /etc/ssl/certs/ca-certificates.crt | s3.access_key | | AWS Access Key。用于身份验证 | 无 | 否 | | s3.secret_key | | AWS Secret Key。用于身份验证 | 无 | 否 | | s3.region | | S3 所在区域,例如:`us-east-1`。强烈建议配置 | 无 | 是 | -| s3.use_path_style | | 是否使用 path-style(路径风格)访问 | FALSE | 否 | +| use_path_style | s3.path-style-access | 是否使用 path-style(路径风格)访问 | FALSE | 否 | | s3.connection.maximum | | 最大连接数,适用于高并发场景 | 50 | 否 | | s3.connection.request.timeout | | 请求超时时间(毫秒),控制连接获取超时 | 3000 | 否 | | s3.connection.timeout | | 建立连接的超时时间(毫秒) | 1000 | 否 | @@ -73,6 +73,8 @@ ca_cert_file_paths = /etc/ssl/certs/ca-certificates.crt > 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。 +> 参数名称说明:开启路径风格访问的参数是 `use_path_style`,它不带 `s3.` 前缀,`s3.use_path_style` 并不是合法参数,设置后不会生效;`s3.path-style-access` 可作为别名使用。使用 S3 兼容对象存储时,也可使用各自前缀的写法,例如 `oss.use_path_style`、`obs.use_path_style`、`minio.use_path_style`、`ozone.use_path_style`。 + ## 认证配置 Doris 支持以下三种方式访问 S3: diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/seaweedfs.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/seaweedfs.md index 46c1ae49a588b7..4d1e75828a9f37 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/seaweedfs.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/lakehouse/storages/seaweedfs.md @@ -42,14 +42,14 @@ weed mini -dir=/data | s3.access_key | 在 SeaweedFS S3 IAM 配置中创建的 Access Key | | 是 | | s3.secret_key | 与 `s3.access_key` 配对使用的 Secret Key | | 是 | | s3.region | 区域。SeaweedFS 不会校验取值,但 AWS S3 SDK 要求必须设置,例如 `us-east-1` | | 是 | -| s3.use_path_style | 建议设置为 `true`。SeaweedFS 通过 `http:////` 形式提供对象访问 | FALSE | 否 | +| use_path_style | 建议设置为 `true`。SeaweedFS 通过 `http:////` 形式提供对象访问 | FALSE | 否 | | s3.connection.maximum | 与 SeaweedFS S3 网关之间的最大连接数 | 50 | 否 | | s3.connection.request.timeout | 请求超时时间,单位为毫秒 | 3000 | 否 | | s3.connection.timeout | 建立连接的超时时间,单位为毫秒 | 1000 | 否 | ### 使用 Path-style 访问 -SeaweedFS 使用 path-style 地址(`http:////`),不为每个 bucket 分配独立的 DNS 子域名,因此请将 `s3.use_path_style` 设置为 `true`。 +SeaweedFS 使用 path-style 地址(`http:////`),不为每个 bucket 分配独立的 DNS 子域名,因此请将 `use_path_style` 设置为 `true`。 ## 示例配置 @@ -58,12 +58,12 @@ SeaweedFS 使用 path-style 地址(`http:////`),不 "s3.secret_key" = "your-secret-key", "s3.endpoint" = "http://seaweedfs.example.com:8333", "s3.region" = "us-east-1", -"s3.use_path_style" = "true" +"use_path_style" = "true" ``` ## 使用建议 -* 将 `s3.use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。 +* 将 `use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。 * `s3.region` 是 AWS S3 SDK 的必填项,SeaweedFS 本身不会校验该值,填入任意非空字符串即可。 * 如需 HTTPS,可在反向代理上终止 TLS,并使用 `-s3.externalUrl=https://` 启动 `weed`,以便 S3 签名校验通过。 * 如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中,详见 [Integration with SeaweedFS](../best-practices/doris-seaweedfs.md)。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/aliyun-oss.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/aliyun-oss.md index cf7e49bf2b486e..7d0d2f13e95e34 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/aliyun-oss.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/aliyun-oss.md @@ -27,7 +27,7 @@ Doris 使用 S3 Client,通过 S3 兼容协议访问阿里云 OSS。 | oss.secret_key | s3.secret_key | OSS Secret Key,与 Access Key 配合使用 | 无 | | oss.session_token | s3.session_token | OSS 临时安全令牌(STS Security Token),使用临时访问凭证时与临时 AK/SK 配合使用。自 4.0.6 版本起支持。 | 无 | | oss.region | s3.region | OSS region,指定阿里云 OSS 的区域 | 无 | -| oss.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | +| oss.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | | oss.connection.maximum | s3.connection.maximum | 最大连接数,指定与 OSS 服务建立的最大连接数 | 50 | | oss.connection.request.timeout | s3.connection.request.timeout| 请求超时时间(毫秒),指定连接 OSS 服务时的请求超时时间 | 3000 | | oss.connection.timeout | s3.connection.timeout | 连接超时时间(毫秒),指定与 OSS 服务建立连接时的超时时间 | 1000 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/huawei-obs.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/huawei-obs.md index bce53ff6f39b3f..61357cda4d4663 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/huawei-obs.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/huawei-obs.md @@ -24,7 +24,7 @@ | obs.access_key | s3.access_key | OBS access key,用于身份验证的 OBS 访问密钥 | | 是 | | obs.secret_key | s3.secret_key | OBS secret key,与 access key 配合使用的访问密钥 | | 是 | | obs.region | s3.region | OBS region,指定华为云 OBS 的区域 | | 否 | -| obs.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO/Ceph 等非 AWS S3 服务建议设置为 true | FALSE | 否 | +| obs.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO/Ceph 等非 AWS S3 服务建议设置为 true | FALSE | 否 | | obs.connection.maximum | s3.connection.maximum | 最大连接数,指定与 OBS 服务建立的最大连接数 | 50 | 否 | | obs.connection.request.timeout | s3.connection.request.timeout | 请求超时时间,单位为毫秒,指定连接 OBS 服务时的请求超时时间 | 3000 | 否 | | obs.connection.timeout | s3.connection.timeout | 连接超时时间,单位为毫秒,指定与 OBS 服务建立连接时的超时时间 | 1000 | 否 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/minio.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/minio.md index 142441e4e4ebc8..dc4351680c8b7b 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/minio.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/minio.md @@ -29,7 +29,7 @@ | minio.connection.maximum | s3.connection.maximum | S3 最大连接数,指定与 Minio 服务建立的最大连接数 | 50 | 否 | | minio.connection.request.timeout | s3.connection.request.timeout | S3 请求超时时间,单位为毫秒,指定连接 Minio 服务时的请求超时时间 | 3000 | 否 | | minio.connection.timeout | s3.connection.timeout | S3 连接超时时间,单位为毫秒,指定与 Minio 服务建立连接时的超时时间 | 1000 | 否 | -| minio.use_path_style | s3.use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | 否 | +| minio.use_path_style | use_path_style | 是否使用 path-style(路径风格)访问。兼容 MinIO 等非 AWS S3 服务建议设置为 true | FALSE | 否 | ### 使用 Path-style 访问 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md index 6c318476c3f1e8..cb19614ac7a944 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/s3.md @@ -63,7 +63,7 @@ ca_cert_file_paths = /etc/ssl/certs/ca-certificates.crt | s3.access_key | | AWS Access Key。用于身份验证 | 无 | 否 | | s3.secret_key | | AWS Secret Key。用于身份验证 | 无 | 否 | | s3.region | | S3 所在区域,例如:`us-east-1`。强烈建议配置 | 无 | 是 | -| s3.use_path_style | | 是否使用 path-style(路径风格)访问 | FALSE | 否 | +| use_path_style | s3.path-style-access | 是否使用 path-style(路径风格)访问 | FALSE | 否 | | s3.connection.maximum | | 最大连接数,适用于高并发场景 | 50 | 否 | | s3.connection.request.timeout | | 请求超时时间(毫秒),控制连接获取超时 | 3000 | 否 | | s3.connection.timeout | | 建立连接的超时时间(毫秒) | 1000 | 否 | @@ -73,6 +73,8 @@ ca_cert_file_paths = /etc/ssl/certs/ca-certificates.crt > 版本说明:`s3.credentials_provider_type` 自 **3.1.4** 和 **4.0.3** 起支持。 +> 参数名称说明:开启路径风格访问的参数是 `use_path_style`,它不带 `s3.` 前缀,`s3.use_path_style` 并不是合法参数,设置后不会生效;`s3.path-style-access` 可作为别名使用。使用 S3 兼容对象存储时,也可使用各自前缀的写法,例如 `oss.use_path_style`、`obs.use_path_style`、`minio.use_path_style`、`ozone.use_path_style`。 + ## 认证配置 Doris 支持以下三种方式访问 S3: diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md index 46c1ae49a588b7..4d1e75828a9f37 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/storages/seaweedfs.md @@ -42,14 +42,14 @@ weed mini -dir=/data | s3.access_key | 在 SeaweedFS S3 IAM 配置中创建的 Access Key | | 是 | | s3.secret_key | 与 `s3.access_key` 配对使用的 Secret Key | | 是 | | s3.region | 区域。SeaweedFS 不会校验取值,但 AWS S3 SDK 要求必须设置,例如 `us-east-1` | | 是 | -| s3.use_path_style | 建议设置为 `true`。SeaweedFS 通过 `http:////` 形式提供对象访问 | FALSE | 否 | +| use_path_style | 建议设置为 `true`。SeaweedFS 通过 `http:////` 形式提供对象访问 | FALSE | 否 | | s3.connection.maximum | 与 SeaweedFS S3 网关之间的最大连接数 | 50 | 否 | | s3.connection.request.timeout | 请求超时时间,单位为毫秒 | 3000 | 否 | | s3.connection.timeout | 建立连接的超时时间,单位为毫秒 | 1000 | 否 | ### 使用 Path-style 访问 -SeaweedFS 使用 path-style 地址(`http:////`),不为每个 bucket 分配独立的 DNS 子域名,因此请将 `s3.use_path_style` 设置为 `true`。 +SeaweedFS 使用 path-style 地址(`http:////`),不为每个 bucket 分配独立的 DNS 子域名,因此请将 `use_path_style` 设置为 `true`。 ## 示例配置 @@ -58,12 +58,12 @@ SeaweedFS 使用 path-style 地址(`http:////`),不 "s3.secret_key" = "your-secret-key", "s3.endpoint" = "http://seaweedfs.example.com:8333", "s3.region" = "us-east-1", -"s3.use_path_style" = "true" +"use_path_style" = "true" ``` ## 使用建议 -* 将 `s3.use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。 +* 将 `use_path_style` 设置为 `true`,SeaweedFS 不使用 per-bucket DNS 子域名。 * `s3.region` 是 AWS S3 SDK 的必填项,SeaweedFS 本身不会校验该值,填入任意非空字符串即可。 * 如需 HTTPS,可在反向代理上终止 TLS,并使用 `-s3.externalUrl=https://` 启动 `weed`,以便 S3 签名校验通过。 * 如需将 Iceberg 表存储在 SeaweedFS 的 S3 Table Bucket 中,详见 [Integration with SeaweedFS](../best-practices/doris-seaweedfs.md)。 diff --git a/versioned_docs/version-4.x/lakehouse/storages/aliyun-oss.md b/versioned_docs/version-4.x/lakehouse/storages/aliyun-oss.md index 78972622fa70f6..914470380042ba 100644 --- a/versioned_docs/version-4.x/lakehouse/storages/aliyun-oss.md +++ b/versioned_docs/version-4.x/lakehouse/storages/aliyun-oss.md @@ -26,7 +26,7 @@ Doris uses S3 Client to access Alibaba Cloud OSS through S3-compatible protocol. | oss.access_key | s3.access_key | OSS Access Key for authentication | None | | oss.secret_key | s3.secret_key | OSS Secret Key, used together with Access Key | None | | oss.region | s3.region | OSS region, specifies the region of Alibaba Cloud OSS | None | -| oss.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | +| oss.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | | oss.connection.maximum | s3.connection.maximum | Maximum number of connections, specifies the maximum number of connections established with OSS service | 50 | | oss.connection.request.timeout | s3.connection.request.timeout| Request timeout (milliseconds), specifies the request timeout when connecting to OSS service | 3000 | | oss.connection.timeout | s3.connection.timeout | Connection timeout (milliseconds), specifies the timeout when establishing connection with OSS service | 1000 | diff --git a/versioned_docs/version-4.x/lakehouse/storages/huawei-obs.md b/versioned_docs/version-4.x/lakehouse/storages/huawei-obs.md index 4574ffee15d1cb..d44b6f4472ebe6 100644 --- a/versioned_docs/version-4.x/lakehouse/storages/huawei-obs.md +++ b/versioned_docs/version-4.x/lakehouse/storages/huawei-obs.md @@ -24,7 +24,7 @@ This document describes the parameters required to access Huawei Cloud OBS, whic | obs.access_key | s3.access_key | OBS access key, used for authentication | | Yes | | obs.secret_key | s3.secret_key | OBS secret key, used together with access key for authentication | | Yes | | obs.region | s3.region | OBS region, specifies the region of Huawei Cloud OBS | | No | -| obs.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with non-AWS S3 services like MinIO/Ceph | FALSE | No | +| obs.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with non-AWS S3 services like MinIO/Ceph | FALSE | No | | obs.connection.maximum | s3.connection.maximum | Maximum number of connections to OBS service | 50 | No | | obs.connection.request.timeout | s3.connection.request.timeout | Request timeout in milliseconds for connecting to OBS service | 3000 | No | | obs.connection.timeout | s3.connection.timeout | Connection timeout in milliseconds for establishing connection to OBS service | 1000 | No | diff --git a/versioned_docs/version-4.x/lakehouse/storages/minio.md b/versioned_docs/version-4.x/lakehouse/storages/minio.md index 690680dcb1ea6b..b47f76133463c2 100644 --- a/versioned_docs/version-4.x/lakehouse/storages/minio.md +++ b/versioned_docs/version-4.x/lakehouse/storages/minio.md @@ -29,7 +29,7 @@ This document describes the parameters required to access MinIO, which apply to | minio.connection.maximum | s3.connection.maximum | S3 maximum connections, specifies the maximum number of connections established with MinIO service | 50 | No | | minio.connection.request.timeout | s3.connection.request.timeout | S3 request timeout, in milliseconds, specifies the request timeout when connecting to MinIO service | 3000 | No | | minio.connection.timeout | s3.connection.timeout | S3 connection timeout, in milliseconds, specifies the timeout when establishing connection with MinIO service | 1000 | No | -| minio.use_path_style | s3.use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | No | +| minio.use_path_style | use_path_style | Whether to use path-style access. Recommended to set to true for compatibility with MinIO and other non-AWS S3 services | FALSE | No | ### Using Path-style Access diff --git a/versioned_docs/version-4.x/lakehouse/storages/s3.md b/versioned_docs/version-4.x/lakehouse/storages/s3.md index 67f7da3a734c7f..3cf3e2b6aefe78 100644 --- a/versioned_docs/version-4.x/lakehouse/storages/s3.md +++ b/versioned_docs/version-4.x/lakehouse/storages/s3.md @@ -63,7 +63,7 @@ Configure this item on every BE node that may access S3, and ensure that the cer | s3.access_key | | AWS Access Key for authentication | None | No | | s3.secret_key | | AWS Secret Key for authentication | None | No | | s3.region | | S3 region, e.g., `us-east-1`. Strongly recommended | None | Yes | -| s3.use_path_style | | Whether to use path-style access | FALSE | No | +| use_path_style | s3.path-style-access | Whether to use path-style access | FALSE | No | | s3.connection.maximum | | Maximum number of connections for high concurrency scenarios | 50 | No | | s3.connection.request.timeout| | Request timeout (milliseconds), controls connection acquisition timeout | 3000 | No | | s3.connection.timeout | | Connection establishment timeout (milliseconds) | 1000 | No | @@ -73,6 +73,8 @@ Configure this item on every BE node that may access S3, and ensure that the cer > Version note: `s3.credentials_provider_type` is supported since **3.1.4** and **4.0.3**. +> Property name note: the parameter that enables path-style access is `use_path_style`. It has no `s3.` prefix: `s3.use_path_style` is not a recognized property and has no effect. `s3.path-style-access` is accepted as an alias, and S3-compatible services also accept their own prefixed spelling, such as `oss.use_path_style`, `obs.use_path_style`, `minio.use_path_style`, or `ozone.use_path_style`. + ## Authentication Configuration Doris supports the following three methods to access S3: diff --git a/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md b/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md index 5f9b0c2f4f7033..68daddf2d93284 100644 --- a/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md +++ b/versioned_docs/version-4.x/lakehouse/storages/seaweedfs.md @@ -42,14 +42,14 @@ SeaweedFS is accessed via the S3-compatible protocol, so it uses the same `s3.*` | s3.access_key | Access key configured in the SeaweedFS S3 IAM config | | Yes | | s3.secret_key | Secret key paired with `s3.access_key` | | Yes | | s3.region | Region. SeaweedFS does not validate the value but the AWS S3 SDK requires one, e.g. `us-east-1` | | Yes | -| s3.use_path_style | Set to `true`. SeaweedFS serves objects under `http:////` | FALSE | No | +| use_path_style | Set to `true`. SeaweedFS serves objects under `http:////` | FALSE | No | | s3.connection.maximum | Maximum number of connections to the SeaweedFS S3 gateway | 50 | No | | s3.connection.request.timeout | Request timeout in milliseconds | 3000 | No | | s3.connection.timeout | Connection establishment timeout in milliseconds | 1000 | No | ### Using path-style access -SeaweedFS uses path-style addressing (`http:////`) and does not provision per-bucket DNS subdomains, so set `s3.use_path_style = true` for every connection. +SeaweedFS uses path-style addressing (`http:////`) and does not provision per-bucket DNS subdomains, so set `use_path_style = true` for every connection. ## Example Configuration @@ -58,12 +58,12 @@ SeaweedFS uses path-style addressing (`http:////`) and do "s3.secret_key" = "your-secret-key", "s3.endpoint" = "http://seaweedfs.example.com:8333", "s3.region" = "us-east-1", -"s3.use_path_style" = "true" +"use_path_style" = "true" ``` ## Usage Recommendations -* Set `s3.use_path_style = true`. SeaweedFS does not use per-bucket DNS subdomains. +* Set `use_path_style = true`. SeaweedFS does not use per-bucket DNS subdomains. * `s3.region` is required by the AWS S3 SDK but ignored by SeaweedFS — any non-empty value works. * For HTTPS, terminate TLS at a reverse proxy and start `weed` with `-s3.externalUrl=https://` so S3 signature verification works. * For Iceberg tables in SeaweedFS S3 Table Buckets, see [Integration with SeaweedFS](../best-practices/doris-seaweedfs.md).