跳到主要内容

数据集成任务

调用前请先阅读概览,了解鉴权、请求约定和错误处理。

数据集成任务从数据源读取数据并写入 Databend 表。任务类型由所用数据源的 serviceId 决定。除获取同步指标外,所有任务接口都是 v2 接口,需在请求体中传 orgSlug。

数据源(serviceId)任务对象模式
AWS S3(1)awsS3File一次性加载文件。
AWS SQS (S3)(5)awsS3File持续加载:根据 S3 事件消息加载新文件。
阿里云 MNS (OSS)(8)awsS3File持续加载:根据 OSS 事件消息加载新文件。
Kafka(7)kafkaConsumer持续消费:把 NDJSON 文件写入 stage @kafka_consumer/<task-name>/。
MySQL(2)mysqlTask快照、CDC,或先快照再 CDC。
PostgreSQL(3)postgresTask快照、CDC,或先快照再 CDC。
TiDB(6)tidbTask快照、CDC,或先快照再 CDC。

列出任务​

POST /api/v2/data-integration/tasks · Read · Member

字段类型必填说明
orgSlugstring是组织 ID。
pageinteger否页码。默认:1。
perPageinteger否每页条数。默认:20。
serviceIdinteger(枚举)否按数据源的 Service ID 过滤。
datasourceIdinteger否按数据源 ID 过滤。

响应示例。taskStatus 是任务状态,lastRunData 是最近运行数据。

{
"success": true,
"data": {
"total": 1,
"page": 1,
"perPage": 20,
"list": [
{
"id": 45,
"name": "orders_sync",
"orgId": "1024",
"datasourceId": 12,
"datasourceServiceId": 2,
"kind": "mysql",
"taskStatus": 2,
"warehouse": "default",
"database": "raw_shop",
"tableName": "orders",
"continuousIngestion": 1,
"mysqlTask": { "syncMode": 3, "includeTables": ["orders"], "conflictKey": "id", "allowDelete": true },
"lastRunId": "a9f3c2e1",
"lastRunData": { "kind": "mysql", "status": 1, "mysqlLastRun": { "phase": "cdc", "rowsSynced": "1203344", "dataFressness": "4" } },
"lastRunCreatedAt": "2026-11-09T07:00:00Z",
"createdAccountEmail": "alice@example.com",
"createdAt": "2026-11-01T02:00:00Z",
"updatedAt": "2026-11-01T02:00:00Z"
}
]
}
}

kind 取值为 awsS3、awsSqsS3、mnsOss、kafka、mysql、postgres、tidb 之一。serviceArgs(如果有)是任务对象的 JSON 字符串副本,请读取 mysqlTask 等结构化字段。

获取任务​

POST /api/v2/data-integration/task/{taskId}/info · Read · Member

参数位置类型必填说明
taskId路径integer是任务 ID。
orgSlug请求体string是组织 ID。

响应:data 是一个任务对象,字段与列出任务中的单项相同。SQS (S3)、MNS (OSS) 和 Kafka 任务还会通过 runtimeConfig 返回运行单元及其价格。

预览源数据​

POST /api/v2/data-integration/service/preview · Probe · Member

从数据源读取样例数据。创建任务前,可根据结果确定目标列。

字段类型必填说明
orgSlugstring是组织 ID。
datasourceIdinteger是数据源 ID。
一个任务对象object是awsS3File、kafkaConsumer、mysqlTask、postgresTask 或 tidbTask,需与数据源类型对应。

请求示例(S3 CSV 文件):

{
"orgSlug": "<organization-id>",
"datasourceId": 10,
"awsS3File": {
"region": "us-east-2",
"filePath": "s3://acme-raw/orders/2026-11-*.csv",
"fileType": 1,
"fileCsvArgs": { "fieldDelimiter": ",", "recordDelimiter": "\n", "skipHeader": 1 }
}
}

响应示例。headerNames[i] 和 headerTypes[i] 描述第 i 列,sampleLines 是原始样例行。

