UNPKG

flink-cdc-language-server

Version:

A LSP-based language server for Apache Flink CDC

124 lines (123 loc) 5.61 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "source": { "type": "object", "description": "**Data Source** is used to access metadata and read the changed data from external systems. \nA Data Source can read data from multiple tables simultaneously.", "properties": { "type": { "type": "string", "description": "The type of the source, such as mysql." }, "name": { "type": "string", "description": "The name of the source, which is user-defined (a default value provided)." } }, "additionalProperties": true, "required": ["type"] }, "sink": { "type": "object", "description": "**Data Sink** is used to apply schema changes and write change data to external systems.\nA Data Sink can write to multiple tables simultaneously.", "properties": { "type": { "type": "string", "description": "The type of the sink, such as doris or starrocks." }, "name": { "type": "string", "description": "The name of the sink, which is user-defined (a default value provided)." } }, "additionalProperties": true, "required": ["type"] }, "pipeline": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the pipeline, which will be submitted to the Flink cluster as the job name.", "default": "Flink CDC Pipeline Job" }, "schema.change.behavior": { "type": "string", "description": "Behavior for handling schema change events.", "enum": ["EVOLVE", "TRY_EVOLVE", "IGNORE", "LENIENT", "EXCEPTION"], "default": "LENIENT" }, "local-time-zone": { "type": "string", "description": "The local time zone defines current session time zone id." } } }, "route": { "type": "array", "description": "**Route** specifies the rule of matching a list of source-table and mapping to sink-table. The most typical scenario is the merge of sub-databases and sub-tables, routing multiple upstream source tables to the same sink table.", "items": { "type": "object", "properties": { "source-table": { "type": "string", "description": "Source table id, supports regular expressions." }, "sink-table": { "type": "string", "description": "Sink table id, supports regular expressions." }, "replace-symbol": { "type": "string", "description": "Special symbol in sink-table for pattern replacing, will be replaced by original table name." }, "description": { "type": "string", "description": "Routing rule description(a default value provided)." } }, "required": ["source-table", "sink-table"] } }, "transform": { "type": "array", "description": "**Transform** module helps users delete and expand data columns based on the data columns in the table.\nWhat’s more, it also helps users filter some unnecessary data during the synchronization process.", "items": { "type": "object", "properties": { "source-table": { "type": "string", "description": "Source table id, supports regular expressions." }, "projection": { "type": "string", "description": "Projection rule, supports syntax similar to the select clause in SQL." }, "filter": { "type": "string", "description": "Filter rule, supports syntax similar to the where clause in SQL." }, "primary-keys": { "type": "string", "description": "Sink table primary keys, separated by commas." }, "partition-keys": { "type": "string", "description": "Sink table partition keys, separated by commas." }, "table-options": { "type": "string", "description": "Used to the configure table creation statement when automatically creating tables." }, "description": { "type": "string", "description": "Transform rule description." } }, "required": ["source-table"] } } }, "required": ["source", "sink"] }