{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/qlik-oss/schemas/refs/heads/main/qtcp/task.settings.streamingtransform.schema.json", "title": "Streaming Transform Task Settings", "description": "Schema for Streaming Transform task settings configuration", "type": "object", "additionalProperties": false, "required": ["generalSettings", "runtimeSettings"], "properties": { "generalSettings": { "type": "object", "description": "General settings", "additionalProperties": false, "required": ["artifactsLocation"], "properties": { "artifactsLocation": { "$ref": "task.settings.common.schema.json#/definitions/artifactsLocation" }, "artifactsSettings": { "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-WithDeletedRows" }, "loadSettings": { "type": "object", "description": "Settings for data loading behavior", "properties": { "loadMode": { "type": "string", "description": "Mode for loading data", "enum": ["APPEND_ONLY", "MERGE"], "default": "MERGE" }, "mergeSettings": { "type": "object", "description": "Settings specific to merge load mode", "properties": { "softDelete": { "type": "boolean", "description": "Whether to use soft delete (mark as deleted) instead of hard delete", "enum": [true, false], "default": false }, "hasHistory": { "type": "boolean", "description": "Whether to maintain historical records", "enum": [true, false], "default": false } }, "additionalProperties": false } }, "additionalProperties": false }, "storageLocationSettings": { "$ref": "task.settings.common.schema.json#/definitions/locationSettings" }, "nestedFieldsHandling": { "type": "string", "description": "How to handle nested fields in the data", "enum": ["KEEP_NESTED_FIELDS", "EXPAND_NESTED_FIELDS"], "default": "KEEP_NESTED_FIELDS" }, "targetTablePartition": { "type": "string", "description": "Partitioning strategy for target table", "enum": ["NONE", "EVENT_INGESTION_DATE"], "default": "EVENT_INGESTION_DATE" }, "retentionSettings": { "type": "object", "description": "Settings for data retention policy", "properties": { "type": { "type": "string", "description": "Type of retention policy", "enum": ["NONE", "RETENTION"], "default": "NONE" }, "days": { "type": "integer", "description": "Number of days to retain data", "minimum": 1, "default": 1 } }, "additionalProperties": false } } }, "runtimeSettings": { "type": "object", "description": "Runtime configuration for the task", "additionalProperties": false, "required": ["lakehouseClusterId"], "properties": { "lakehouseClusterId": { "type": "string", "description": "Lakehouse cluster Id" } } }, "ddlHandlingPolicy": { "$ref": "task.settings.common.schema.json#/definitions/ddlHandlingPolicy" }, "catalogIntegration": { "$ref": "task.settings.common.schema.json#/definitions/catalogIntegration" }, "viewDefinitionSettings": { "type": "object", "additionalProperties": false, "properties": { "standardViewHeaders": { "type": "object", "additionalProperties": false, "properties": { "hdrFromTimestamp": { "type": "boolean", "enum": [true, false], "default": false } } } } } } }