UNPKG

azure-kusto-ingest

Version:
150 lines 4.13 kB
import { ColumnMapping } from "./columnMappings.js"; /** * Data formats supported for Kusto ingestion. */ export declare enum DataFormat { /** * Comma-separated value. */ CSV = "csv", /** * Tab-separated value. */ TSV = "tsv", /** * Semicolon-separated value (the unique Azure Storage log format). */ SCSV = "scsv", /** * Start-Of-Header (CTRL-A)-separated value. */ SOHSV = "sohsv", /** * Pipeline-separated value (used by Cosmos). */ PSV = "psv", /** * Each record is a line and has just one field. */ TXT = "txt", /** * Whole stream is a single record with a single field. */ RAW = "raw", /** * Tab-separated value with '\' escaping character. */ TSVE = "tsve", /** * Data is in a JSON format, each line is record with a single JSON value. */ JSON = "json", /** * Data stream holds a single JSON value -- newlines are regular whitespace. */ SINGLEJSON = "singlejson", /** * The data stream is a concatenation of JSON documents (property bags all). */ MULTIJSON = "multijson", /** * Avro format. */ AVRO = "avro", /** * Parquet format. */ PARQUET = "parquet", /** * Microsoft Cosmos structured streams format */ SSTREAM = "sstream", /** * The Optimized Row Columnar (ORC) */ ORC = "orc", /** * Avro format for ingesting through avro2json. */ APACHEAVRO = "apacheavro", /** * W3C Extended Log File format. */ W3CLogFile = "w3clogfile" } export declare enum IngestionMappingKind { CSV = "Csv", JSON = "Json", AVRO = "Avro", PARQUET = "Parquet", SSTREAM = "SStream", ORC = "orc", APACHEAVRO = "ApacheAvro", W3CLOGFILE = "W3CLogFile" } export declare const dataFormatMappingKind: (dataFormat: DataFormat) => IngestionMappingKind; export declare enum ValidationOptions { DoNotValidate = 0, ValidateCsvInputConstantColumns = 1, ValidateCsvInputColumnLevelOnly = 2 } export declare enum ValidationImplications { Fail = 0, BestEffort = 1 } export declare class ValidationPolicy { readonly validationOptions: ValidationOptions; readonly validationImplications: ValidationImplications; constructor(validationOptions?: ValidationOptions, validationImplications?: ValidationImplications); toJSON(): Record<string, number>; } export declare enum ReportLevel { FailuresOnly = 0, DoNotReport = 1, FailuresAndSuccesses = 2 } export declare enum ReportMethod { Queue = 0, Table = 1, QueueAndTable = 2 } export interface IngestionPropertiesFields { database?: string; table?: string; format?: DataFormat; /** * @deprecated. Use ingestionMappingColumns instead. */ ingestionMapping?: ColumnMapping[]; ingestionMappingColumns?: ColumnMapping[]; ingestionMappingReference?: string; /** * @deprecated. Use ingestionMappingKind instead. */ ingestionMappingType?: IngestionMappingKind; ingestionMappingKind?: IngestionMappingKind; additionalTags?: string[]; ingestIfNotExists?: string; ingestByTags?: string[]; dropByTags?: string[]; flushImmediately?: boolean; ignoreFirstRecord?: boolean; reportLevel?: ReportLevel; reportMethod?: ReportMethod; validationPolicy?: ValidationPolicy; additionalProperties?: { [additional: string]: any; } | null; } export interface IngestionProperties extends IngestionPropertiesFields { } export declare class IngestionProperties { constructor(data: Partial<IngestionPropertiesFields>); validate(): void; merge(extraProps: IngestionPropertiesInput): IngestionProperties; setDefaults(): void; } export type IngestionPropertiesInput = IngestionProperties | IngestionPropertiesFields | null | undefined; export declare function shouldCompressFileByFormat(ingestionProperties?: IngestionPropertiesInput): boolean; export default IngestionProperties; //# sourceMappingURL=ingestionProperties.d.ts.map