创建数据源 - CreateDatasourceInfo
功能介绍
创建数据源。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{project_id}/fdi/instances/{instance_id}/datasources
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目的ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
instance_id | 是 | String | 实例ID。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
datasource_name | 是 | String | 数据源名称,数据源名称不能包含&、<、>、"、'、(、) ,长度为1~255字符,参数不能全部为空格。 |
datasource_type | 是 | String | 数据源类型。
|
app_id | 是 | String | 数据源所属应用ID。 |
content | 是 | Content object | 数据源详细信息。 |
description | 否 | String | 数据源描述。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
gauss100_version | 否 | String | gauss100的版本号。 数据源类型为gauss100的时候必填
|
host | 否 | String | 主机IP地址。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
port | 否 | String | 端口,端口号为0到65535。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
database_name | 否 | String | 数据库名称。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
redis_database | 否 | String | REDIS数据源类型配置,数据库编号,纯数字编码。 |
user_name | 否 | String | 访问服务的用户名。
|
password | 否 | String | 访问服务的密码。
|
mode | 否 | String | 数据源连接模式,有三种:default (默认模式)、professional (专业模式)、multiAddress (多地址)。
MySQL)、POSTGRESQL、 GaussDB、HIVE时配置default或professional。 |
cdc_mode | 否 | String | cdc模式,只有组合任务使用。 |
multi_oracle_address | 否 | Array of MultiOracleAddress objects | ORACLE集群地址,当“mode”为“multiAddress”时需要配置。 |
oracle_service_name | 否 | String | ORACLE集群服务名。 |
ftp_connect_mode | 否 | String | 访问FTP服务的连接模式。
|
ftp_protocol | 否 | String | 访问FTP服务协议类型。
|
auth_type | 否 | String | 访问SFTP服务认证类型。
|
private_key | 否 | String | 访问SFTP服务私钥。将私钥文件base64之后的字符串 |
private_key_password | 否 | String | 访问SFTP服务私钥密码。当使用无密码私钥时可不填 |
address | 否 | String | 地址。
|
ak | 否 | String | Access Key ID。 数据源为OBS,DIS类型时需要配置。 |
sk | 否 | String | Secret Access Key。 数据源为OBS,DIS类型时需要配置。 |
bucket_name | 否 | String | 桶名称,数据源为OBS时需要配置。 |
https | 否 | Boolean | 是否使用https, 数据源为OBS时需要配置,一般默认使用。 |
url | 否 | String | 连接字符串,访问url。
|
api_method | 否 | String | 访问API请求方式。
|
auth_method | 否 | String | 访问WEBSOCKET服务的认证方式。
|
api_auth_detail | 否 | ApiAuthDetail object | API鉴权详细字段。 |
broker | 否 | String | KAFKA、MQS、ACTIVEMQ的服务器地址,多个IP:PORT,使用","分隔。 |
ssl | 否 | Boolean | 是否开启SSL认证。 连接MQS内网地址时,若MQS开启了SSL,请选择“是”。 |
ssl_enable | 否 | Boolean | 是否开启SSL认证。
|
ssl_username | 否 | String | SSL用户名/应用Key。 数据源为KAFKA或者MQS时,且开启SSL认证时需要配置。 |
ssl_password | 否 | String | SSL密码/应用Secret。 数据源为KAFKA或者MQS时,且开启SSL认证时需要配置。 |
acl_enable | 否 | Boolean | 是否开启ACL认证。
|
mq_type | 否 | String | IMF数据源消息队列类型。
|
mongodb_auth_source | 否 | String | MONGODB认证源。 |
mongodb_cluster_enable | 否 | Boolean | MONGODB集群模式。
|
mongodb_replica_set | 否 | String | MONGODB副本集。 当MONGODB为非集群模式时配置。 |
encoding | 否 | String | 编码格式。
|
mysql_timeout | 否 | Integer | MYSQL连接超时时间(秒)。 |
trust_store_password | 否 | String | 公钥库密码。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
trust_store | 否 | String | 公钥库文件。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
trust_store_file_type | 否 | String | 公钥库文件类型。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
ssl_auth_method | 否 | String | SSL鉴权方式。 数据源类型为ACTIVEMQ、ARTEMISMQ且开启SSL认证时需要配置。
|
key_store | 否 | String | 私钥库文件内容。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_file_type | 否 | String | 私钥库文件类型。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_password | 否 | String | 私钥库密码。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_key_password | 否 | String | 私钥库私钥密码。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
dis_tunnel_name | 否 | String | DIS通道名称。 |
dis_data_type | 否 | String | DIS数据类别。 包含:JSON。 |
dis_setting_type | 否 | String | DIS配置类别。
|
dis_endpoint | 否 | String | DIS Endpoint,当setting_type为senior时填写。 |
dis_region | 否 | String | DIS Region,当setting_type为senior时填写。 |
dis_source_project_id | 否 | String | DIS源端项目ID,当setting_type为senior时填写。 |
hl7_position | 否 | String | HL7数据源方向。
|
hl7_whitelist_enable | 否 | Boolean | HL7是否开启白名单设置。 |
hl7_whitelist | 否 | String | HL7白名单。允许同步数据到源端HL7的服务器地址,当HL7为源端(position为source)并且开启白名单设置(open_whitelist为true)时填写。 |
ldap_security_auth_type | 否 | String | LDAP安全认证类型。 |
rabbitmq_virtual_host | 否 | String | RabbitMQ虚拟主机。 |
rabbitmq_ssl_protocol | 否 | String | RABBITMQ SSL认证协议。 包含:TLS。 |
rocketmq_namesrv_addr | 否 | String | IMF数据源RocketMQ连接地址,mq_type为RocketMQ时填写,多个地址以‘,’分隔。 |
namesrv_addr | 否 | String | ROMA 20.0 MQS连接地址。 |
app_id | 否 | String | ROMA 20.0 MQS APP Key |
app_secret | 否 | String | ROMA 20.0 APP Secret |
sap_client | 否 | String | SAP客户端号。 |
sap_sysnr | 否 | String | SAP实例编号。 |
snmp_network_protocol | 否 | String | SNMP网络协议。
|
snmp_version | 否 | Integer | SNMP版本号。 |
snmp_community | 否 | String | SNMP团体名,用于访问SNMP管理代理的身份认证,相当于访问密码。 |
ibmmq_ccs_id | 否 | String | IBMMQ字符集标识。 |
ibmmq_queue_manager | 否 | String | IBMMQ队列管理器。 |
ibmmq_channel | 否 | String | IBMMQ通道名称。 |
ibmmq_cipher_suite | 否 | String | IBMMQ密钥算法套件。 |
hdfs_path | 否 | String | HDFS URL,数据源为MRSHIVE、MRSHDFS类型时配置。 |
principal_name | 否 | String | 机机交互用户名,数据源为MRSHIVE、MRSHDFS、MRSHBASE、MRSKAFKA、MRSREDIS类型时配置。 |
config_file_name | 否 | String | 用户认证文件,文件获取方式参见API参考的“附录 > 获取数据源配置文件”章节。
|
config_file_content | 否 | String | 用户认证文件内容,config_file_name对应的文件内容BASE64编码。 数据源为MRSHIVE、MRSHDFS、MRSHBASE、MRSKAFKA、MRSREDIS、MRSCLICKHOUSE类型时配置。 |
connection_instance_id | 否 | String | 连接器实例ID,连接器发布后对应的实例ID。 |
connector_params | 否 | Object | 连接器对应的数据源参数,值按实际填写。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
auth_method | 否 | String | 访问API服务的认证方式。
|
app_auth_type | 否 | String | 访问API服务的APP认证方式,认证方式为(apiGateway)时填写。
|
user_name | 否 | String | 访问API服务的用户名。
|
password | 否 | String | 访问API服务的密码。 认证方式为(liHe、huaweiNetworkManagement、basicauth、secret、md5、hmac)时填写。 |
app_key | 否 | String | 访问API服务的AppKey。 认证方式为(apiGateway)时填写。 |
app_secret | 否 | String | 访问API服务的AppSecret。 认证方式为(apiGateway)时填写。 |
secret | 否 | String | 访问API服务的Secret。 认证方式为(keyTop、hikVision、secret、hamc、md5)时填写。 |
alt_ip | 否 | String | 访问API服务的备用IP。 认证方式为(huaweiNetworkManagement)时填写。 |
access_token_url | 否 | String | 访问API服务的AccessTokenUrl。 认证方式为(liHe、oauth2.0 huaweiNetworkManagement)时填写。 |
client_id | 否 | String | 访问API服务的客户端标识。 认证方式为oauth2.0时填写。 |
client_id_key | 否 | String | 访问API服务的客户端传参标识key。 认证方式为oauth2.0时填写,不填写默认为client_id。 |
client_secret | 否 | String | 访问API服务的客户端密钥。 认证方式为oauth2.0时填写。 |
client_secret_key | 否 | String | 访问API服务的客户端密钥key。 认证方式为oauth2.0时填写,不填写默认为client_secret。 |
scope | 否 | String | 访问API服务的Scope。 认证方式为(liHe、oauth2.0)时填写。 |
authorization | 否 | String | 访问API服务的Authorization。 认证方式为(liHe)时填写。 |
grant_type | 否 | String | 访问API服务的授权类型。
|
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
datasource_id | String | 数据源ID。 |
datasource_name | String | 数据源名称。 |
datasource_type | String | 数据源类型。
|
vpc_id | String | 数据源所属虚拟私有云VPC ID。 |
app_id | String | 数据源所属应用ID。 |
app_name | String | 数据源所属应用名称。 |
instance_id | String | 数据源所属实例ID。 |
create_time | Long | 数据源创建时间。 |
update_time | Long | 数据源修改时间。 |
custom_plugin_id | String | 数据源所属连接器ID。 |
content | Content object | 数据源详细信息。 |
description | String | 数据源描述。 |
app_permission | Array of strings | 集成应用权限信息。
|
参数 | 参数类型 | 描述 |
|---|---|---|
gauss100_version | String | gauss100的版本号。 数据源类型为gauss100的时候必填
|
host | String | 主机IP地址。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
port | String | 端口,端口号为0到65535。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
database_name | String | 数据库名称。
MySQL)、ARTEMISMQ、POSTGRESQL、 GaussDB、HIVE类型且mode为default时需要配置。 |
redis_database | String | REDIS数据源类型配置,数据库编号,纯数字编码。 |
user_name | String | 访问服务的用户名。
|
password | String | 访问服务的密码。
|
mode | String | 数据源连接模式,有三种:default (默认模式)、professional (专业模式)、multiAddress (多地址)。
MySQL)、POSTGRESQL、 GaussDB、HIVE时配置default或professional。 |
cdc_mode | String | cdc模式,只有组合任务使用。 |
multi_oracle_address | Array of MultiOracleAddress objects | ORACLE集群地址,当“mode”为“multiAddress”时需要配置。 |
oracle_service_name | String | ORACLE集群服务名。 |
ftp_connect_mode | String | 访问FTP服务的连接模式。
|
ftp_protocol | String | 访问FTP服务协议类型。
|
auth_type | String | 访问SFTP服务认证类型。
|
private_key | String | 访问SFTP服务私钥。将私钥文件base64之后的字符串 |
private_key_password | String | 访问SFTP服务私钥密码。当使用无密码私钥时可不填 |
address | String | 地址。
|
ak | String | Access Key ID。 数据源为OBS,DIS类型时需要配置。 |
sk | String | Secret Access Key。 数据源为OBS,DIS类型时需要配置。 |
bucket_name | String | 桶名称,数据源为OBS时需要配置。 |
https | Boolean | 是否使用https, 数据源为OBS时需要配置,一般默认使用。 |
url | String | 连接字符串,访问url。
|
api_method | String | 访问API请求方式。
|
auth_method | String | 访问WEBSOCKET服务的认证方式。
|
api_auth_detail | ApiAuthDetail object | API鉴权详细字段。 |
broker | String | KAFKA、MQS、ACTIVEMQ的服务器地址,多个IP:PORT,使用","分隔。 |
ssl | Boolean | 是否开启SSL认证。 连接MQS内网地址时,若MQS开启了SSL,请选择“是”。 |
ssl_enable | Boolean | 是否开启SSL认证。
|
ssl_username | String | SSL用户名/应用Key。 数据源为KAFKA或者MQS时,且开启SSL认证时需要配置。 |
ssl_password | String | SSL密码/应用Secret。 数据源为KAFKA或者MQS时,且开启SSL认证时需要配置。 |
acl_enable | Boolean | 是否开启ACL认证。
|
mq_type | String | IMF数据源消息队列类型。
|
mongodb_auth_source | String | MONGODB认证源。 |
mongodb_cluster_enable | Boolean | MONGODB集群模式。
|
mongodb_replica_set | String | MONGODB副本集。 当MONGODB为非集群模式时配置。 |
encoding | String | 编码格式。
|
mysql_timeout | Integer | MYSQL连接超时时间(秒)。 |
trust_store_password | String | 公钥库密码。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
trust_store | String | 公钥库文件。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
trust_store_file_type | String | 公钥库文件类型。 数据源类型为ACTIVEMQ、ARTEMISMQ、RABBITMQ、IBMMQ且开启SSL认证时需要配置。 |
ssl_auth_method | String | SSL鉴权方式。 数据源类型为ACTIVEMQ、ARTEMISMQ且开启SSL认证时需要配置。
|
key_store | String | 私钥库文件内容。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_file_type | String | 私钥库文件类型。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_password | String | 私钥库密码。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
key_store_key_password | String | 私钥库私钥密码。 数据源类型为ACTIVEMQ、ARTEMISMQ,开启SSL认证并且认证方式是two-way时需要配置。 |
dis_tunnel_name | String | DIS通道名称。 |
dis_data_type | String | DIS数据类别。 包含:JSON。 |
dis_setting_type | String | DIS配置类别。
|
dis_endpoint | String | DIS Endpoint,当setting_type为senior时填写。 |
dis_region | String | DIS Region,当setting_type为senior时填写。 |
dis_source_project_id | String | DIS源端项目ID,当setting_type为senior时填写。 |
hl7_position | String | HL7数据源方向。
|
hl7_whitelist_enable | Boolean | HL7是否开启白名单设置。 |
hl7_whitelist | String | HL7白名单。允许同步数据到源端HL7的服务器地址,当HL7为源端(position为source)并且开启白名单设置(open_whitelist为true)时填写。 |
ldap_security_auth_type | String | LDAP安全认证类型。 |
rabbitmq_virtual_host | String | RabbitMQ虚拟主机。 |
rabbitmq_ssl_protocol | String | RABBITMQ SSL认证协议。 包含:TLS。 |
rocketmq_namesrv_addr | String | IMF数据源RocketMQ连接地址,mq_type为RocketMQ时填写,多个地址以‘,’分隔。 |
namesrv_addr | String | ROMA 20.0 MQS连接地址。 |
app_id | String | ROMA 20.0 MQS APP Key |
app_secret | String | ROMA 20.0 APP Secret |
sap_client | String | SAP客户端号。 |
sap_sysnr | String | SAP实例编号。 |
snmp_network_protocol | String | SNMP网络协议。
|
snmp_version | Integer | SNMP版本号。 |
snmp_community | String | SNMP团体名,用于访问SNMP管理代理的身份认证,相当于访问密码。 |
ibmmq_ccs_id | String | IBMMQ字符集标识。 |
ibmmq_queue_manager | String | IBMMQ队列管理器。 |
ibmmq_channel | String | IBMMQ通道名称。 |
ibmmq_cipher_suite | String | IBMMQ密钥算法套件。 |
hdfs_path | String | HDFS URL,数据源为MRSHIVE、MRSHDFS类型时配置。 |
principal_name | String | 机机交互用户名,数据源为MRSHIVE、MRSHDFS、MRSHBASE、MRSKAFKA、MRSREDIS类型时配置。 |
config_file_name | String | 用户认证文件,文件获取方式参见API参考的“附录 > 获取数据源配置文件”章节。
|
config_file_content | String | 用户认证文件内容,config_file_name对应的文件内容BASE64编码。 数据源为MRSHIVE、MRSHDFS、MRSHBASE、MRSKAFKA、MRSREDIS、MRSCLICKHOUSE类型时配置。 |
connection_instance_id | String | 连接器实例ID,连接器发布后对应的实例ID。 |
connector_params | Object | 连接器对应的数据源参数,值按实际填写。 |
参数 | 参数类型 | 描述 |
|---|---|---|
auth_method | String | 访问API服务的认证方式。
|
app_auth_type | String | 访问API服务的APP认证方式,认证方式为(apiGateway)时填写。
|
user_name | String | 访问API服务的用户名。
|
password | String | 访问API服务的密码。 认证方式为(liHe、huaweiNetworkManagement、basicauth、secret、md5、hmac)时填写。 |
app_key | String | 访问API服务的AppKey。 认证方式为(apiGateway)时填写。 |
app_secret | String | 访问API服务的AppSecret。 认证方式为(apiGateway)时填写。 |
secret | String | 访问API服务的Secret。 认证方式为(keyTop、hikVision、secret、hamc、md5)时填写。 |
alt_ip | String | 访问API服务的备用IP。 认证方式为(huaweiNetworkManagement)时填写。 |
access_token_url | String | 访问API服务的AccessTokenUrl。 认证方式为(liHe、oauth2.0 huaweiNetworkManagement)时填写。 |
client_id | String | 访问API服务的客户端标识。 认证方式为oauth2.0时填写。 |
client_id_key | String | 访问API服务的客户端传参标识key。 认证方式为oauth2.0时填写,不填写默认为client_id。 |
client_secret | String | 访问API服务的客户端密钥。 认证方式为oauth2.0时填写。 |
client_secret_key | String | 访问API服务的客户端密钥key。 认证方式为oauth2.0时填写,不填写默认为client_secret。 |
scope | String | 访问API服务的Scope。 认证方式为(liHe、oauth2.0)时填写。 |
authorization | String | 访问API服务的Authorization。 认证方式为(liHe)时填写。 |
grant_type | String | 访问API服务的授权类型。
|
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码。 |
error_msg | String | 错误描述。 |
detail | String | 描述详情。 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码。 |
error_msg | String | 错误描述。 |
请求示例
创建一个MySQL数据源,连接模式为默认。
{ "datasource_name" : "fdi_ds_y3k674", "datasource_type" : "MYSQL", "content" : { "host" : "**.**.**.**", "port" : "3306", "database_name" : "testfdi", "user_name" : "fditest", "password" : "******", "mode" : "default" }, "app_id" : "9dbd2cd2-9622-4a1b-ad47-31018cf44cbd", "description" : "testtesttest" }创建一个FTP数据源,连接模式为active,协议类型为ftp。
{ "datasource_name" : "fdi_ds_v2frp", "datasource_type" : "FTP", "content" : { "ftp_connect_mode" : "active", "host" : "**.**.**.**", "port" : "21", "user_name" : "ftpuser", "password" : "******", "ftp_protocol" : "ftp" }, "app_id" : "9dbd2cd2-9622-4a1b-ad47-31018cf44cbd", "description" : "testtesttest" }创建一个API数据源,API请求方式为GET,认证方式为无认证。
{ "datasource_name" : "fdi_ds_api_v2", "datasource_type" : "API", "content" : { "url" : "http%3A%2F%2FVM6_ip%3A1080%2F0928njapi", "api_method" : "GET", "api_auth_detail" : { "auth_method" : "none" } }, "description" : "testAPI", "app_id" : "9dbd2cd2-9622-4a1b-ad47-31018cf44cbd" }
响应示例
状态码:201
Created
{
"datasource_id" : "123",
"datasource_name" : "fdi_ds_api_v2",
"datasource_type" : "API",
"content" : {
"url" : "http%3A%2F%2FVM6_ip%3A1080%2F0928njapi",
"api_method" : "GET",
"ApiAuthDetail" : {
"auth_method" : "none"
}
},
"description" : "testAPI",
"app_id" : "9dbd2cd2-9622-4a1b-ad47-31018cf44cbd"
} 状态码
状态码 | 描述 |
|---|---|
201 | Created |
400 | Bad Request |
500 | Internal Server Error |
错误码
请参见错误码。

