CreateFormationCrawler - 创建元数据发现任务

更新时间:
复制 MD 格式

ADB实例中创建Formation Crawler元数据发现任务。

接口说明

请求说明

  • 此接口用于在 AnalyticDB for MySQL 实例中创建一个 Formation Crawler 元数据发现任务。

  • 创建的任务配置不会立即执行,需调用StartFormationCrawler启动任务。

  • CrawlerInfo字段为 JSON 字符串,包含任务的核心配置信息,如目标数据库名、数据源类型等。

  • 注意部分参数(如classifiersfrequency)需要双重 JSON 编码。

  • 数据库名dbName会被服务端自动转为小写。

  • schemaChangePolicy是必填项,必须同时提供updateRuledeleteRule

  • 推荐使用RUN_ON_DEMAND调度模式以避免不必要的重复扫描。

  • 确保产品名为adb,域名格式为adb.{regionId}.aliyuncs.com

  • 创建后需手动调用StartFormationCrawler触发首次元数据发现。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

RegionId

string

实例所在地域标识

cn-beijing

CrawlerInfo

string

Crawler 完整配置信息的 JSON 字符串。此字段为最核心参数,其内部 JSON 结构详见 CrawlerInfo 结构定义 章节

{ "sourceType": "OSSWAREHOUSE", "dbName": "your_target_db", "sourceInfo": { "ossSourceInfo": { "sourceMode": "WAREHOUSE", "ossLocations": ["oss://your-bucket/your-path/"], "exclusions": [], "inclusions": [] } }, "classifiers": ["csv"], "schemaChangePolicy": { "updateRule": "ONLY_ADD_COLUMN", "deleteRule": "IGNORE" }, "frequency": { "type": "monthly", "cron": "0+00+00+1+*+?+*" }, "configuration": "adb.crawler.csv.columns.specify.delimiter.char=auto\nadb.crawler.csv.columns.specify.quote.char=auto\n" }

DBClusterId

string

ADB 实例 ID,资源级别的操作范围

am-bp*****

CrawlerInfo 各字段详解:

sourceType(String,必填) 源类型标识,固定填写 OSSWAREHOUSE

dbName(String,必填) 目标数据库名称,爬取到的表元数据将写入该数据库。

sourceInfo(Object,必填) 源信息容器对象。对于 OSSWAREHOUSE 类型,其内部必须包含 ossSourceInfo 子对象,否则校验不通过。

  • sourceInfo.ossSourceInfo(Object,必填) OSS 源的具体配置。包含以下字段:

    • sourceMode(String,必填):源模式,OSSWAREHOUSE 固定填 WAREHOUSE

    • ossLocations(List,必填):OSS 路径列表,每个路径需以 oss:// 开头、以 / 结尾,例如 oss://my-bucket/my-db/

    • exclusions(List,可选):需要排除的路径前缀列表,命中的路径不会被爬取。为空时填 []

    • inclusions(List,可选):需要包含的路径前缀列表,用于限定爬取范围。为空时填 []

classifiers(List,必填) 数据格式分类器,声明该 OSS 位置下的文件格式。可选值为 JSONPARQUETCSVORCAVROICEBERG(大小写不敏感)。若包含 iceberg,任务会被识别为 Iceberg 子类型。为空时填 [],自动识别格式。

schemaChangePolicy(Object,必填) Schema 变更策略对象,控制爬取时如何处理表结构变化。

  • updateRule(String,必填):Schema 更新规则。三种取值:
    • UPDATE_SCHEMA_DEFINE:完整更新 schema,支持新增列、修改列名/类型,必要时删除重建表。

    • ONLY_ADD_COLUMN:默认值,仅追加新列,不修改或删除已有列。

    • IGNORE:完全忽略 schema 变更,不生成任何 DDL(OSSDataWarehouse 类型下仍会处理分区变更)。

  • deleteRule(String,可选):Schema 删除规则,通常填 IGNORE

frequency(Object,必填) 调度频率配置。若非按需执行,会校验 cron 表达式合法性及频率限制。包含:

  • type(String):调度类型,如monthlydailyrun_on_demand (按需执行,cron 填"")

  • cron(String):cron 表达式。

configuration(Map,可选) 爬取行为的扩展配置参数

  • adb.crawler.csv.columns.specify.delimiter.char 用于指定 CSV 文件的字段分隔符。默认值为 auto(自动探测分隔符)。可选取值为逗号 ,、制表符\t、竖线|、分号;、空格,或 auto。当值为 auto 或未设置时走自动探测;否则取所配置字符串的第一个字符作为分隔符。

  • adb.crawler.csv.columns.specify.quote.char 用于指定字段值的引用符(包裹含特殊字符的值)。默认值为 auto(自动探测引用符)。可选取值为双引号 "、单引号 ',或 auto。行为与分隔符一致:auto 或未设置时自动探测,否则取首字符。

  • adb.crawler.csv.columns.specify.header.mode 用于指定表头识别方式。默认值为 HASHEAD。可选三种取值:DETECTHEAD(探测模式,自动判断首行是否为表头)、HASHEAD(首行即为列名)、NOHEAD(无表头,列名由系统自动生成)。

  • adb.crawler.csv.columns.specify.header.columns 用于用户手动指定表头列名,多个列名以逗号分隔(如 id,name,age)。默认值为空字符串(不指定,由系统按 header.mode 处理)。

  • adb.crawler.csv.columns.allow.single.column 用于指定是否允许识别只有单个字段的 CSV 文件。默认值为 false(不允许单列)。可选取值为 true / false。

返回参数

名称

类型

描述

示例值

object

HttpStatusCode

integer

HTTP 状态码,正常为 200

200

Data

boolean

请求是否处理成功

True

RequestId

string

请求追踪 ID

019F3BE7-E8FA-3DC5-8EE7-501A90B5A54D

Success

boolean

调用是否成功,取值说明:

  • true:成功。

  • false:失败。

True

Code

string

状态码。

200

Message

string

提示信息,成功时为 OK

OK

TaskId

string

操作结果,true 表示创建成功

241

示例

正常返回示例

JSON格式

{
  "HttpStatusCode": 200,
  "Data": true,
  "RequestId": "019F3BE7-E8FA-3DC5-8EE7-501A90B5A54D",
  "Success": true,
  "Code": "200",
  "Message": "OK",
  "TaskId": "241"
}

错误码

HTTP status code

错误码

错误信息

描述

409 AlreadyExists The formation task already exists.

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情