{
"success": true,
"data": {
"kind": "awsS3",
"awsS3Files": [{ "region": "us-east-2", "filePath": "s3://acme-raw/orders/2026-11-01.csv", "fileType": 1, "fileSize": 10240 }],
"headerNames": ["id", "amount", "created_at"],
"headerTypes": ["BIGINT", "DOUBLE", "TIMESTAMP"],
"sampleLines": ["1,19.9,2026-11-01 08:00:00"]
}
}

列出运行单元​

POST /api/v2/data-integration/runtime-units · Read · Member

返回持续消费类任务可用的计算单元及每小时价格。

字段类型必填说明
orgSlugstring是组织 ID。
runtimeKindstring(枚举)是sqs-s3-consumer、mns-oss-consumer 或 kafka-consumer。

响应。列表在 data 中。

{
"success": true,
"data": [
{ "runtimeKind": "kafka-consumer", "unit": "4XSmall", "displayName": "4XSmall", "default": true, "prices": [{ "currencyCode": "USD", "currencySymbol": "$", "pricePerHour": "<price>" }] },
{ "runtimeKind": "kafka-consumer", "unit": "3XSmall", "displayName": "3XSmall", "prices": [{ "currencyCode": "USD", "currencySymbol": "$", "pricePerHour": "<price>" }] }
]
}

可用单元:4XSmall(1 CPU、4 GiB,默认)、3XSmall(2 CPU、8 GiB)、2XSmall(4 CPU、16 GiB)。

创建任务​

POST /api/v2/data-integration/task/create · Write · Member

创建的任务处于停止状态。如需启动,请调用操作任务并传 operate: 1。

字段类型必填说明
orgSlugstring是组织 ID。
namestring是在组织内唯一的任务名。
datasourceIdinteger是数据源 ID。任务类型由数据源决定。
warehousestring视情况向 Databend 写入数据的计算集群。除 Kafka 外的所有任务类型都必填。
databasestring视情况目标数据库。S3、SQS (S3)、MNS (OSS)、PostgreSQL 任务,以及使用 includeTables 的 MySQL 任务必填。TiDB 任务和基于规则的 MySQL 任务根据源数据库名生成目标数据库。Kafka 任务不使用此字段。
tableNamestring视情况目标表。S3、SQS (S3)、MNS (OSS)、PostgreSQL 任务,以及使用 includeTables 的 MySQL 任务必填。基于规则的 MySQL 任务必须留空。Kafka 任务不使用此字段。
tableFieldsTableField[]视情况目标列。S3、SQS (S3) 和 MNS (OSS) 任务必填,每项都需要 name 和 type。
awsS3FileAwsS3File视情况S3、SQS (S3) 和 MNS (OSS) 任务必填。S3(serviceId 1)任务还必须填写 filePath。
kafkaConsumerKafkaConsumerArgs视情况Kafka 任务必填。
mysqlTaskMysqlTaskArgs视情况MySQL 任务必填。
postgresTaskPostgresTaskArgs视情况PostgreSQL 任务必填。
tidbTaskTiDBTaskArgs视情况TiDB 任务必填。
continuousIngestioninteger否0 关闭,1 开启。服务端会根据数据源类型和同步模式自动设置。
runtimeConfigobject否{ "unit": "4XSmall" }。仅用于 SQS (S3)、MNS (OSS) 和 Kafka 任务。默认使用列出运行单元中的默认单元。

请求示例(MySQL,先快照再 CDC,单表):

{
"orgSlug": "<organization-id>",
"name": "orders_sync",
"datasourceId": 12,
"warehouse": "<warehouse-name>",
"database": "raw_shop",
"tableName": "orders",
"mysqlTask": {
"syncMode": 3,
"includeTables": ["orders"],
"conflictKey": "id",
"allowDelete": true
}
}

请求示例(MySQL,使用表规则同步多个数据库):

{
"orgSlug": "<organization-id>",
"name": "shards_sync",
"datasourceId": 12,
"warehouse": "<warehouse-name>",
"mysqlTask": {
"syncMode": 3,
"tableRules": ["shard_*.*", "!*.tmp_*"],
"targetDatabasePrefix": "raw_",
"allowDelete": true
}
}

请求示例(Kafka)。该任务写入文件,不需要 warehouse、database 或 tableName。

