S3
本文档用于介绍访问 AWS S3 时所需的参数。这些参数适用于:
- Catalog 属性。
- Table Valued Function 属性。
- Broker Load 属性。
- Export 属性。
- Outfile 属性。
参数总览
属性名称 | 曾用名 | 描述 | 默认值 | 是否必须 |
---|---|---|---|---|
s3.endpoint | S3 服务访问地址,如 s3.us-east-1.amazonaws.com | 无 | ✅ 是 | |
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 | 否 | |
s3.connection.maximum | 最大连接数,适用于高并发场景 | 50 | 否 | |
s3.connection.request.timeout | 请求超时时间(毫秒),控制连接获取超时 | 3000 | 否 | |
s3.connection.timeout | 建立连接的超时时间(毫秒) | 1000 | 否 | |
s3.role_arn | 使用 Assume Role 模式时指定的角色 ARN | 无 | 否 | |
s3.external_id | 配合 s3.role_arn 使用的 external ID | 无 | 否 |
1. 认证配置(必填)
Doris 支持以下两种方式访问 S3:
1.1 方式一:Access Key + Secret Key(推荐)
适用于 AWS S3 或兼容对象存储(如 MinIO、Ceph 等):
"s3.access_key"="your-access-key"
"s3.secret_key"="your-secret-key"
"s3.endpoint"="s3.us-east-1.amazonaws.com"
"s3.region"="us-east-1"
如使用 MinIO 等兼容服务,建议加上:
"s3.use_path_style" = "true"
1.2 方式二:Assume Role 模式(可选)
适用于跨账号、临时授权访问。通过角色授权自动获取临时凭证。
参数说明:
参数 | 说明 |
---|---|
s3.role_arn | 指定可扮演的 AWS IAM 角色的 ARN,例如:arn:aws:iam::123456789012:role/demo-role |
s3.external_id | 可选的外部 ID,用于第三方访问安全控制 |
示例:
"s3.role_arn"="arn:aws:iam::123456789012:role/demo-role"
"s3.external_id"="external-identifier"
"s3.endpoint"="s3.us-east-1.amazonaws.com"
"s3.region"="us-east-1"
如果同时设置了 Access Key 和 Role ARN,则优先使用 Access Key 模式。
2. 网络连接参数(可选)
用于提升并发性能、避免连接阻塞。
参数 | 说明 | 默认值 |
---|---|---|
s3.connection.maximum | 最大连接数 | 50 |
s3.connection.request.timeout | 请求等待连接超时时间(毫秒) | 3000 |
s3.connection.timeout | 建立连接的超时时间(毫秒) | 1000 |
3. 使用 Path-style 访问(兼容性选项)
部分兼容 S3 的对象存储(如 MinIO)不支持默认的 host-style 访问方式,需启用:
"s3.use_path_style"="true"
- Host-style 访问(默认):
https://bucket.s3.amazonaws.com
- Path-style 访问(开启后):
https://s3.amazonaws.com/bucket
4. Directory Bucket 配置(S3 Express One Zone)
📌 该功能自 3.1.0 起支持。
Amazon S3 Express One Zone(又名 Directory Bucket)提供更高性能,但 endpoint 格式不同。
4.1 endpoint 区别
类型 | 示例 endpoint |
---|---|
普通 bucket | s3.us-east-1.amazonaws.com |
Directory Bucket | s3express-usw2-az1.us-west-2.amazonaws.com |
更多可用区域参考:AWS 官方文档
4.2 示例配置
"s3.access_key"="ak"
"s3.secret_key"="sk"
"s3.endpoint"="s3express-usw2-az1.us-west-2.amazonaws.com"
"s3.region"="us-west-2"