From 52d61fed7a17cbb1281c1a553cabbb5604fa80df Mon Sep 17 00:00:00 2001 From: niuxianhui Date: Fri, 22 May 2026 21:58:33 -0700 Subject: [PATCH] [fix](doc) clarify type vs provider naming on CREATE-STORAGE-VAULT pages Issue #3124 reports that every non-HDFS example in the CREATE-STORAGE-VAULT docs uses `"type" = "S3"` and `s3.access_key` / `s3.secret_key`, which looks contradictory for OSS / COS / OBS / BOS / MinIO / Azure / GCP vaults. It is not a bug. The FE `StorageVaultType` enum (`fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVault.java`) defines only two values: `S3` and `HDFS` (verified identical in `branch-3.0`, `branch-3.1`, `branch-4.0`, `branch-4.1`). All object-storage backends are accessed via Doris's S3-compatible client and pick the actual cloud through the separate `provider` property; the `s3.*` property prefix follows the same S3-API convention and is not literally about AWS S3. Add a `:::note` admonition right before the `### S3 Vault` parameters table on all 6 pages (current/3.x/4.x EN + zh) so first-time readers don't read the identical-looking examples as a copy-paste error. Closes #3124 --- .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ .../storage-management/CREATE-STORAGE-VAULT.md | 4 ++++ 6 files changed, 24 insertions(+) diff --git a/docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index 27b9c0ffc0c6f..dd31013f73f2b 100644 --- a/docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/docs/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -32,6 +32,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] [ ] | `[IF NOT EXISTS]` | If the specified storage vault already exists, the creation operation will not be executed, and no error will be thrown. This prevents duplicate creation of the same storage vault. | | `` | A set of key-value pairs used to set or update specific properties of the storage vault. Each property consists of a key () and a value (), separated by an equals sign (=). Multiple key-value pairs are separated by commas (,). | +:::note +The `type` property accepts only two values: `"S3"` or `"hdfs"` (case-insensitive). All object-storage backends — Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, MinIO, Azure Blob Storage, and Google Cloud Storage — use `"type" = "S3"` because Doris accesses them through the S3-compatible API. The actual cloud is selected by the separate `provider` property (`COS`, `OSS`, `S3`, `OBS`, `BOS`, `AZURE`, or `GCP`). The `s3.access_key` / `s3.secret_key` property names follow the same convention and are not specific to AWS S3. +::: + ### S3 Vault | Parameter | Required | Description | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index 07666b9905d20..b716890028c53 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -31,6 +31,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] <`vault_name`> [ <`properties`> ] | `[IF NOT EXISTS]` | 如果指定的存储库已经存在,则不会执行创建操作,并且不会抛出错误。这可以防止重复创建相同的存储库。 | | `PROPERTIES` | 一组键值对,用来设置或更新存储库的具体属性。每个属性由键(``)和值(``)组成,并用等号 (`=`) 分隔。多个键值对之间用逗号 (`,`) 分隔。 | +:::note +`type` 属性只接受两种取值:`"S3"` 或 `"hdfs"`(不区分大小写)。所有对象存储后端 —— Amazon S3、阿里云 OSS、腾讯云 COS、华为云 OBS、百度云 BOS、MinIO、Azure Blob Storage、Google Cloud Storage —— 都使用 `"type" = "S3"`,因为 Doris 通过 S3 兼容 API 访问它们。具体的云厂商由 `provider` 属性指定(`COS`、`OSS`、`S3`、`OBS`、`BOS`、`AZURE`、`GCP` 之一)。`s3.access_key` / `s3.secret_key` 属性命名同理,并非特指 AWS S3。 +::: + ### S3 Vault | 参数 | 是否必需 | 描述 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index c27bf844a02b1..e68f6bb851b66 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -31,6 +31,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] <`vault_name`> [ <`properties`> ] | `[IF NOT EXISTS]` | 如果指定的存储库已经存在,则不会执行创建操作,并且不会抛出错误。这可以防止重复创建相同的存储库。 | | `PROPERTIES` | 一组键值对,用来设置或更新存储库的具体属性。每个属性由键(``)和值(``)组成,并用等号 (`=`) 分隔。多个键值对之间用逗号 (`,`) 分隔。 | +:::note +`type` 属性只接受两种取值:`"S3"` 或 `"hdfs"`(不区分大小写)。所有对象存储后端 —— Amazon S3、阿里云 OSS、腾讯云 COS、华为云 OBS、百度云 BOS、MinIO、Azure Blob Storage、Google Cloud Storage —— 都使用 `"type" = "S3"`,因为 Doris 通过 S3 兼容 API 访问它们。具体的云厂商由 `provider` 属性指定(`COS`、`OSS`、`S3`、`OBS`、`BOS`、`AZURE`、`GCP` 之一)。`s3.access_key` / `s3.secret_key` 属性命名同理,并非特指 AWS S3。 +::: + ### S3 Vault | 参数 | 是否必需 | 描述 | diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index 07666b9905d20..b716890028c53 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -31,6 +31,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] <`vault_name`> [ <`properties`> ] | `[IF NOT EXISTS]` | 如果指定的存储库已经存在,则不会执行创建操作,并且不会抛出错误。这可以防止重复创建相同的存储库。 | | `PROPERTIES` | 一组键值对,用来设置或更新存储库的具体属性。每个属性由键(``)和值(``)组成,并用等号 (`=`) 分隔。多个键值对之间用逗号 (`,`) 分隔。 | +:::note +`type` 属性只接受两种取值:`"S3"` 或 `"hdfs"`(不区分大小写)。所有对象存储后端 —— Amazon S3、阿里云 OSS、腾讯云 COS、华为云 OBS、百度云 BOS、MinIO、Azure Blob Storage、Google Cloud Storage —— 都使用 `"type" = "S3"`,因为 Doris 通过 S3 兼容 API 访问它们。具体的云厂商由 `provider` 属性指定(`COS`、`OSS`、`S3`、`OBS`、`BOS`、`AZURE`、`GCP` 之一)。`s3.access_key` / `s3.secret_key` 属性命名同理,并非特指 AWS S3。 +::: + ### S3 Vault | 参数 | 是否必需 | 描述 | diff --git a/versioned_docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/versioned_docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index 27b9c0ffc0c6f..dd31013f73f2b 100644 --- a/versioned_docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/versioned_docs/version-3.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -32,6 +32,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] [ ] | `[IF NOT EXISTS]` | If the specified storage vault already exists, the creation operation will not be executed, and no error will be thrown. This prevents duplicate creation of the same storage vault. | | `` | A set of key-value pairs used to set or update specific properties of the storage vault. Each property consists of a key () and a value (), separated by an equals sign (=). Multiple key-value pairs are separated by commas (,). | +:::note +The `type` property accepts only two values: `"S3"` or `"hdfs"` (case-insensitive). All object-storage backends — Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, MinIO, Azure Blob Storage, and Google Cloud Storage — use `"type" = "S3"` because Doris accesses them through the S3-compatible API. The actual cloud is selected by the separate `provider` property (`COS`, `OSS`, `S3`, `OBS`, `BOS`, `AZURE`, or `GCP`). The `s3.access_key` / `s3.secret_key` property names follow the same convention and are not specific to AWS S3. +::: + ### S3 Vault | Parameter | Required | Description | diff --git a/versioned_docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md b/versioned_docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md index 27b9c0ffc0c6f..dd31013f73f2b 100644 --- a/versioned_docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md +++ b/versioned_docs/version-4.x/sql-manual/sql-statements/cluster-management/storage-management/CREATE-STORAGE-VAULT.md @@ -32,6 +32,10 @@ CREATE STORAGE VAULT [IF NOT EXISTS] [ ] | `[IF NOT EXISTS]` | If the specified storage vault already exists, the creation operation will not be executed, and no error will be thrown. This prevents duplicate creation of the same storage vault. | | `` | A set of key-value pairs used to set or update specific properties of the storage vault. Each property consists of a key () and a value (), separated by an equals sign (=). Multiple key-value pairs are separated by commas (,). | +:::note +The `type` property accepts only two values: `"S3"` or `"hdfs"` (case-insensitive). All object-storage backends — Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, MinIO, Azure Blob Storage, and Google Cloud Storage — use `"type" = "S3"` because Doris accesses them through the S3-compatible API. The actual cloud is selected by the separate `provider` property (`COS`, `OSS`, `S3`, `OBS`, `BOS`, `AZURE`, or `GCP`). The `s3.access_key` / `s3.secret_key` property names follow the same convention and are not specific to AWS S3. +::: + ### S3 Vault | Parameter | Required | Description |