{
"orgSlug": "<organization-id>",
"name": "events_stream",
"datasourceId": 14,
"kafkaConsumer": {
"topics": "orders,payments",
"offsetReset": "EARLIEST",
"dataFormat": "JSON"
},
"runtimeConfig": { "unit": "4XSmall" }
}

请求示例(AWS SQS (S3),持续加载 CSV):

{
"orgSlug": "<organization-id>",
"name": "clicks_ingest",
"datasourceId": 15,
"warehouse": "<warehouse-name>",
"database": "web",
"tableName": "clicks",
"tableFields": [
{ "name": "ts", "type": "TIMESTAMP", "nullable": false },
{ "name": "url", "type": "VARCHAR", "nullable": true }
],
"awsS3File": {
"fileType": 1,
"fileCsvArgs": { "fieldDelimiter": ",", "recordDelimiter": "\n", "skipHeader": 1 },
"copyIntoOnError": 1
}
}

响应。ID 在顶层。

{ "success": true, "id": 45 }

更新任务​

POST /api/v2/data-integration/task/{taskId}/update · Write · Creator or Admin

替换任务配置。请求体与创建任务相同,另外在路径中传 taskId。请传全部字段,而不只是修改过的字段。

规则:

  • 任务必须处于停止状态。请先通过操作任务停止任务。
  • 不能修改数据源类型。新的 datasourceId 必须与原数据源的 serviceId 相同。

响应:{ "success": true }。

操作任务​

POST /api/v2/data-integration/task/operate · Write · Creator or Admin

启动、停止或删除一个或多个任务。

字段类型必填说明
orgSlugstring是组织 ID。
taskIdsinteger[]是任务 ID 列表。
operateinteger(枚举)是操作类型。
{ "orgSlug": "<organization-id>", "taskIds": [45], "operate": 1 }

响应:{ "success": true }。HTTP 400 表示任务当前状态不允许该操作,例如 task #45 orders_sync can only start from stopped (current: TaskRunning)。服务端按传入顺序逐个处理,遇到第一个错误即停止,之前已处理的任务保持新状态。请根据 message 判断是哪个任务失败。

列出任务运行记录​

POST /api/v2/data-integration/task/runs · Read · Member

按从新到旧返回任务运行记录。任务每次启动都会产生一次运行。

字段类型必填说明
orgSlugstring是组织 ID。
taskIdinteger否按任务 ID 过滤。不传时返回组织内所有任务的运行记录。
pageinteger否页码。默认:1。
perPageinteger否每页条数。默认:20。

响应示例。status 是任务运行结果。responseData 是该次运行的最近运行数据。taskSnapshot 是 JSON 字符串,记录运行时的任务配置。

{
"success": true,
"data": {
"total": 3,
"page": 1,
"perPage": 20,
"list": [
{
"id": 902,
"orgId": "1024",
"taskId": 45,
"taskName": "orders_sync",
"executeId": "a9f3c2e1",
"status": 1,
"responseData": { "kind": "mysql", "status": 1, "mysqlLastRun": { "phase": "cdc", "tablesTotal": 1, "tablesCompleted": 1, "rowsSynced": "1203344" } },
"createdAt": "2026-11-09T07:00:00Z",
"updatedAt": "2026-11-09T08:00:00Z"
}
]
}
}

获取任务运行详情​

POST /api/v2/data-integration/task/runs/{executeId} · Read · Member

返回一次运行的状态上报记录。

参数位置类型必填说明
executeId路径string是运行记录的 executeId。
orgSlug请求体string是组织 ID。

响应示例。requestData 是 JSON 字符串,记录启动这次运行的请求。

{
"success": true,
"data": {
"total": 1,
"list": [
{
"id": 5521,
"taskId": 45,
"executeId": "a9f3c2e1",
"status": 3,
"hostname": "dataintegration-worker-0",
"responseCode": 500,
"responseData": { "kind": "mysql", "status": 3, "error": "Access denied for user 'sync'@'203.0.113.10'" },
"createdAt": "2026-11-09T07:00:05Z"
}
]
}
}

