DataSource Spec

表达数据源的定义语义。type 仅在创建时消费,更新时不可修改数据源类型。name 作为资源自然键。

DataSourceSpecDTO

字段类型说明
namestring名称,作为自然键
displayNamestring未使用。显示名称占位字段,当前写入服务不消费。
descriptionstring描述
typestring数据源类型,取值为 DataSourceTypeEnum,仅在创建时消费
scopeTypestring作用域类型,取值为 DataSourceScopeTypeEnum;为空时默认 WORKSPACE
defaultStorageCandidateboolean是否可作为默认物化存储候选
configJsonMap<String, Object>数据源连接配置 JSON,具体内容取决于 type

枚举取值

DataSourceTypeEnum

枚举值说明
MYSQLMySQL 关系型数据库
POSTGRESQLPostgreSQL 关系型数据库
ORACLEOracle 关系型数据库
CLICKHOUSEClickHouse 分析型数据库
KAFKAKafka 消息队列
S3AWS S3 对象存储
REST_APIRESTful API 接口
ICEBERGApache Iceberg 数据湖
TRINOTrino 分布式查询引擎

DataSourceScopeTypeEnum

枚举值说明
PLATFORM平台级共享
TENANT租户级共享
WORKSPACE工作空间私有

连接配置 (configJson)

configJson 为动态键值结构,按数据源类型写入连接参数与凭据。写入时 password 会在服务端加密存储;查询时返回脱敏值 ******。

POSTGRESQL

字段类型必填说明
hoststring是主机地址
portinteger / string是端口
databasestring是数据库名
usernamestring是用户名
passwordstring是密码,写入时加密
jdbcUrlParamsMap<String, Object>否JDBC URL 额外参数

TRINO / ICEBERG

Trino 提供器同时支持 TRINO 与 ICEBERG 类型。

字段类型必填说明
hoststring是主机地址
portinteger / string是端口
catalogstring否默认 catalog
usernamestring否用户名,默认 trino
passwordstring否密码

示例

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 级共享数据源为只读资源,不会被覆盖。

相关文档