{ "swagger": "2.0", "info": { "title": "ACT 后台", "version": "last" }, "basePath": "/", "tags": [ { "name": "公共分类", "description": "公共分类" }, { "name": "数据EDA", "description": "DRPC:cls:Eda; " }, { "name": "数据标签", "description": null }, { "name": "数据连接", "description": null }, { "name": "项目管理", "description": null }, { "name": "作业", "description": null } ], "schemes": [ "http" ], "paths": { "/v1/websocket/event": { "post": { "tags": [ "公共分类" ], "summary": "创建 websocket 资源更新事件", "description": "", "consumes": [ "application/json" ], "parameters": [ { "name": "root", "in": "body", "schema": { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "event": { "type": "string", "title": "事件名,资源维护者自定义,示例: create,update,delete" }, "resource_type": { "type": "string", "title": "资源类型名" }, "project_key": { "type": "string", "title": "project_key" }, "data": { "type": "object", "properties": { "resource_status": { "type": "string", "title": "资源当前状态" } }, "required": [], "title": "自行约定填充,以下为示例" } }, "required": [ "resource_type", "project_key", "data" ] } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "title": "title", "properties": {} } } } } }, "/v1/projects/{project_key}/jobs/{job_id}/models/{model_key}": { "get": { "tags": [ "作业" ], "summary": "获取 model 详情(job专用-后续开放给sdk)", "description": "", "parameters": [ { "name": "project_key", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "job_id", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "model_key", "in": "path", "description": "", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "code": { "type": "number", "description": "0成功,非0失败" }, "msg": { "type": "string", "description": "如果失败,这里有错误信息" }, "data": { "type": "object", "properties": { "project_key": { "type": "string", "description": "project key" }, "name": { "type": "string", "description": "用户可修改的name" }, "model": { "type": "object", "properties": { "type": { "type": "string", "description": "dataset type" }, "managed": { "type": "boolean", "description": "为false时是第一类dataset,数据不可删除" }, "name": { "type": "string", "description": "用户可修改的name" }, "project_key": { "type": "string", "description": "project key" }, "format_type": { "type": "string", "description": "文件类型的dataset才有这项。“csv”" }, "flow_options": { "type": "object", "properties": { "virtualizable": { "type": "boolean", "description": "高级设置里的参数。缺省false" }, "rebuild_behavior": { "type": "string", "description": "高级设置里的参数。缺省NORMAL" }, "cross_project_build_behavior": { "type": "string", "description": "高级设置里的参数。缺省DEFAULT" } }, "description": "创建dataset时的高级设置", "required": [ "virtualizable", "rebuild_behavior", "cross_project_build_behavior" ] }, "format_params": { "type": "object", "properties": { "style": { "type": "string" }, "charset": { "type": "string" }, "separator": { "type": "string" }, "quote_char": { "type": "string" }, "escape_char": { "type": "string" }, "date_serialization_format": { "type": "string" }, "array_map_format": { "type": "string" }, "hive_separators": { "type": "array", "items": { "type": "string" } }, "skip_rows_before_header": { "type": "number" }, "parse_header_row": { "type": "boolean" }, "skip_rows_after_header": { "type": "number" }, "probable_number_of_records": { "type": "number" }, "normalize_booleans": { "type": "boolean" }, "normalize_doubles": { "type": "boolean" } }, "description": "文件类型的dataset才有" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "标签tags" }, "params": { "type": "object", "properties": { "connection": { "type": "string", "description": "connection id,到db查其他参数" }, "path": { "type": "string", "description": "文件类connection才有这项" }, "table": { "type": "string", "description": "db表名,DB类connection才有这项" }, "mode": { "type": "string", "description": "存储类型,比如“table\",DB类connection才有这项" }, "bucket": { "type": "string", "description": "S3类型的connection才有这项" }, "key_name": { "type": "string", "description": "redis才有,key name" }, "key_type": { "type": "string", "description": "redis才有,key type" }, "collection": { "type": "string", "description": "非关系型数据库才有,collection name" }, "index": { "type": "string", "description": "索引类型的才有这项" }, "not_ready_if_empty": { "type": "boolean", "description": "数据非空才认为是data ready" }, "files_selection_rules": { "type": "object", "properties": { "mode": { "type": "string" }, "exclude_rules": { "type": "array", "items": { "type": "string" } }, "include_rules": { "type": "array", "items": { "type": "string" } }, "explicit_files": { "type": "array", "items": { "type": "string" } } } } }, "description": "必有这项,但不同类型的dataset里面的key有差别", "required": [ "connection" ] }, "schema": { "type": "object", "properties": { "columns": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "origin_type": { "type": "string" } }, "required": [ "name", "type", "origin_type" ] } }, "user_modified": { "type": "boolean" } }, "required": [ "columns" ], "description": "columns信息在这里" }, "custom_fields": { "type": "object", "properties": {}, "description": "自定义fields" }, "last_build": { "type": "object", "properties": { "project_key": { "type": "string", "description": "project key" }, "id": { "type": "string", "description": "activity id" }, "job_id": { "type": "string", "description": "job id" }, "job_project_key": { "type": "string" }, "build_start_time": { "type": "number", "description": "构建开始时间" }, "build_end_time": { "type": "number", "description": "构建结束时间" }, "build_success": { "type": "string", "description": "success或failed" } }, "description": "最后一次构建的信息", "required": [ "project_key", "job_id", "build_start_time", "build_end_time", "build_success" ] }, "object_key": { "type": "string", "description": "dataset_key,后台用的id,用户不可见不可改" }, "cache": { "type": "object", "properties": { "s3_path": { "type": "string" } }, "description": "下载缓存数据链接", "required": [ "s3_path" ] } }, "description": "model信息", "required": [ "type", "managed", "name", "project_key", "tags", "params", "schema", "object_key", "flow_options" ] }, "status": { "type": "object", "properties": { "size": { "type": "object", "properties": { "total_value": { "type": "number", "description": "占多少字节磁盘" }, "last_computed": { "type": "number" }, "first_computed": { "type": "number" }, "has_data": { "type": "boolean", "description": "是否有数据,这个影响前端的图标显示" }, "incomplete": { "type": "boolean" } }, "description": "数据大小信息", "required": [ "has_data" ] }, "records": { "type": "object", "properties": { "total_value": { "type": "number" }, "last_computed": { "type": "number" }, "first_computed": { "type": "number" }, "has_data": { "type": "boolean", "description": "是否有数据,这个影响前端的图标显示" }, "incomplete": { "type": "boolean" } }, "required": [ "has_data" ] }, "partitions_last_compute": { "type": "number" }, "partitions": { "type": "number" } }, "description": "数据状态" }, "buildable": { "type": "boolean", "description": "有recipe时为true" }, "headers": { "type": "array", "items": { "type": "object", "properties": { "dataset_schema": { "type": "object", "properties": { "name": { "type": "string", "title": "字段名称" }, "type": { "type": "string", "title": "字段类型" } }, "required": [ "name", "type" ] }, "normal_rate": { "type": "object", "properties": {}, "title": "缺失值统计信息" } }, "required": [ "dataset_schema", "normal_rate" ] } } }, "description": "data信息", "required": [ "project_key", "name", "model", "headers" ] } }, "required": [ "code", "msg", "data" ] } } } } }, "/v1/projects/{project_key}/jobs/{job_id}/folders/{folder_key}": { "get": { "tags": [ "作业" ], "summary": "获取managed folder详情(job专用)", "description": "", "parameters": [ { "name": "project_key", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "job_id", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "folder_key", "in": "path", "description": "", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "code": { "type": "number", "description": "0成功,非0失败" }, "msg": { "type": "string", "description": "失败时这里有错误信息" }, "data": { "type": "object", "properties": { "project_key": { "type": "string", "description": "project key" }, "folder": { "type": "object", "properties": { "project_key": { "type": "string", "description": "project key" }, "object_key": { "type": "string", "description": "object key" }, "name": { "type": "string", "description": "用户可编辑的那个name" }, "type": { "type": "string", "description": "folder类型,与connection有关" }, "params": { "type": "object", "properties": { "connection": { "type": "string", "description": "connection id" }, "path": { "type": "string", "description": "文件夹内容存放的相对路径" }, "not_ready_if_empty": { "type": "boolean", "description": "reserved" }, "files_selection_rules": { "type": "object", "properties": { "mode": { "type": "string", "description": "ALL" }, "exclude_rules": { "type": "array", "items": { "type": "string" }, "description": "排除规则" }, "include_rules": { "type": "array", "items": { "type": "string" } }, "explicit_files": { "type": "array", "items": { "type": "string" } } }, "description": "文件过滤规则" } }, "required": [ "connection", "path" ], "description": "数据读写相关配置在这里" }, "flow_options": { "type": "object", "properties": { "virtualizable": { "type": "boolean" }, "rebuild_behavior": { "type": "string", "description": "构建方式" }, "cross_project_build_behavior": { "type": "string" } }, "required": [ "virtualizable", "rebuild_behavior" ], "description": "flow参数" }, "metrics": { "type": "object", "properties": { "probes": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "enabled": { "type": "boolean" }, "compute_on_build_mode": { "type": "string" }, "meta": { "type": "object", "properties": { "name": { "type": "string" }, "level": { "type": "number" } } }, "configuration": { "type": "object", "properties": {} } } } }, "engine_config": { "type": "object", "properties": { "pad_runs_with_metrics": { "type": "boolean" }, "hive": { "type": "object", "properties": { "active": { "type": "boolean" }, "extra_conf": { "type": "array", "items": { "type": "string" } } } }, "basic": { "type": "object", "properties": {} }, "dss": { "type": "object", "properties": { "active": { "type": "boolean" }, "selection": { "type": "object", "properties": { "use_mem_table": { "type": "boolean" }, "filter": { "type": "object", "properties": { "distinct": { "type": "boolean" }, "enabled": { "type": "boolean" } } }, "partition_selection_method": { "type": "string" }, "latest_partitions_n": { "type": "number" }, "ordering": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "rules": { "type": "array", "items": { "type": "string" } } } }, "sampling_method": { "type": "string" }, "max_records": { "type": "number" }, "target_ratio": { "type": "number" }, "within_first_n": { "type": "number" }, "max_read_uncompressed_bytes": { "type": "number" } } } } }, "sql": { "type": "object", "properties": { "active": { "type": "boolean" } } }, "impala": { "type": "object", "properties": { "active": { "type": "boolean" } } }, "spark": { "type": "object", "properties": { "active": { "type": "boolean" }, "extra_conf": { "type": "array", "items": { "type": "string" } } } }, "python": { "type": "object", "properties": {} } } }, "displayed_state": { "type": "object", "properties": { "partition": { "type": "string" }, "columns": { "type": "array", "items": { "type": "string" } }, "metrics": { "type": "array", "items": { "type": "string" } } } } } }, "checks": { "type": "object", "properties": { "run_on_build": { "type": "boolean" }, "checks": { "type": "array", "items": { "type": "string" } }, "displayed_state": { "type": "object", "properties": { "partition": { "type": "string" }, "checks": { "type": "array", "items": { "type": "string" } } } } } }, "version_tag": { "type": "object", "properties": { "version_number": { "type": "number" }, "last_modified_by": { "type": "object", "properties": { "login": { "type": "string" } }, "required": [ "login" ] }, "last_modified_on": { "type": "number", "description": "修改时间unix time ms" } }, "required": [ "version_number", "last_modified_on", "last_modified_by" ], "description": "配置版本信息" }, "creation_tag": { "type": "object", "properties": { "version_number": { "type": "number", "description": "1" }, "last_modified_by": { "type": "object", "properties": { "login": { "type": "string" } } }, "last_modified_on": { "type": "number", "description": "创建时间unix time ms" } }, "required": [ "version_number", "last_modified_by", "last_modified_on" ], "description": "配置创建时间" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "文件夹标签" }, "custom_fields": { "type": "object", "properties": {} }, "checklists": { "type": "object", "properties": { "checklists": { "type": "array", "items": { "type": "string" } } } } }, "description": "folder配置在这里", "required": [ "project_key", "object_key", "name", "type", "params", "flow_options", "version_tag", "creation_tag" ] } }, "required": [ "project_key", "folder" ] } }, "required": [ "code", "msg", "data" ] } } } } } } }