DataSource Spec
表达数据源的定义语义。type 仅在创建时消费,更新时不可修改数据源类型。name 作为资源自然键。
DataSourceSpecDTO
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 名称,作为自然键 |
displayName | string | 未使用。显示名称占位字段,当前写入服务不消费。 |
description | string | 描述 |
type | string | 数据源类型,取值为 DataSourceTypeEnum,仅在创建时消费 |
scopeType | string | 作用域类型,取值为 DataSourceScopeTypeEnum;为空时默认 WORKSPACE |
defaultStorageCandidate | boolean | 是否可作为默认物化存储候选 |
configJson | Map<String, Object> | 数据源连接配置 JSON,具体内容取决于 type |
枚举取值
DataSourceTypeEnum
| 枚举值 | 说明 |
|---|---|
MYSQL | MySQL 关系型数据库 |
POSTGRESQL | PostgreSQL 关系型数据库 |
ORACLE | Oracle 关系型数据库 |
CLICKHOUSE | ClickHouse 分析型数据库 |
KAFKA | Kafka 消息队列 |
S3 | AWS S3 对象存储 |
REST_API | RESTful API 接口 |
ICEBERG | Apache Iceberg 数据湖 |
TRINO | Trino 分布式查询引擎 |
DataSourceScopeTypeEnum
| 枚举值 | 说明 |
|---|---|
PLATFORM | 平台级共享 |
TENANT | 租户级共享 |
WORKSPACE | 工作空间私有 |
连接配置 (configJson)
configJson 为动态键值结构,按数据源类型写入连接参数与凭据。写入时 password 会在服务端加密存储;查询时返回脱敏值 ******。
POSTGRESQL
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
host | string | 是 | 主机地址 |
port | integer / string | 是 | 端口 |
database | string | 是 | 数据库名 |
username | string | 是 | 用户名 |
password | string | 是 | 密码,写入时加密 |
jdbcUrlParams | Map<String, Object> | 否 | JDBC URL 额外参数 |
TRINO / ICEBERG
Trino 提供器同时支持 TRINO 与 ICEBERG 类型。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
host | string | 是 | 主机地址 |
port | integer / string | 是 | 端口 |
catalog | string | 否 | 默认 catalog |
username | string | 否 | 用户名,默认 trino |
password | string | 否 | 密码 |
示例
datasources:
- name: prod-pg
displayName: 生产 PostgreSQL # 未使用
description: 生产环境 PostgreSQL
type: POSTGRESQL
scopeType: WORKSPACE
defaultStorageCandidate: true
configJson:
host: pg.example.com
port: 5432
database: foundry
username: foundry_user
password: secret123
jdbcUrlParams:
sslmode: require
- name: trino-warehouse
description: Trino 数仓查询
type: TRINO
scopeType: WORKSPACE
defaultStorageCandidate: false
configJson:
host: trino.example.com
port: 8080
catalog: iceberg
username: trino_user
password: secret123消费位置
foundry-datasource/foundry-datasource-biz:DatasourceDomainProjectionAdapter.project将字段投影到fd_data_source运行态表;已存在时执行更新,不存在时创建。PLATFORM / TENANT 级共享数据源为只读资源,不会被覆盖。
相关文档
- Dataset Spec — 引用数据源的 dataset
- 核心概念 — ResourceRef 解析规则