跳到主要内容

创建数据源

在 NineData 中创建一个新的数据源连接配置。

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

请求方法:POST

请求参数

参数类型是否必选说明示例
datasourceTypeString数据源类型。使用目标 NineData 环境已启用的 DatasourceType 值,并按产品中展示的拼写传入。MONGODB
nameString指定数据源名称。示例 MongoDB
usernameString条件必填数据库账号;必填条件取决于数据源类型。<username>
passwordString条件必填数据库密码;必填条件与 username 相同。<password>
hostString数据源的连接地址。<DB_HOST>
portInteger数据源的端口号;是否需要传入取决于数据源类型。27017
envIdString所属环境。可通过查询环境信息获取。<envId>
regionIdString为该数据源指定所属地域。您需要调用查询地区信息接口获取 regionId<regionId>
networkTypeString连接方式。取值:publicgatewaysshprivatepublic
masterNameString主节点名称,适用于包含主节点的数据源。master-1
hostAndPortsString逗号分隔的多节点 host:port 组合,例如 Redis Sentinel 或 Cluster。host1:port1,host2:port2
instanceIdString云实例 ID。<instanceId>
instanceTypeString实例类型。RDS
cloudInstanceTypeString云实例接入类型。instance
vendorRegionIdString云厂商地域 ID。cn-hangzhou
serverVersionString数据库服务版本。8.0
gatewayIdString网关 ID,networkTypegateway 时使用。<gatewayId>
tunnelIdString私网连接 ID。<tunnelId>
accessIdString云厂商访问凭证 ID。<accessId>
envString环境标识,由请求参数决定。<environment>
sshConfigObjectSSH 连接配置,networkTypessh 时使用。{}
extraConfigObject数据源专属配置。不同类型数据源的专有参数放在该对象中。{"authDB":"admin"}

可用的数据源类型随版本和部署环境而异。传入目标环境未启用的值时,接口返回 INVALID_PARAMETER

MongoDB 单机版 extraConfig 参数

创建 MongoDB 单机数据源时,在 extraConfig 中传入以下字段。

参数类型是否必选说明示例
mongoDBDeploymentTypeStringMongoDB 部署类型,单机模式传入 standalonestandalone
authDBString认证数据库。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"
}

返回参数

参数类型说明示例
successBool接口调用是否成功。返回值:truefalsetrue
requestIdString请求 ID。<requestId>
dataObject创建的数据源详情,包含数据源 ID(datasourceId)信息。{"datasourceId":"<datasourceId>"}

调用成功示例

{
"success": true,
"requestId": "<requestId>",
"data": {
"datasourceId": "<datasourceId>"
}
}