列出 MySQL 快照的表级结果​

POST /api/v2/data-integration/task/runs/{executeId}/mysql/snapshot/tables · Read · Member

返回一次 MySQL 运行中快照阶段每张表的结果。运行记录中 mysqlLastRun.tableResultsAvailable 为 true 时才有结果。

参数位置类型必填说明
executeId路径string是运行记录的 executeId。
orgSlug请求体string是组织 ID。
status请求体integer(枚举)否按 MySQL 快照表状态过滤。
page请求体integer否页码。默认:1。
perPage请求体integer否每页条数。默认:20。最大:100,超过时返回 HTTP 400。
{
"success": true,
"data": {
"total": 2,
"page": 1,
"perPage": 20,
"list": [
{ "database": "shop", "table": "orders", "fullName": "shop.orders", "status": 1, "rowsRead": "1200000" },
{ "database": "shop", "table": "logs", "fullName": "shop.logs", "status": 3, "error": "no primary key and no conflictKey" }
]
}
}

列出 TiDB 全量同步的表级结果​

POST /api/v2/data-integration/task/runs/{executeId}/tidb/full-sync/tables · Read · Member

与列出 MySQL 快照的表级结果相同,适用于 TiDB 运行的全量同步阶段。status 是 TiDB 全量同步表状态。每项包含 totalChunks 和 completedChunks,没有 rowsRead。

{
"success": true,
"data": {
"total": 1,
"list": [
{ "database": "app", "table": "users", "fullName": "app.users", "status": 1, "totalChunks": 12, "completedChunks": 12 }
]
}
}

获取 TiDB 任务指标​

POST /api/v2/data-integration/task/{taskId}/metrics · Read · Member

返回 TiDB 任务(serviceId 6)在指定时间范围内的固定同步指标。

参数位置类型必填说明
taskId路径integer是TiDB 任务的 ID。
orgSlug请求体string是组织 ID。
from请求体string是开始时间,RFC 3339,必须早于 to。
to请求体string是结束时间,RFC 3339,与 from 相差不超过 24 小时。
stepSeconds请求体integer是数据点间隔秒数,范围 30 到 3600。整个时间范围最多 1440 个点。

请求示例:

{ "orgSlug": "<organization-id>", "from": "2026-11-09T07:00:00Z", "to": "2026-11-09T08:00:00Z", "stepSeconds": 60 }

响应示例。time 的值是 Unix 秒。值为 null 表示该时间点没有采样。latest 是最后一个点的值,最后一个点没有采样时不返回。

{
"success": true,
"data": {
"resultType": "matrix",
"time": [1762671600, 1762671660],
"series": [
{ "metric": "cdc_freshness_seconds", "time": [1762671600, 1762671660], "value": [4, 5], "latest": 5 },
{ "metric": "cdc_merged_rows_per_second", "time": [1762671600, 1762671660], "value": [120.5, null] }
]
}
}

指标名:

指标说明
cdc_freshness_seconds最近一次成功合并时的延迟,单位秒。
cdc_source_rows_per_second每秒源端变更事件数。
cdc_merged_rows_per_second每秒合并到 Databend 的行数。
cdc_table_healthy_percent没有错误的 CDC 表占比。
cdc_error_tables处于错误状态的 CDC 表数。
cdc_backoff_tables等待重试的 CDC 表数。
cdc_permanent_errorCDC 运行出现永久性错误时为 1。
cdc_runningCDC 正在运行时为 1。
cdc_sample_age_seconds最近一次指标采样距今的时间。
cdc_run_success_percent最近 24 小时 CDC 运行的成功率。
snapshot_rows_per_second每秒加载的快照行数。
snapshot_table_success_percent没有错误的快照表占比。
snapshot_progress_percent快照进度。
snapshot_running快照正在运行时为 1。
snapshot_run_success_percent最近 24 小时快照运行的成功率。

获取同步指标​

GET /api/v1/orgs/{orgSlug}/tenant/metrics/{queryType} · Read · Member

返回 MySQL 或 TiDB 任务的同步指标。此接口即 queryType 设为 MySQLSync 或 TiDBSync 的获取监控指标接口。MySQL 任务请使用此接口;TiDB 任务也可以使用获取 TiDB 任务指标。

