获取数据源列表
分页查询数据源列表,支持通过数据源 ID、数据源名称和数据源类型进行过滤。
请求地址:/openapi/v1/datasource/list
请求方法:GET
请求参数
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| datasourceId | String | 否 | 数据源 ID。 | <datasourceId> |
| datasourceType | String | 否 | 数据源类型。使用目标 NineData 环境当前启用的值。 | MYSQL |
| name | String | 否 | 数据源名称。 | 示例 MySQL |
| current | Integer | 否 | 当前页码,从 1 开始,默认 1。 | 1 |
| pageSize | Integer | 否 | 分页大小,默认 10。 | 50 |
返回参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| success | Bool | 接口调用是否成功。返回值:true、false。 | true |
| requestId | String | 请求 ID。 | <requestId> |
| data | Array | 数据源详情数组。每个对象包含通用字段,并可能根据数据源类型返回 sslConfig、multiTag 或数据源专属字段。 | { "datasourceId": "<datasourceId>", "name": "<DB_HOST>", "datasourceType": "MySQL" } |
| current | Integer | 当前页码。 | 1 |
| pageSize | Integer | 每页的大小。 | 50 |
| total | Integer | 数据源总数。 | 6 |
通用数据源响应字段
data 数组中的每个对象包含以下通用字段。
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| datasourceId | String | 数据源 ID。 | <datasourceId> |
| orgId | String | 组织 ID。 | <orgId> |
| name | String | 数据源名称。 | 示例 MySQL |
| datasourceType | String | 数据源类型。 | MYSQL |
| username | String | 数据源访问账号。 | <username> |
| host | String | 数据源连接地址。 | <DB_HOST> |
| port | Integer | 数据源端口。 | 3306 |
| envId | String | 数据源所属环境。 | <envId> |
| regionId | String | 数据源所属地域。 | <regionId> |
| networkType | String | 数据源接入类型:public、gateway、ssh 或 private。 | public |
| multiTag | String | 多活标记。未配置时可能返回为空。 | active |
| sslConfig | Object | SSL 配置。仅 MySQL、SQLServer、PostgreSQL 数据源可能返回。 | {"securityConfig":"PREFERRED"} |
| gatewayId | String | 网关 ID。 | <gatewayId> |
| tunnelId | String | 私网连接 ID。 | <tunnelId> |
| accessId | String | 云厂商访问凭证 ID。 | <accessId> |
| instanceId | String | 云实例 ID。 | <instanceId> |
| env | String | 环境标识。 | <environment> |
| instanceType | String | 实例类型。 | RDS |
| cloudInstanceType | String | 云实例接入类型。 | instance |
| vendorRegionId | String | 云厂商地域 ID。 | cn-hangzhou |
| serverVersion | String | 数据库服务版本。 | 8.0 |
| sshConfig | Object | SSH 连接配置。 | {} |
| status | String | 数据源状态,例如 available、unavailable。 | available |
| masterName | String | 主节点名称。 | master-1 |
| hostAndPorts | String | 逗号分隔的多节点 host:port 组合。 | host1:port1,host2:port2 |
| extraConfig | Object | 数据源专属配置。 | {} |
| cluster | Object/null | 集群拓扑。非集群数据源返回 null;extraConfig.cluster 与其为同一对象,节点密码已脱敏。 | null |
响应会对 SSL 证书私钥、SSH 密码和私钥、集群节点密码进行脱敏。如果当前账号不是管理员且组织启用了地址隐藏,响应不会包含 host、port 和 hostAndPorts。
SSL 配置响应字段
当 data 数组中的对象包含 sslConfig 时,sslConfig 可能包含以下字段。不同数据源类型支持的字段不同。
| 参数 | 类型 | 适用数据源 | 说明 | 示例 |
|---|---|---|---|---|
| sslConfig.securityConfig | String | MySQL、PostgreSQL | SSL 安全模式。MySQL 取值:REQUIRED、PREFERRED;PostgreSQL 取值:Prefer、Require、Verify-CA、Verify-Full。 | PREFERRED |
| sslConfig.sslCipher | String | MySQL | SSL 加密套件。 | TLS_AES_256_GCM_SHA384 |
| sslConfig.sslCA | String | MySQL、SQLServer、PostgreSQL | CA 证书内容。 | -----BEGIN CERTIFICATE----- |
| sslConfig.sslCAFileName | String | MySQL、SQLServer、PostgreSQL | CA 证书文件名。 | ca.pem |
| sslConfig.sslClientCert | String | MySQL、PostgreSQL | 客户端证书内容。 | -----BEGIN CERTIFICATE----- |
| sslConfig.sslClientCertFileName | String | MySQL、PostgreSQL | 客户端证书文件名。 | client-cert.pem |
| sslConfig.sslClientKey | String | MySQL、PostgreSQL | 客户端私钥内容。 | -----BEGIN PRIVATE KEY----- |
| sslConfig.sslClientKeyFileName | String | MySQL、PostgreSQL | 客户端私钥文件名。 | client-key.pem |
| sslConfig.sslIndentify | Boolean | MySQL | 是否校验服务器身份。字段名请按接口使用 sslIndentify。 | false |
| sslConfig.hostNameInCertificate | String | SQLServer | 服务器证书中的主机名。 | db.example.com |
| sslConfig.trustServerCertificate | Boolean | SQLServer | 是否信任服务器证书。 | false |
MongoDB 数据源响应字段
当 data 数组中的对象为 MongoDB 数据源时,除通用字段外,还会返回以下 MongoDB 专属字段。
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| deploymentType | String | MongoDB 部署类型。取值:standalone、replicaSet、shardedCluster。 | standalone |
| authDB | String | 认证数据库。 | admin |
| readPreference | String | 读取偏好。如果数据源未配置该参数,可能不返回或返回为空。 | primary |
| replicaSet | String | 副本集名称。如果数据源未配置该参数,可能不返回或返回为空。 | rs0 |
调用成功示例
{
"success": true,
"requestId": "<requestId>",
"data": [{
"datasourceId": "<datasourceId>",
"orgId": "<orgId>",
"name": "示例 MySQL",
"datasourceType": "MYSQL",
"username": "<username>",
"host": "<DB_HOST>",
"port": 3306,
"envId": "<envId>",
"regionId": "<regionId>",
"networkType": "public",
"multiTag": "active",
"sslConfig": {
"securityConfig": "PREFERRED",
"sslIndentify": false
}
}],
"current": 1,
"pageSize": 10,
"total": 1
}
MongoDB 数据源返回示例:
{
"success": true,
"requestId": "<requestId>",
"data": [{
"datasourceId": "<datasourceId>",
"orgId": "<orgId>",
"name": "示例 MongoDB",
"datasourceType": "MongoDB",
"username": "<username>",
"host": "<DB_HOST>",
"port": 27017,
"envId": "<envId>",
"regionId": "<regionId>",
"networkType": "public",
"deploymentType": "standalone",
"authDB": "admin",
"readPreference": "primary"
}],
"current": 1,
"pageSize": 10,
"total": 1
}