本地上传并创建导入任务¶
上传本地文件并创建导入任务。非结构化文件写入数据卷;CSV、XLS 和 XLSX 的数据行写入目标表。
POST https://api.moi.matrixorigin.cn/v5/connectors/upload
调用前准备¶
准备有目标工作区访问权限的个人访问令牌、目标工作区 ID和目标数据卷或数据表。
非结构化文件一次最多 20 个、每个最大 200 MiB;结构化文件一次只能上传 1 个、每个最大 200 MiB,且仅支持 CSV、XLS 和 XLSX。
请求体¶
将 $AI_STUDIO_API_KEY、$WORKSPACE_ID 和示例中的资源 ID 替换为实际值。表单中的 JSON 值以字符串提交。
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors/upload" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-F 'file=@./manuals/product.pdf' \
-F 'file=@./manuals/guide.docx' \
-F "VolumeID=$VOLUME_ID" \
-F 'meta=[{"filename":"product.pdf","path":"manuals/product.pdf"},{"filename":"guide.docx","path":"manuals/guide.docx"}]' \
-F 'path_regex=^manuals/.*' \
-F 'unzip_keep_structure=false' \
-F 'dedup={"by":["name","md5"],"strategy":"skip"}'
此场景先上传文件取得临时文件 ID,再将该 ID 填入 table_config.conn_file_ids。不传 file 或 VolumeID。
curl -X POST "https://api.moi.matrixorigin.cn/v5/connectors/upload" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-F 'meta=[{"filename":"orders.csv","path":"orders.csv"}]' \
-F 'table_config={
"new_table": false,
"table_id": '"$TARGET_TABLE_ID"',
"conn_file_ids": ["'"$CONN_FILE_ID"'"],
"isColumnName": true,
"columnNameRow": 1,
"rowStart": 2,
"csv": {
"separator": ","
},
"existed_table": [
{
"tableColumn": "'"$TARGET_COLUMN"'",
"column": "'"$FILE_COLUMN"'",
"col_num_in_file": 1
}
]
}'
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
file(文件数组) |
是 |
本地文件;可重复传递。 |
|
string |
是 |
目标数据卷 ID。 |
|
string |
否 |
来源文件名和路径组成的 JSON 字符串。 |
|
string |
否 |
与对应 |
|
string |
否 |
文件的来源相对路径。 |
|
string |
否 |
筛选 |
|
string |
否 |
是否在解压时保留目录结构。 |
|
string |
否 |
重复文件处理设置的 JSON 字符串。 |
|
array of string |
否 |
重复文件判断字段。 |
|
string |
否 |
重复文件处理策略。 |
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
结构化文件名和路径组成的 JSON 字符串。 |
|
string |
否 |
结构化文件名。 |
|
string |
否 |
结构化文件的来源相对路径。 |
|
string |
是 |
目标表和列映射组成的 JSON 字符串。 |
|
boolean |
是 |
|
|
integer |
是 |
已有目标表 ID。 |
|
array of string |
是 |
上传接口返回的临时文件 ID。 |
|
boolean |
是 |
是否将指定行作为列名。 |
|
integer |
是 |
列名所在行,从 1 开始。 |
|
integer |
是 |
数据开始行,从 1 开始。 |
|
object |
否 |
CSV 解析设置。 |
|
string |
否 |
CSV 列分隔符。 |
|
array of object |
是 |
文件列到目标列的映射。 |
|
string |
否 |
目标表列名。 |
|
string |
否 |
文件中的列名。 |
|
integer |
否 |
文件中的列序号。 |
成功响应¶
请求已受理不表示导入已完成。
{
"code": "OK",
"msg": "OK",
"data": {
"task_id": "task_01",
"file_ids": ["file_01"],
"success": true,
"message": "OK",
"results": [
{
"success": true,
"message": "OK"
}
]
}
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
string |
创建的导入任务 ID。 |
|
array of string |
本次成功处理的文件 ID;结构化临时文件流程中可能为空。 |
|
boolean |
请求是否创建成功。 |
|
string |
处理结果说明。 |
|
array of object |
按文件返回的结果。 |
|
boolean |
该文件是否成功处理。 |
|
string |
该文件的处理结果说明。 |
错误响应¶
{
"code": "ErrParamInvalid",
"msg": "invalid upload parameters",
"data": null
}
字段 |
类型 |
说明 |
|---|---|---|
|
string |
错误代码。 |
|
string |
可读错误信息。 |
|
null |
错误响应中为 |
后续操作¶
使用 data.task_id 查看导入任务详情确认目标、状态和处理统计。