参数位置类型必填说明
orgSlug路径string是组织 ID。
queryType路径string(枚举)是MySQLSync 或 TiDBSync,必须与任务类型一致。
taskId查询integer是任务 ID。
from查询string是开始时间,RFC 3339。
to查询string是结束时间,RFC 3339,与 from 相差不超过 24 小时。
step查询string是时长,范围 30s 到 1h,必须是整秒。整个时间范围最多 1440 个点。
curl --get 'https://api.databend.cn/api/v1/orgs/<organization-id>/tenant/metrics/MySQLSync' \
--header 'X-DATABENDCLOUD-TOKEN: <api-token>' \
--data-urlencode 'taskId=<task-id>' \
--data-urlencode 'from=2026-11-09T07:00:00Z' \
--data-urlencode 'to=2026-11-09T08:00:00Z' \
--data-urlencode 'step=60s'

响应结构与获取监控指标相同,指标名与获取 TiDB 任务指标相同。MySQL 任务还会返回 cdc_source_lag_seconds(binlog 读取落后源端的时间)和 cdc_skipped_tables,但不返回 cdc_error_tables 和 cdc_backoff_tables。

类型​

任务状态​

取值名称
1TaskStopped
2TaskRunning

任务运行结果​

取值名称
1TaskRunRunning
2TaskRunSuccess
3TaskRunFail

操作类型​

取值名称效果
1Start启动已停止的任务。
2Stop停止正在运行的任务。已停止的任务保持停止。
3Drop删除已停止的任务。任务正在运行时返回 HTTP 400。
4Resume启动已停止的任务。MySQL 归档任务会保留当前时间窗口,失败的窗口会重新执行。
5Cancel停止正在运行的任务。任务未在运行时返回 HTTP 400。

同步模式​

mysqlTask.syncMode、postgresTask.syncMode 和 tidbTask.syncMode 使用相同的取值。

取值模式continuousIngestion
1仅快照。0
2仅 CDC。1
3先快照,再 CDC。1

文件类型​

取值格式
1CSV
2Parquet
3NDJSON

加载出错处理​

awsS3File.copyIntoOnError:

取值效果
1CONTINUE:跳过出错的行,继续加载。
2ABORT:遇到第一个错误时停止加载。

MySQL 归档模式​

mysqlTask.archiveSchedule.archiveMode:1 按天,2 按周,3 按月。

MySQL 快照表状态​

取值名称含义
1Success表的所有行都已加载。
2Failed所有重试之后仍然失败。
3Skipped表没有可用的合并键,本次运行跳过了它。
4Pending运行在快照处理到该表之前就结束了。

TiDB 全量同步表状态​

1 成功,2 失败。

任务对象​

TableField​

字段类型必填说明
namestring是列名。
typestring是Databend 数据类型,例如 VARCHAR、BIGINT、TIMESTAMP 或 VARIANT。
nullableboolean否该列是否允许 NULL。
defaultValuestring否默认值表达式。

AwsS3File​

用于 S3、SQS (S3) 和 MNS (OSS) 任务。

字段类型必填说明
regionstring否Bucket 所在地域,例如 us-east-2。
filePathstring视情况要加载的文件。S3(serviceId 1)任务必填,支持通配符:s3://bucket/path/2026-11-*.csv。SQS (S3) 和 MNS (OSS) 任务从事件消息中获取文件。
fileTypeinteger(枚举)是文件类型。创建任务时服务端不会校验此字段,请务必设置。
fileCsvArgsobjectCSV 时必填FileCsvArgs。
copyIntoOnErrorinteger(枚举)否加载出错处理。
copyIntoPurgeboolean否加载成功后删除源文件。
copyIntoForceboolean否即使文件之前已加载过,也重新加载。

FileCsvArgs​

字段类型必填说明
fieldDelimiterstring否默认:,。
recordDelimiterstring否默认:\n。
compressionstring否默认:None。其他取值与 Databend 文件格式选项 COMPRESSION 相同,例如 GZIP 或 AUTO。
skipHeaderinteger否要跳过的表头行数。

