创建连接器

在当前工作区保存一个外部数据源连接器。创建只保存连接信息,不会开始导入或导出数据。接口会检查连接信息;检查未通过时,连接器仍会保存,但状态为 failed。

POST https://api.moi.matrixorigin.cn/v5/connectors

调用前准备

  1. 准备有目标工作区访问权限的个人访问令牌目标工作区 ID

  2. 根据数据源类型说明确定数据源类型和用途。

  3. 按下方请求体准备该数据源的连接信息。一次请求只填写与所选数据源对应的一组 config 对象。

请求体

$AI_STUDIO_API_KEY$WORKSPACE_ID 和示例中的连接信息替换为实际值。

curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "s3-orders-import",
    "source_type": 5,
    "usage_type": [1],
    "config": {
      "s3": {
        "endpoint": "https://s3.example.com",
        "access_key_id": "$S3_ACCESS_KEY_ID",
        "access_key_secret": "$S3_ACCESS_KEY_SECRET",
        "bucket_name": "orders/import",
        "region": "us-east-1",
        "path_style": false
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "oss-orders-import",
    "source_type": 4,
    "usage_type": [1],
    "config": {
      "oss": {
        "endpoint": "https://oss-cn-hangzhou.aliyuncs.com",
        "access_key_id": "$OSS_ACCESS_KEY_ID",
        "access_key_secret": "$OSS_ACCESS_KEY_SECRET",
        "bucket_name": "orders/import"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "matrixone-analytics",
    "source_type": 3,
    "usage_type": [1],
    "config": {
      "mo": {
        "host": "mo.example.com",
        "port": 6001,
        "username": "admin",
        "password": "$MO_PASSWORD",
        "database": "analytics"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "hdfs-orders-import",
    "source_type": 7,
    "usage_type": [1],
    "config": {
      "hdfs": {
        "address": "hdfs://namenode.example.com:8020",
        "auth_type": 0,
        "username": "hdfs",
        "file_path": "/data/orders"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "hdfs-kerberos-orders-import",
    "source_type": 7,
    "usage_type": [1],
    "config": {
      "hdfs": {
        "address": "hdfs://namenode.example.com:8020",
        "auth_type": 1,
        "kerberos_principal": "hdfs-client@EXAMPLE.COM",
        "keytab_content": "$HDFS_KEYTAB_BASE64",
        "krb5_conf_content": "$HDFS_KRB5_CONF_BASE64",
        "proxy_user": "hdfs",
        "file_path": "/data/orders"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "hive-orders-import",
    "source_type": 8,
    "usage_type": [1],
    "config": {
      "hive": {
        "addresses": ["hive-1.example.com:10000"],
        "auth_type": 0,
        "username": "hive_user",
        "password": "$HIVE_PASSWORD"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "hive-kerberos-orders-import",
    "source_type": 8,
    "usage_type": [1],
    "config": {
      "hive": {
        "addresses": ["hive-1.example.com:10000"],
        "auth_type": 1,
        "client_principal": "hive-client@EXAMPLE.COM",
        "service_principal": "hive/hive-1.example.com@EXAMPLE.COM",
        "keytab_data": "$HIVE_KEYTAB_BASE64",
        "krb5_conf_data": "$HIVE_KRB5_CONF_BASE64"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "mysql-orders-import",
    "source_type": 9,
    "usage_type": [1],
    "config": {
      "mysql": {
        "host": "mysql.example.com",
        "port": 3306,
        "username": "reader",
        "password": "$MYSQL_PASSWORD",
        "database": "orders"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "sqlserver-orders-import",
    "source_type": 10,
    "usage_type": [1],
    "config": {
      "sqlserver": {
        "host": "sqlserver.example.com",
        "port": 1433,
        "username": "reader",
        "password": "$SQLSERVER_PASSWORD",
        "database": "orders"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "oracle-orders-import",
    "source_type": 11,
    "usage_type": [1],
    "config": {
      "oracle": {
        "host": "oracle.example.com",
        "port": 1521,
        "username": "reader",
        "password": "$ORACLE_PASSWORD",
        "service_name": "ORCLPDB1"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "postgresql-orders-import",
    "source_type": 12,
    "usage_type": [1],
    "config": {
      "postgresql": {
        "host": "postgresql.example.com",
        "port": 5432,
        "username": "reader",
        "password": "$POSTGRESQL_PASSWORD",
        "database": "orders"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "mongodb-orders-import",
    "source_type": 13,
    "usage_type": [1],
    "config": {
      "mongodb": {
        "host": "mongodb.example.com",
        "port": 27017,
        "authMode": "userpass",
        "user": "reader",
        "password": "$MONGODB_PASSWORD",
        "authSource": "admin",
        "readPreference": "primary",
        "readConcern": "majority"
      }
    }
  }'
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "langfuse-import",
    "source_type": 14,
    "usage_type": [1],
    "config": {
      "langfuse": {
        "host": "https://cloud.langfuse.com",
        "public_key": "$LANGFUSE_PUBLIC_KEY",
        "secret_key": "$LANGFUSE_SECRET_KEY",
        "pull_mode": "langfuse_v1"
      }
    }
  }'

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。标准 S3 填写 5,配置写在 config.s3

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.s3.endpoint

string

S3 服务地址。未填写时使用 S3 服务的默认地址。

config.s3.access_key_id

string

访问密钥 ID。

config.s3.access_key_secret

string

访问密钥。

config.s3.bucket_name

string

存储桶名称;可写为桶名/前缀,例如 orders/import

config.s3.region

string

存储桶所在区域。

config.s3.session_token

string

使用临时凭据时填写的会话令牌。

config.s3.path_style

boolean

true 时使用路径样式地址;省略或填 false 时使用虚拟主机样式地址。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。阿里云 OSS 填写 4,配置写在 config.oss

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.oss.endpoint

string

OSS 服务地址。

config.oss.access_key_id

string

AccessKey ID。

config.oss.access_key_secret

string

AccessKey Secret。

config.oss.bucket_name

string

存储桶名称;可写为桶名/前缀,例如 orders/import

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。MatrixOne 填写 3,配置写在 config.mo

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.mo.host

string

MatrixOne 服务地址。

config.mo.port

integer

MatrixOne 服务端口。

config.mo.username

string

登录用户名。

config.mo.password

string

登录密码。

config.mo.database

string

默认数据库名称。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。HDFS 填写 7,配置写在 config.hdfs

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.hdfs.address

string

NameNode 地址,可带 hdfs:// 前缀。

config.hdfs.auth_type

integer

认证类型:0 为 Simple,1 为 Kerberos。Simple 认证填 0

config.hdfs.username

string

Simple 时必填

Simple 认证使用的 HDFS 用户名。

config.hdfs.file_path

string

连接器可访问的 HDFS 基础目录,例如 /data/orders

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。HDFS 填写 7,配置写在 config.hdfs

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.hdfs.address

string

NameNode 地址,可带 hdfs:// 前缀。

config.hdfs.auth_type

integer

1

config.hdfs.kerberos_principal

string

用于登录的用户主体。

config.hdfs.keytab_content

string(Base64 编码)

条件必填

Kerberos 认证时,未提供 keytab_file 时必填的 Keytab 内容。

config.hdfs.krb5_conf_content

string(Base64 编码)

条件必填

Kerberos 认证时,未提供 krb5_conf_file 时必填的 krb5.conf 内容。

config.hdfs.proxy_user

string

登录后使用的代理用户。

config.hdfs.file_path

string

连接器可访问的 HDFS 基础目录。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。Hive 填写 8,配置写在 config.hive

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.hive.addresses

array of string

HiveServer2 地址列表。至少填写一个 host:port

config.hive.auth_type

integer

认证类型:0 为 LDAP,1 为 Kerberos。LDAP 认证填 0

config.hive.username

string

LDAP 时必填

LDAP 用户名。

config.hive.password

string

LDAP 时必填

LDAP 密码。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。Hive 填写 8,配置写在 config.hive

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.hive.addresses

array of string

HiveServer2 地址列表,至少填写一个 host:port

config.hive.auth_type

integer

1

config.hive.client_principal

string

用于登录的用户主体。

config.hive.service_principal

string

HiveServer2 服务主体。

config.hive.keytab_data

string

Keytab 内容。

config.hive.krb5_conf_data

string

krb5.conf 内容。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。MySQL 填写 9,配置写在 config.mysql

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.mysql.host

string

MySQL 数据库主机地址。

config.mysql.port

integer

MySQL 数据库端口。

config.mysql.username

string

登录用户名。

config.mysql.password

string

登录密码。

config.mysql.database

string

要连接的数据库名称。连接器创建后仅浏览和导入该数据库。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。SQL Server 填写 10,配置写在 config.sqlserver

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.sqlserver.host

string

SQL Server 数据库主机地址。

config.sqlserver.port

integer

SQL Server 数据库端口。

config.sqlserver.username

string

登录用户名。

config.sqlserver.password

string

登录密码。

config.sqlserver.database

string

要在连接时打开的数据库名称。省略时先连接到 SQL Server 实例,后续可浏览可访问的数据库。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。Oracle 填写 11,配置写在 config.oracle

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.oracle.host

string

Oracle 主机地址。

config.oracle.port

integer

Oracle 端口。

config.oracle.username

string

登录用户名。

config.oracle.password

string

登录密码。

config.oracle.service_name

string

要连接的 Oracle 服务名称。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。PostgreSQL 填写 12,配置写在 config.postgresql

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.postgresql.host

string

PostgreSQL 主机地址。

config.postgresql.port

integer

PostgreSQL 端口。

config.postgresql.username

string

登录用户名。

config.postgresql.password

string

登录密码。

config.postgresql.database

string

要连接的数据库名称。连接器创建后仅浏览和导入该数据库。

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。MongoDB 填写 13,配置写在 config.mongodb

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.mongodb.host

string

MongoDB 主机地址。

config.mongodb.port

integer

MongoDB 端口。

config.mongodb.authMode

string

认证方式:userpass 为用户名和密码认证,none 为不认证。

config.mongodb.user

string

authMode 为 userpass 时必填

authModeuserpass 时的登录用户名。

config.mongodb.password

string

authModeuserpass 时的登录密码。

config.mongodb.authSource

string

authMode 为 userpass 时必填

authModeuserpass 时保存认证用户的数据库名称,例如 admin

config.mongodb.replicaSet

string

副本集名称。

config.mongodb.readPreference

string

读取节点偏好,可选 primaryprimaryPreferredsecondarysecondaryPreferrednearest

config.mongodb.readConcern

string

读取一致性级别,可选 majoritysnapshot

参数

类型

是否必填

说明

name

string

连接器名称。去除首尾空白后不能为空;不能包含半角空格、<>

source_type

integer

数据源类型代码。Langfuse 填写 14,配置写在 config.langfuse

usage_type

integer 或 array of integer

连接器用途。[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。创建时必填。

config

object

连接信息。只填写一组与 source_type 对应的配置对象。

config.langfuse.host

string

Langfuse 服务地址。

config.langfuse.public_key

string

Langfuse Public Key。

config.langfuse.secret_key

string

Langfuse Secret Key。该值仅用于提交和校验,不会在后续详情响应中返回。

config.langfuse.pull_mode

string

拉取模式。可选 langfuse_v1langfuse_v2;省略时使用 langfuse_v1

成功响应

成功时返回 200。服务会保存连接器;检查未通过时,连接器仍会保存,但状态为 failed。记录 data.id,并按 data.status 决定是否继续创建任务。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": "conn_01",
    "name": "s3-orders-import",
    "source_type": 5,
    "created_at": 1735632000,
    "updated_at": 1735632000,
    "status": "active",
    "username": "user_01",
    "related_task_ids": [],
    "usage_type": [1],
    "config": {
      "s3": {
        "endpoint": "https://s3.example.com",
        "bucket_name": "orders",
        "region": "us-east-1"
      }
    }
  }
}

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data

object

已保存的连接器。

data.id

string

新连接器 ID。

data.name

string

已保存的连接器名称。

data.source_type

integer

已保存的数据源类型代码。

data.created_at

integer

创建时间的 Unix 时间戳。

data.updated_at

integer

更新时间的 Unix 时间戳。

data.status

string

当前连接器状态。创建后为 activefailed 时,先根据该状态决定是否继续创建任务。

data.username

string

创建该连接器的用户名称。

data.related_task_ids

array of string

关联导入任务 ID 列表。新建连接器时为空数组。

data.usage_type

array of integer

已保存的用途列表:[1] 仅导入,[2] 仅导出,[1, 2] 同时支持两者。

data.config

object

已保存的连接配置对象。对象结构由 source_type 决定。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "invalid connector parameters",
  "data": null
}

字段

类型

说明

code

string

错误代码。

msg

string

可读错误信息。

data

null

错误响应中为 null

后续操作

记录 data.id,并按 data.status 决定下一步:状态可用时,按 data.usage_type 前往创建连接器文件导入任务创建导出任务;状态为失败时,先查看连接器详情更新连接器处理配置,不要直接创建任务。

最后更新于