创建数据库结构化导入任务¶
从数据库连接器中选择表、集合或其他支持的对象,将其中数据写入目标表。
POST https://moi.matrixorigin.cn/newmoi/task
调用前准备¶
准备有目标工作区访问权限的个人访问令牌、目标工作区 ID、支持结构化导入的数据库连接器、来源对象、目标表或目标数据库,以及字段映射生成结果中的 proof hash 和 capability profile hash。
请求体¶
将 $AI_STUDIO_API_KEY、$WORKSPACE_ID、$IDEMPOTENCY_KEY 和示例中的资源 ID、来源对象、哈希值替换为实际值。
curl -X POST "https://moi.matrixorigin.cn/newmoi/task" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"config_type": 3,
"name": "orders-once",
"structured_load_config": {
"version": 1,
"source": {"connector_id": "$CONNECTOR_ID","source_type": "SOURCE_TYPE_MYSQL","database": "sales","table": "orders"},
"target": {"mode": "existing","database_id": "$DATABASE_ID","table_id": "$TARGET_TABLE_ID"},
"mapping": [{"source": {"kind": "column","column": "order_id"},"target_column": "order_id","target_type": "BIGINT","nullable": false,"primary_key": true,"allow_duplicate_source": false}],
"load_policy": {"run_mode": "once","initial_load_rule": "append","conflict_policy": "fail","max_rows_per_batch": 10000},
"compute": {"task_compute_resource_id": "default","query_compute_resource_id": "default","priority": "normal"},
"consistency_contract": {"contract_kind": "worker_proved_persistent_watermark","proof_kind": "db_metadata","proof_hash": "$PROOF_HASH","capability_profile_hash": "$CAPABILITY_PROFILE_HASH"}
}
}
EOF
在 target 中将 mode 设为 new,并填写新建表的数据库、名称和列定义;其余来源、映射、策略、计算资源和一致性契约字段与上一场景相同。
curl -X POST "https://moi.matrixorigin.cn/newmoi/task" -H "X-API-Key: $AI_STUDIO_API_KEY" -H "X-Workspace-ID: $WORKSPACE_ID" -H "Idempotency-Key: $IDEMPOTENCY_KEY" -H "Content-Type: application/json" -d @- <<EOF
{"config_type":3,"structured_load_config":{"version":1,"source":{"connector_id":"$CONNECTOR_ID","source_type":"SOURCE_TYPE_MYSQL","database":"sales","table":"orders"},"target":{"mode":"new","database_id":"$DATABASE_ID","table_name":"orders_copy","create_table":{"name":"orders_copy","columns":[{"name":"order_id","data_type":"BIGINT","primary_key":true,"nullable":false}]}},"mapping":[{"source":{"kind":"column","column":"order_id"},"target_column":"order_id","target_type":"BIGINT","nullable":false,"primary_key":true,"allow_duplicate_source":false}],"load_policy":{"run_mode":"once","initial_load_rule":"append","conflict_policy":"fail"},"compute":{"task_compute_resource_id":"default","query_compute_resource_id":"default","priority":"normal"},"consistency_contract":{"contract_kind":"worker_proved_persistent_watermark","proof_kind":"db_metadata","proof_hash":"$PROOF_HASH","capability_profile_hash":"$CAPABILITY_PROFILE_HASH"}}}
EOF
周期任务将 load_policy.run_mode 设为 periodic,填写 sync_strategy 和 schedule;来源、目标、映射、计算资源和一致性契约仍是完整请求的一部分。
curl -X POST "https://moi.matrixorigin.cn/newmoi/task" -H "X-API-Key: $AI_STUDIO_API_KEY" -H "X-Workspace-ID: $WORKSPACE_ID" -H "Idempotency-Key: $IDEMPOTENCY_KEY" -H "Content-Type: application/json" -d @- <<EOF
{"config_type":3,"structured_load_config":{"version":1,"source":{"connector_id":"$CONNECTOR_ID","source_type":"SOURCE_TYPE_MYSQL","database":"sales","table":"orders"},"target":{"mode":"existing","database_id":"$DATABASE_ID","table_id":"$TARGET_TABLE_ID"},"mapping":[{"source":{"kind":"column","column":"order_id"},"target_column":"order_id","target_type":"BIGINT","nullable":false,"primary_key":true,"allow_duplicate_source":false}],"load_policy":{"run_mode":"periodic","initial_load_rule":"append","sync_strategy":"incremental","conflict_policy":"fail"},"schedule":{"kind":"hourly","interval":6,"timezone":"Asia/Shanghai"},"compute":{"task_compute_resource_id":"default","query_compute_resource_id":"default","priority":"normal"},"consistency_contract":{"contract_kind":"worker_proved_persistent_watermark","proof_kind":"db_metadata","proof_hash":"$PROOF_HASH","capability_profile_hash":"$CAPABILITY_PROFILE_HASH"}}}
EOF
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
integer |
是 |
固定为 |
|
string |
否 |
任务名称。 |
|
object |
是 |
结构化载入配置。 |
|
integer |
是 |
固定为 |
|
object |
是 |
来源表。 |
|
string |
是 |
来源连接器 ID。 |
|
string |
是 |
来源类型。 |
|
string |
是 |
来源数据库。 |
|
string |
是 |
来源表名称。 |
|
object |
是 |
已有目标表。 |
|
string |
是 |
固定为 |
|
string |
是 |
目标数据库 ID。 |
|
string |
是 |
已有目标表 ID。 |
|
array of object |
是 |
来源字段到目标列的映射。 |
|
object |
是 |
来源列。 |
|
string |
是 |
来源字段表示方式。 |
|
string |
是 |
来源列名。 |
|
string |
是 |
目标列名。 |
|
string |
是 |
目标列类型。 |
|
boolean |
是 |
目标列是否可为空。 |
|
boolean |
是 |
目标列是否为主键。 |
|
boolean |
是 |
是否允许复用来源列。 |
|
object |
是 |
一次性导入策略。 |
|
string |
是 |
固定为 |
|
string |
是 |
首次载入写入规则。 |
|
string |
是 |
冲突处理规则。 |
|
integer |
否 |
每批最大行数。 |
|
object |
是 |
计算资源设置。 |
|
string |
是 |
任务计算资源。 |
|
string |
是 |
查询计算资源。 |
|
string |
是 |
任务优先级。 |
|
object |
是 |
一致性契约。 |
|
string |
是 |
一致性契约类型。 |
|
string |
是 |
证明类型。 |
|
string |
是 |
字段映射生成结果中的 proof hash。 |
|
string |
是 |
字段映射生成结果中的 capability profile hash。 |
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
integer |
是 |
固定为 |
|
object |
是 |
结构化载入配置。 |
|
integer |
是 |
固定为 |
|
string |
是 |
来源连接器 ID。 |
|
string |
是 |
来源类型。 |
|
string |
是 |
来源数据库。 |
|
string |
是 |
来源表。 |
|
string |
是 |
固定为 |
|
string |
是 |
新表所在数据库 ID。 |
|
string |
是 |
新表名称。 |
|
string |
是 |
新表名称。 |
|
array of object |
是 |
新表列定义。 |
|
string |
是 |
列名。 |
|
string |
是 |
列类型。 |
|
boolean |
是 |
是否为主键。 |
|
boolean |
是 |
是否可为空。 |
|
array of object |
是 |
来源字段到目标列的映射。 |
|
string |
是 |
来源字段表示方式。 |
|
string |
是 |
来源列名。 |
|
string |
是 |
目标列名。 |
|
string |
是 |
目标列类型。 |
|
boolean |
是 |
目标列是否可为空。 |
|
boolean |
是 |
目标列是否为主键。 |
|
boolean |
是 |
是否允许复用来源列。 |
|
string |
是 |
固定为 |
|
string |
是 |
首次载入规则。 |
|
string |
是 |
冲突规则。 |
|
string |
是 |
任务计算资源。 |
|
string |
是 |
查询计算资源。 |
|
string |
是 |
优先级。 |
|
string |
是 |
一致性契约类型。 |
|
string |
是 |
证明类型。 |
|
string |
是 |
proof hash。 |
|
string |
是 |
capability profile hash。 |
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
integer |
是 |
固定为 |
|
object |
是 |
结构化载入配置。 |
|
integer |
是 |
固定为 |
|
string |
是 |
来源连接器 ID。 |
|
string |
是 |
来源类型。 |
|
string |
是 |
来源数据库。 |
|
string |
是 |
来源表。 |
|
string |
是 |
固定为 |
|
string |
是 |
目标数据库 ID。 |
|
string |
是 |
目标表 ID。 |
|
array of object |
是 |
字段映射。 |
|
string |
是 |
来源字段表示方式。 |
|
string |
是 |
来源列名。 |
|
string |
是 |
目标列名。 |
|
string |
是 |
目标列类型。 |
|
boolean |
是 |
目标列是否可为空。 |
|
boolean |
是 |
目标列是否为主键。 |
|
boolean |
是 |
是否允许复用来源列。 |
|
string |
是 |
固定为 |
|
string |
是 |
首次载入规则。 |
|
string |
是 |
周期导入策略;可为 |
|
string |
是 |
冲突规则。 |
|
string |
是 |
周期类型;示例为 |
|
integer |
hourly 时必填 |
执行间隔。 |
|
string |
是 |
IANA 时区。 |
|
string |
是 |
任务计算资源。 |
|
string |
是 |
查询计算资源。 |
|
string |
是 |
优先级。 |
|
string |
是 |
一致性契约类型。 |
|
string |
是 |
证明类型。 |
|
string |
是 |
proof hash。 |
|
string |
是 |
capability profile hash。 |
成功响应¶
{"code":"OK","msg":"OK","data":{"task_id":"task_01"}}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
string |
新建任务 ID。 |
错误响应¶
{"code":"STRUCTURED_LOAD_CONFIG_INVALID","msg":"invalid structured load configuration","data":{"path":"structured_load_config.target"}}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
错误代码。 |
|
string |
可读错误信息。 |
|
string |
配置错误对应的字段路径。 |
后续操作¶
使用返回的 data.task_id 查看导入任务详情确认来源、目标表和运行状态。