创建数据源
在 NineData 中创建一个新的数据源连接配置。
请求地址:/openapi/v1/datasource/create
请求方法:POST
请求参数
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| datasourceType | String | 是 | 数据源类型。使用目标 NineData 环境已启用的 DatasourceType 值,并按产品中展示的拼写传入。 | MONGODB |
| name | String | 是 | 指定数据源名称。 | 示例 MongoDB |
| username | String | 条件必填 | 数据库账号;必填条件取决于数据源类型。 | <username> |
| password | String | 条件必填 | 数据库密码;必填条件与 username 相同。 | <password> |
| host | String | 是 | 数据源的连接地址。 | <DB_HOST> |
| port | Integer | 否 | 数据源的端口号;是否需要传入取决于数据源类型。 | 27017 |
| envId | String | 否 | 所属环境。可通过查询环境信息获取。 | <envId> |
| regionId | String | 否 | 为该数据源指定所属地域。您需要调用查询地区信息接口获取 regionId。 | <regionId> |
| networkType | String | 否 | 连接方式。取值:public、gateway、ssh、private。 | public |
| masterName | String | 否 | 主节点名称,适用于包含主节点的数据源。 | master-1 |
| hostAndPorts | String | 否 | 逗号分隔的多节点 host:port 组合,例如 Redis Sentinel 或 Cluster。 | host1:port1,host2:port2 |
| instanceId | String | 否 | 云实例 ID。 | <instanceId> |
| instanceType | String | 否 | 实例类型。 | RDS |
| cloudInstanceType | String | 否 | 云实例接入类型。 | instance |
| vendorRegionId | String | 否 | 云厂商地域 ID。 | cn-hangzhou |
| serverVersion | String | 否 | 数据库服务版本。 | 8.0 |
| gatewayId | String | 否 | 网关 ID,networkType 为 gateway 时使用。 | <gatewayId> |
| tunnelId | String | 否 | 私网连接 ID。 | <tunnelId> |
| accessId | String | 否 | 云厂商访问凭证 ID。 | <accessId> |
| env | String | 否 | 环境标识,由请求参数决定。 | <environment> |
| sshConfig | Object | 否 | SSH 连接配置,networkType 为 ssh 时使用。 | {} |
| extraConfig | Object | 否 | 数据源专属配置。不同类型数据源的专有参数放在该对象中。 | {"authDB":"admin"} |
可用的数据源类型随版本和部署环境而异。传入目标环境未启用的值时,接口返回 INVALID_PARAMETER。
MongoDB 单机版 extraConfig 参数
创建 MongoDB 单机数据源时,在 extraConfig 中传入以下字段。
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| mongoDBDeploymentType | String | 否 | MongoDB 部署类型,单机模式传入 standalone。 | standalone |
| authDB | String | 是 | 认证数据库。 | admin |
请求示例
MongoDB 单机版:
{
"name": "示例 MongoDB",
"username": "<username>",
"password": "<password>",
"host": "<DB_HOST>",
"port": 27017,
"datasourceType": "MongoDB",
"regionId": "<regionId>",
"envId": "<envId>",
"networkType": "public",
"extraConfig": {
"mongoDBDeploymentType": "standalone",
"authDB": "admin"
}
}
MySQL:
{
"name": "示例 MySQL",
"username": "<username>",
"password": "<password>",
"host": "<DB_HOST>",
"port": 3306,
"datasourceType": "MYSQL",
"regionId": "<regionId>",
"envId": "<envId>",
"networkType": "public"
}
返回参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| success | Bool | 接口调用是否成功。返回值:true、false。 | true |
| requestId | String | 请求 ID。 | <requestId> |
| data | Object | 创建的数据源详情,包含数据源 ID(datasourceId)信息。 | {"datasourceId":"<datasourceId>"} |
调用成功示例
{
"success": true,
"requestId": "<requestId>",
"data": {
"datasourceId": "<datasourceId>"
}
}