{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/qlik-oss/schemas/refs/heads/main/qtcp/task.settings.streaminglakelanding.schema.json", "title": "Streaming Lake Landing Task Settings", "description": "Schema for Streaming Lake Landing task settings configuration", "type": "object", "additionalProperties": false, "required": ["taskRuntime"], "properties": { "generalSettings": { "type": "object", "description": "General configuration for the task", "additionalProperties": false, "properties": { "storageLocationSettings": { "$ref": "task.settings.common.schema.json#/definitions/locationSettings" }, "folderRetentionSettings": { "type": "object", "description": "Settings for folder retention policy", "properties": { "type": { "type": "string", "description": "Retention type", "enum": ["NONE", "DELETE", "RETENTION"], "default": "NONE" }, "daysOfRetention": { "type": "integer", "description": "Number of retention days" } }, "required": ["type"], "additionalProperties": false }, "startReadDataFrom": { "type": "string", "description": "Starting point for reading data", "enum": ["EARLIEST_EVENT", "NOW"], "default": "EARLIEST_EVENT" }, "contentTypeSettings": { "type": "object", "description": "Settings for content type and format", "properties": { "format": { "type": "string", "description": "Data format type", "enum": ["CSV","JSON","AVRO","AVRO_WITH_SCHEMA","TSV","REGEX","SPLIT_LINES","ORC","PARQUET","XML"], "default": "JSON" }, "csvTypeSettings": { "type": "object", "description": "Settings specific to CSV format", "properties": { "header": { "type": "string", "description": "Header row configuration", "default": "" }, "recordDelimiter": { "type": "string", "description": "Character used to delimit records", "default": "," }, "quoteEscapeCharacter": { "type": "string", "description": "Character used for quote escaping", "default": "\"" }, "nullValue": { "type": "string", "description": "String representation of null values", "default": "" }, "duplicateHeader": { "type": "boolean", "description": "Whether to duplicate header in output", "default": false }, "automaticallyInferTypes": { "type": "boolean", "description": "Whether to automatically infer data types", "default": false } }, "additionalProperties": false }, "avroWithSchemaTypeSettings": { "type": "object", "description": "Settings specific to Avro with schema format", "properties": { "schemaRegistryUrl": { "type": "string", "description": "URL of the schema registry", "default": "" } }, "additionalProperties": false }, "tsvTypeSettings": { "type": "object", "description": "Settings specific to TSV format", "properties": { "header": { "type": "string", "description": "Header row configuration", "default": "" }, "nullValue": { "type": "string", "description": "String representation of null values", "default": "" }, "duplicateHeader": { "type": "boolean", "description": "Whether to duplicate header in output", "default": false }, "automaticallyInferTypes": { "type": "boolean", "description": "Whether to automatically infer data types", "default": false } }, "additionalProperties": false }, "regexTypeSettings": { "type": "object", "description": "Settings specific to regex-based parsing", "properties": { "pattern": { "type": "string", "description": "Regular expression pattern for parsing", "default": "(?.*)" }, "multiLine": { "type": "boolean", "description": "Whether to use multi-line regex matching", "default": false }, "automaticallyInferTypes": { "type": "boolean", "description": "Whether to automatically infer data types", "default": false } }, "additionalProperties": false }, "splitLinesTypeSettings": { "type": "object", "description": "Settings specific to split lines format", "properties": { "pattern": { "type": "string", "description": "Pattern for splitting lines", "default": "" } }, "additionalProperties": false } }, "required": [], "additionalProperties": false }, "processPastFilesSettings": { "type": "object", "description": "Settings for processing past files", "properties": { "timeAmount": { "type": "integer", "description": "Amount of time to look back", "minimum": 1, "default": 1 }, "timeUnit": { "type": "string", "description": "Unit of time for lookback", "enum": ["MINUTES", "HOURS", "DAYS"], "default": "DAYS" } }, "required": ["timeAmount", "timeUnit"], "additionalProperties": false }, "deleteFilesInSourceAfterLoad": { "type": "boolean", "description": "Whether to delete source files after successful loading", "default": false } } }, "taskRuntime": { "type": "object", "description": "Runtime configuration for the task", "additionalProperties": false, "required": ["lakehouseClusterId"], "properties": { "numberOfReadersTaskSettings": { "type": "object", "description": "Number of readers settings", "additionalProperties": false, "properties": { "numberOfReaders": { "type": "integer", "description": "Number of readers", "minimum": 1, "default": 1, "maximum": 1000 }, "numberOfReadersType": { "type": "string", "description": "Number of readers type", "enum": ["AUTOMATIC"], "default": "AUTOMATIC" } } }, "lakehouseClusterId": { "type": "string", "description": "Lakehouse cluster Id" } } }, "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" } } }