KafkaConsumerArgs(任务)​

Kafka 配置中属于任务的部分。连接配置在数据源上。

字段类型必填说明
topicsstring是Topic 列表,用逗号分隔。
dataFormatstring否只支持 JSON。默认:JSON。
offsetResetstring(枚举)否EARLIEST 或 LATEST。默认:LATEST。
maxBatchSizeBytesinteger否单个输出文件的最大字节数。默认:16777216。
maxBatchWaitSecondsinteger否写出一个文件前的最长等待时间。默认:60。

MysqlTaskArgs​

字段类型必填说明
syncModeinteger(枚举)是同步模式。
includeTablesstring[]视情况数据源默认数据库中的表。不使用 tableRules 时必填。
excludeTablesstring[]否要排除的表。只能与 includeTables 一起使用。
tableRulesstring[]视情况作用于一个或多个数据库的表规则,最多 50 条。不能与 includeTables、excludeTables 或 archiveSchedule 同时使用。请求中的 tableName 必须为空。
conflictKeystring视情况合并键列。使用 includeTables 且为 CDC 模式(2、3)时必填。使用 tableRules 时,每张表使用自己的主键,conflictKey 是可选的覆盖值,用于没有复合主键的表。
allowDeleteboolean否把源端 DELETE 事件同步到目标表。
snapshotWhereConditionstring否过滤快照行的 SQL 条件,仅用于 syncMode 1。最多 10,000 个字符,不能包含 DROP、DELETE、UPDATE、INSERT、TRUNCATE、EXEC、EXECUTE、CREATE、ALTER、GRANT 或 REVOKE。
archiveScheduleobject否定期归档,见下表。只能与 includeTables 一起使用。
maxMatchedTablesinteger否tableRules 最多可匹配的表数。0 表示使用服务端默认值(5000)。
targetDatabasePrefix、targetDatabaseSuffix、targetTablePrefix、targetTableSuffixstring否基于规则的任务使用的名称前后缀,只能包含字母、数字和 _。目标数据库 = 前缀 + 源数据库名 + 后缀,目标表 = 前缀 + 源表名 + 后缀。
mergeIntervalSeconds、rawTableTtlHours、checkpointIntervalSeconds、pipelineBufferSize、pipelineBatchSize、pipelineFlushIntervalSeconds、pipelineWorkers、batchSizeinteger否高级调优参数。不传或传 0 表示使用服务端默认值。

archiveSchedule 字段:

字段类型必填说明
enabledboolean是是否开启归档。
cronExpressionstring开启时必填Cron 表达式,例如 0 1 * * *。
archiveModeinteger(枚举)开启时必填MySQL 归档模式。
timeColumnNamestringautoGenerateCondition 时必填时间列。只能包含字母、数字和 _,最多 64 个字符。
autoGenerateConditionboolean否根据 timeColumnName 自动生成时间窗口条件。
timezonestring否IANA 时区,例如 Asia/Shanghai。默认:UTC。

PostgresTaskArgs​

字段类型必填说明
syncModeinteger(枚举)是同步模式。
includeTablesstring[]是表列表,例如 public.orders。
excludeTablesstring[]否要排除的表。
conflictKeystring视情况合并键列。syncMode 2 和 3 必填。
allowDeleteboolean否把源端 DELETE 事件同步到目标表。
snapshotWhereConditionstring否规则与 MysqlTaskArgs 相同,仅用于 syncMode 1。
调优参数integer否与 MysqlTaskArgs 相同。

TiDBTaskArgs​

