修改数据源
更新 NineData 中已录入数据源的连接信息。可修改数据源的名称、账号、密码、连接地址、端口、所属环境等信息。
请求地址:/openapi/v1/datasource/update
请求方法:POST
请求参数
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| datasourceId | String | 是 | 数据源 ID。可通过调用获取数据源列表接口查询。 | ds-d92lj22cb03k |
| name | String | 否 | 修改数据源的名称。 | Datasource-updated |
| username | String | 否 | 修改数据源登录账号。 | root |
| password | String | 否 | 修改数据源登录密码。 | root |
| host | String | 否 | 修改数据源连接地址。MongoDB 副本集或分片集群传入 host1:port1,host2:port2 格式的拼接字符串。 | 127.0.0.1 |
| port | Integer | 否 | 修改数据源端口。传入 null 表示不更新该字段;MongoDB 副本集或分片集群模式不填。 | 3306 |
| envId | String | 否 | 修改数据源所属环境。您可以调用查询环境信息接口获取 envId。 | aliyun-cn-hangzhou |
| extraConfig | Object | 否 | 数据源专属配置。传入的字段会增量合并到已有配置中,仅传入需要变更的字段即可。 | {"readPreference":"primary"} |
| sslConfig | Object | 否 | SSL 配置。当前仅 MySQL、SQLServer、PostgreSQL 支持;MongoDB 不支持传入该字段。 | {"securityConfig":"PREFERRED"} |
| multiTag | String | 否 | 多活标记。 | active |
MongoDB 更新说明
extraConfig中的配置会增量合并到已有配置中,未传入的字段保持不变。- 当
mongoDBDeploymentType传入非法值时,接口会校验并拒绝请求。 - 更新
host时,接口会对每个节点进行 DNS 可解析性校验。
SSL 配置参数
仅 MySQL、SQLServer、PostgreSQL 数据源支持传入 sslConfig。不同数据源类型支持的字段不同。
| 参数 | 类型 | 是否必选 | 适用数据源 | 说明 | 示例 |
|---|---|---|---|---|---|
| securityConfig | String | 否 | MySQL、PostgreSQL | SSL 安全模式。MySQL 取值:REQUIRED、PREFERRED;PostgreSQL 取值:Prefer、Require、Verify-CA、Verify-Full。 | PREFERRED |
| sslCipher | String | 否 | MySQL | SSL 加密套件。 | TLS_AES_256_GCM_SHA384 |
| sslCA | String | 否 | MySQL、SQLServer、PostgreSQL | CA 证书内容。 | -----BEGIN CERTIFICATE----- |
| sslCAFileName | String | 否 | MySQL、SQLServer、PostgreSQL | CA 证书文件名。 | ca.pem |
| sslClientCert | String | 否 | MySQL、PostgreSQL | 客户端证书内容。 | -----BEGIN CERTIFICATE----- |
| sslClientCertFileName | String | 否 | MySQL、PostgreSQL | 客户端证书文件名。 | client-cert.pem |
| sslClientKey | String | 否 | MySQL、PostgreSQL | 客户端私钥内容。 | -----BEGIN PRIVATE KEY----- |
| sslClientKeyFileName | String | 否 | MySQL、PostgreSQL | 客户端私钥文件名。 | client-key.pem |
| sslIndentify | Boolean | 否 | MySQL | 是否校验服务器身份。字段名请按接口使用 sslIndentify。 | false |
| hostNameInCertificate | String | 否 | SQLServer | 服务器证书中的主机名。 | db.example.com |
| trustServerCertificate | Boolean | 否 | SQLServer | 是否信任服务器证书。 | false |
请求示例
MongoDB 更新读取偏好:
{
"datasourceId": "ds-d92lj22cb03k",
"name": "renamed-mongo",
"extraConfig": {
"readPreference": "primary"
}
}
MySQL 更新 SSL 配置和多活标记:
{
"datasourceId": "ds-d92lj22cb03k",
"sslConfig": {
"securityConfig": "PREFERRED",
"sslIndentify": false
},
"multiTag": "active"
}
返回参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| success | Bool | 接口调用是否成功。返回值:true、false。 | true |
| requestId | String | 请求 ID。 | Iq0s6SPI-HNKKaLTnINGt1JEdOLc7DSH |
| data | Array | 数据源更新详情,包含更新成功与否(success)信息。返回值:true、false。 | { "success": true } |
调用成功示例
{
"success": true,
"requestId": "Iq0s6SPI-HNKKaLTnINGt1JEdOLc7DSH",
"data": {
"success": true
}
}