跳到主要内容

获取数据源列表

分页查询数据源列表,支持通过数据源 ID、数据源名称和数据源类型进行过滤。

请求地址:/openapi/v1/datasource/list

请求方法:GET

请求参数

参数类型是否必选说明示例
datasourceIdString数据源 ID。<datasourceId>
datasourceTypeString数据源类型。使用目标 NineData 环境当前启用的值。MYSQL
nameString数据源名称。示例 MySQL
currentInteger当前页码,从 1 开始,默认 1。1
pageSizeInteger分页大小,默认 10。50

返回参数

参数类型说明示例
successBool接口调用是否成功。返回值:truefalsetrue
requestIdString请求 ID。<requestId>
dataArray数据源详情数组。每个对象包含通用字段,并可能根据数据源类型返回 sslConfigmultiTag 或数据源专属字段。{
"datasourceId": "<datasourceId>",
"name": "<DB_HOST>",
"datasourceType": "MySQL"
}
currentInteger当前页码。1
pageSizeInteger每页的大小。50
totalInteger数据源总数。6

通用数据源响应字段

data 数组中的每个对象包含以下通用字段。

参数类型说明示例
datasourceIdString数据源 ID。<datasourceId>
orgIdString组织 ID。<orgId>
nameString数据源名称。示例 MySQL
datasourceTypeString数据源类型。MYSQL
usernameString数据源访问账号。<username>
hostString数据源连接地址。<DB_HOST>
portInteger数据源端口。3306
envIdString数据源所属环境。<envId>
regionIdString数据源所属地域。<regionId>
networkTypeString数据源接入类型:publicgatewaysshprivatepublic
multiTagString多活标记。未配置时可能返回为空。active
sslConfigObjectSSL 配置。仅 MySQL、SQLServer、PostgreSQL 数据源可能返回。{"securityConfig":"PREFERRED"}
gatewayIdString网关 ID。<gatewayId>
tunnelIdString私网连接 ID。<tunnelId>
accessIdString云厂商访问凭证 ID。<accessId>
instanceIdString云实例 ID。<instanceId>
envString环境标识。<environment>
instanceTypeString实例类型。RDS
cloudInstanceTypeString云实例接入类型。instance
vendorRegionIdString云厂商地域 ID。cn-hangzhou
serverVersionString数据库服务版本。8.0
sshConfigObjectSSH 连接配置。{}
statusString数据源状态,例如 availableunavailableavailable
masterNameString主节点名称。master-1
hostAndPortsString逗号分隔的多节点 host:port 组合。host1:port1,host2:port2
extraConfigObject数据源专属配置。{}
clusterObject/null集群拓扑。非集群数据源返回 nullextraConfig.cluster 与其为同一对象,节点密码已脱敏。null

响应会对 SSL 证书私钥、SSH 密码和私钥、集群节点密码进行脱敏。如果当前账号不是管理员且组织启用了地址隐藏,响应不会包含 hostporthostAndPorts

SSL 配置响应字段

data 数组中的对象包含 sslConfig 时,sslConfig 可能包含以下字段。不同数据源类型支持的字段不同。

参数类型适用数据源说明示例
sslConfig.securityConfigStringMySQL、PostgreSQLSSL 安全模式。MySQL 取值:REQUIREDPREFERRED;PostgreSQL 取值:PreferRequireVerify-CAVerify-FullPREFERRED
sslConfig.sslCipherStringMySQLSSL 加密套件。TLS_AES_256_GCM_SHA384
sslConfig.sslCAStringMySQL、SQLServer、PostgreSQLCA 证书内容。-----BEGIN CERTIFICATE-----
sslConfig.sslCAFileNameStringMySQL、SQLServer、PostgreSQLCA 证书文件名。ca.pem
sslConfig.sslClientCertStringMySQL、PostgreSQL客户端证书内容。-----BEGIN CERTIFICATE-----
sslConfig.sslClientCertFileNameStringMySQL、PostgreSQL客户端证书文件名。client-cert.pem
sslConfig.sslClientKeyStringMySQL、PostgreSQL客户端私钥内容。-----BEGIN PRIVATE KEY-----
sslConfig.sslClientKeyFileNameStringMySQL、PostgreSQL客户端私钥文件名。client-key.pem
sslConfig.sslIndentifyBooleanMySQL是否校验服务器身份。字段名请按接口使用 sslIndentifyfalse
sslConfig.hostNameInCertificateStringSQLServer服务器证书中的主机名。db.example.com
sslConfig.trustServerCertificateBooleanSQLServer是否信任服务器证书。false

MongoDB 数据源响应字段

data 数组中的对象为 MongoDB 数据源时,除通用字段外,还会返回以下 MongoDB 专属字段。

参数类型说明示例
deploymentTypeStringMongoDB 部署类型。取值:standalonereplicaSetshardedClusterstandalone
authDBString认证数据库。admin
readPreferenceString读取偏好。如果数据源未配置该参数,可能不返回或返回为空。primary
replicaSetString副本集名称。如果数据源未配置该参数,可能不返回或返回为空。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
}