This is an automated email from the ASF dual-hosted git repository.

zhangstar333 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 8f67786961e [doc](lance) Document OSS support for the Lance catalog 
(#4094)
8f67786961e is described below

commit 8f67786961ece462582246bfab216574aef1c301
Author: FANNG <[email protected]>
AuthorDate: Wed Sep 2 17:55:58 2026 +0800

    [doc](lance) Document OSS support for the Lance catalog (#4094)
    
    ## Summary
    
    Documents the Alibaba Cloud OSS support added by apache/doris#67157
    (issue apache/doris#67131). The Lance catalog page currently tells users
    that a warehouse can only be a local path, `file://` or `s3://`, so OSS
    looks unsupported.
    
    Requested by @zhangstar333 in apache/doris#67157.
    
    ## Changes
    
    Both `versioned_docs/version-4.x/.../lance-catalog.mdx` and the zh-CN
    copy:
    
    - `warehouse` now lists `oss://` among the accepted forms.
    - New **Use Alibaba Cloud OSS** section next to the existing S3 one,
    with a `CREATE CATALOG` example, the qualified
    `oss://bucket.oss-<region>.aliyuncs.com/path` form Doris reduces to the
    bucket, the bucket requirement, and a note on `oss.session_token`.
    - REST catalog section now names the OSS properties usable as defaults,
    states that namespace-vended credentials take precedence over the
    catalog's own, and shows a catalog created with no access key at all.
    - Documents that a namespace may vend the options as either
    `oss_endpoint` / `oss_access_key_id` / `oss_secret_access_key` /
    `oss_region` / `oss_security_token` or the bare OSS-native `endpoint` /
    `access_key_id` / `access_key_secret` / `region` / `security_token`, and
    that vending one option under both spellings with different values is an
    error.
    
    ## Verification
    
    The examples were run against a real OSS bucket on a Doris cluster built
    from apache/doris#67157, not written from the code alone:
    
    - the filesystem example **exactly as written** — without
    `fs.oss.support`, which the doc does not mention — creates the catalog
    and scans correctly;
    - the qualified `oss://bucket.<endpoint>/path` warehouse also scans, and
    `oss:/path` is rejected at `CREATE CATALOG`;
    - the no-credential REST example was exercised against a real Apache
    Gravitino 1.3.0 `lance-rest` service, which vends the bare OSS-native
    spellings;
    - the conflicting-spelling error was reproduced.
    
    ## Scope
    
    Every statement on the page was exercised against a live bucket,
    including `oss.session_token`: an STS triple obtained through
    `AssumeRole` scans the table, and the same temporary key pair
    **without** the token fails to initialize the catalog with OSS's own
    `InvalidAccessKeyId` / "The Security Token may be lost to specify that
    it is a STS Access Id". That negative control is what shows the token is
    carried through to the BE rather than the scan succeeding by some other
    route.
    
    A path-style addressing note was written and then removed: Alibaba Cloud
    OSS uses virtual-hosted addressing and its public endpoints no longer
    accept path-style requests, so there was no configuration to confirm it
    against.
---
 .../lakehouse/catalogs/lance-catalog.mdx           | 34 ++++++++++++++++++++--
 .../lakehouse/catalogs/lance-catalog.mdx           | 34 ++++++++++++++++++++--
 2 files changed, 64 insertions(+), 4 deletions(-)

diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
index 7e0cd6849dd..2eb959c6a16 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
@@ -83,7 +83,7 @@ Filesystem Catalog 直接从 Warehouse 目录发现 Lance Namespace 和表。
 
 | 属性 | 是否必需 | 说明 |
 |---|---|---|
-| `warehouse` | 是 | Lance Warehouse 根路径。支持本地绝对路径、`file://` URI 和 `s3://` URI。 |
+| `warehouse` | 是 | Lance Warehouse 根路径。支持本地绝对路径、`file://` URI、`s3://` URI 和 
`oss://` URI。 |
 
 #### 使用 S3 兼容对象存储
 
@@ -104,6 +104,24 @@ CREATE CATALOG lance_catalog PROPERTIES (
 
 访问 AWS S3 时,可以省略 `s3.endpoint`,并按实际环境配置访问密钥、Region 和 Path Style。
 
+#### 使用阿里云 OSS
+
+```sql
+CREATE CATALOG lance_oss PROPERTIES (
+    "type" = "lance",
+    "lance.catalog.type" = "filesystem",
+    "warehouse" = "oss://my-bucket/lance",
+    "oss.endpoint" = "oss-cn-beijing.aliyuncs.com",
+    "oss.region" = "cn-beijing",
+    "oss.access_key" = "<ak>",
+    "oss.secret_key" = "<sk>"
+);
+```
+
+`warehouse` 也支持带 Endpoint 的形式 
`oss://my-bucket.oss-cn-beijing.aliyuncs.com/lance`,Doris 会在打开 Namespace 前将其还原为 
Bucket。`warehouse` 必须指定 Bucket,因此 `oss:/lance` 这类根路径会在创建 Catalog 时被拒绝。
+
+使用 STS 临时凭证访问 OSS 时,可以增加 `"oss.session_token" = "<token>"`。
+
 #### 使用本地文件系统
 
 ```sql
@@ -147,7 +165,19 @@ CREATE CATALOG lance_rest PROPERTIES (
 "lance.rest.api-key" = "your-api-key"
 ```
 
-如果 REST 服务返回临时存储凭证,Doris 会使用这些凭证访问对应的 Lance 表。也可以在 Catalog 中配置 
`s3.endpoint`、`s3.access_key`、`s3.secret_key`、`s3.region` 和 
`use_path_style`,作为默认的对象存储访问参数。
+如果 REST 服务返回临时存储凭证,Doris 会使用这些凭证访问对应的 Lance 表。也可以在 Catalog 中配置默认的对象存储访问参数:S3 
兼容存储使用 `s3.endpoint`、`s3.access_key`、`s3.secret_key`、`s3.region` 和 
`use_path_style`,OSS 使用 
`oss.endpoint`、`oss.access_key`、`oss.secret_key`、`oss.region` 和 
`oss.session_token`。
+
+对于同一张表,Namespace 下发的凭证优先于 Catalog 中配置的凭证。因此,当 Namespace 能够下发完整凭证时,创建 Catalog 
时无需保存任何访问密钥:
+
+```sql
+CREATE CATALOG lance_rest_oss PROPERTIES (
+    "type" = "lance",
+    "lance.catalog.type" = "rest",
+    "lance.rest.uri" = "https://lance.example.com";
+);
+```
+
+对于 OSS 表,Namespace 下发的存储选项可以写成 
`oss_endpoint`、`oss_access_key_id`、`oss_secret_access_key`、`oss_region`、`oss_security_token`,也可以写成
 OSS 原生的 
`endpoint`、`access_key_id`、`access_key_secret`、`region`、`security_token`。Doris 
同时接受这两种写法,并将其视为同一个选项。如果同一个选项以两种写法下发且取值不同,则会报错。
 
 :::caution
 当前 BE Reader 不支持由 REST Namespace 管理版本的 Lance 表(Managed Versioning)。
diff --git a/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx 
b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
index ee259c9a9c7..69d16d8d90f 100644
--- a/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
+++ b/versioned_docs/version-4.x/lakehouse/catalogs/lance-catalog.mdx
@@ -83,7 +83,7 @@ A Filesystem Catalog discovers Lance Namespaces and tables 
directly from a wareh
 
 | Property | Required | Description |
 |---|---|---|
-| `warehouse` | Yes | Root path of the Lance warehouse. Local absolute paths, 
`file://` URIs, and `s3://` URIs are supported. |
+| `warehouse` | Yes | Root path of the Lance warehouse. Local absolute paths, 
`file://` URIs, `s3://` URIs, and `oss://` URIs are supported. |
 
 #### Use S3-Compatible Object Storage
 
@@ -104,6 +104,24 @@ CREATE CATALOG lance_catalog PROPERTIES (
 
 When accessing AWS S3, you can omit `s3.endpoint` and configure credentials, 
Region, and Path Style for your environment.
 
+#### Use Alibaba Cloud OSS
+
+```sql
+CREATE CATALOG lance_oss PROPERTIES (
+    "type" = "lance",
+    "lance.catalog.type" = "filesystem",
+    "warehouse" = "oss://my-bucket/lance",
+    "oss.endpoint" = "oss-cn-beijing.aliyuncs.com",
+    "oss.region" = "cn-beijing",
+    "oss.access_key" = "<ak>",
+    "oss.secret_key" = "<sk>"
+);
+```
+
+`warehouse` also accepts the qualified form 
`oss://my-bucket.oss-cn-beijing.aliyuncs.com/lance`, which Doris reduces to the 
bucket before opening the Namespace. It must always name a bucket, so a root 
such as `oss:/lance` is rejected when the Catalog is created.
+
+To access OSS with a temporary STS credential, add `"oss.session_token" = 
"<token>"`.
+
 #### Use a Local File System
 
 ```sql
@@ -147,7 +165,19 @@ For API Key authentication, replace the authentication 
properties with:
 "lance.rest.api-key" = "your-api-key"
 ```
 
-If the REST service returns temporary storage credentials, Doris uses those 
credentials to access the corresponding Lance table. You can also configure 
`s3.endpoint`, `s3.access_key`, `s3.secret_key`, `s3.region`, and 
`use_path_style` in the Catalog as the default object storage access parameters.
+If the REST service returns temporary storage credentials, Doris uses those 
credentials to access the corresponding Lance table. You can also configure 
default object storage access parameters in the Catalog: `s3.endpoint`, 
`s3.access_key`, `s3.secret_key`, `s3.region`, and `use_path_style` for 
S3-compatible storage, or `oss.endpoint`, `oss.access_key`, `oss.secret_key`, 
`oss.region`, and `oss.session_token` for OSS.
+
+Credentials vended by the Namespace take precedence over the ones configured 
in the Catalog, per table. A Namespace that vends complete credentials 
therefore lets you create the Catalog without storing any access key in it:
+
+```sql
+CREATE CATALOG lance_rest_oss PROPERTIES (
+    "type" = "lance",
+    "lance.catalog.type" = "rest",
+    "lance.rest.uri" = "https://lance.example.com";
+);
+```
+
+For an OSS table, the Namespace may spell the vended options either as 
`oss_endpoint`, `oss_access_key_id`, `oss_secret_access_key`, `oss_region`, and 
`oss_security_token`, or with the bare OSS-native names `endpoint`, 
`access_key_id`, `access_key_secret`, `region`, and `security_token`. Doris 
accepts both and treats them as the same option. Vending the same option under 
both spellings with different values is an error.
 
 :::caution
 The current BE Reader does not support Lance tables whose versions are managed 
by REST Namespace (Managed Versioning).


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to