字段类型必填说明
syncModeinteger(枚举)是同步模式。
dumplingS3Prefixstring视情况Dumpling 导出的前缀。syncMode 1 和 3 必填。
changefeedS3Prefixstring视情况TiCDC changefeed 写入的前缀。syncMode 2 和 3 必填。创建 changefeed 时,sink URI 中需设置 enable-tidb-extension=true。
tableRulesstring[]视情况表规则,最多 50 条。数据源没有配置 database 时必填。不能与 includeTables 或 excludeTables 同时使用。
includeTables、excludeTablesstring[]否数据源默认数据库中的表。
maxMatchedTablesinteger否任务最多可同步的表数。0 表示使用服务端默认值(5000)。
targetDatabasePrefix、targetDatabaseSuffix、targetTablePrefix、targetTableSuffixstring否名称前后缀,只能包含字母、数字和 _。不设置时目标名称与源名称相同。
conflictKeystring否合并键列。
allowDeleteboolean否把源端 DELETE 事件同步到目标表。
textToVariantboolean否把 TEXT 列映射为 VARIANT 而不是 STRING。请在首次同步前设置,值必须是合法 JSON。
dumplingEscapeBackslashboolean视情况必须与 Dumpling 导出时的 --escape-backslash 选项一致。非空且含文本列的导出需要设为 false,并使用 --escape-backslash=false --csv-output-dialect=snowflake 导出。
dumplingCsvSeparatorstring否导出文件的 CSV 分隔符。
dumplingCsvNullstring否导出文件中表示 NULL 的标记。
dumplingCsvSkipHeaderinteger否每个文件的表头行数。不传时使用 Dumpling 默认值(一行表头)。
dumplingAutoCreateTableboolean否根据导出的 schema 文件创建目标表。
dumplingOnErrorstring否快照阶段 COPY INTO 的 ON_ERROR 选项。
dumplingPurgeboolean否加载成功后删除导出文件。
dumplingCopyBatchFilesinteger否每次 COPY 处理的文件数,范围 0 到 64。0 表示 16。
pollIntervalSeconds、batchFileCount、mergeIntervalSeconds、tableParallelisminteger否高级调优参数,不能为负数。0 表示使用服务端默认值。
errorIntegrationstring否Databend Cloud 不支持,请不要设置。传入值时服务端返回 HTTP 400。

表规则​

tableRules 使用 TiCDC 过滤器语法。每条规则的格式为 schemaPattern.tablePattern。以 ! 开头的规则表示排除。

规则匹配
app.orders单张表。
shard_*.*所有名称以 shard_ 开头的数据库中的所有表。
~^shard_\d+$.~^t两侧都使用正则表达式。
!*.tmp_*排除名称以 tmp_ 开头的表。

服务端从最后一条规则往前匹配,第一条匹配上的规则生效。没有匹配任何规则的对象会被排除。如果列表中只有 ! 规则,开头会隐含一条 *.*。创建任务前,请用预览 MySQL 表规则或预览 TiDB 表规则确认匹配结果。

最近运行数据​

任务上的 lastRunData 和运行记录上的 responseData 结构如下:

字段类型说明
kindstring任务类型,例如 mysql。
statusinteger(枚举)任务运行结果。
errorstring运行失败时的错误信息。
warningstring最近一条未中断运行的警告,例如跳过了某个文件。
mysqlLastRun、postgresLastRun、tidbLastRun、kafkaLastRun、awsS3LastRun、awsSqsS3LastRunobject对应任务类型的进度详情,只会出现其中一个。

常用进度字段:

对象字段
mysqlLastRunphase(snapshot 或 cdc)、rowsSynced、insertCount、updateCount、deleteCount、mergedRows、tablesTotal、tablesCompleted、tablesError、tablesSkipped、currentTable、rowsPerSecond、dataFressness(秒)、sourceLagSeconds、lastError、lastWarning、tableResultsAvailable
postgresLastRunlsn、snapshotCompleted、rowsSynced、insertCount、updateCount、deleteCount、lastMessage
tidbLastRunfullSyncPhase、fullSyncCompleted、rowsSynced、bytesSynced、chunksTotal、chunksCompleted、tablesTotal、tablesActive、tablesError、tablesBackoff、mergedRows、dataFressness(秒)、appliedResolvedTS、slowestTable、lastError、lastWarning、tableResultsAvailable
kafkaLastRunwindowStart、windowEnd、recordsReceived、recordsWritten、recordsFailed、bytesReceived、bytesWritten、errorCount
awsS3LastRun、awsSqsS3LastRunbucket、object、total、success、fail

64 位计数器以 JSON 字符串返回。dataFressness 保留原有拼写。