Passa al contenuto principale

Flat File

La destinazione Flat File consente di esportare un set di dati in uno o più file, secondo una logica completamente disaccoppiata dal formato del file, esattamente come avviene per la sorgente Flat File.
Il flusso definisce dove scrivere (location) e come formattare i dati (format), mentre Flowlyze gestisce la serializzazione e il trasferimento verso il sistema di destinazione.

Parametri di base

La destinazione Flat File espone i seguenti parametri principali:

  • Directory: Percorso remoto in cui i file verranno creati (directory FTP/SFTP/FTPS).

  • Filename: Nome del file da generare. Supporta placeholder e variabili del flusso, permettendo la costruzione dinamica del nome (es. orders_{{date}}.csv).

  • Location Type: Indica il canale di trasferimento utilizzato (es. SFTP, FTP…).

  • Granularity: Definisce il livello di granularità della scrittura, ovvero quanti file verranno generati. La selezione imposta un suffisso che viene inserito prima dell'estensione nel FileName

    • Batch: un file per batch di esecuzione (singola esecuzione del flusso dati)
    • Daily: un file per giorno
    • RequestId: un file per gruppo di messaggi elaborati (parametro configurato nelle opzioni di BufferSize)
    • Single With Time: per singolo messaggio,
    • Single:nessuna granularità predefinita. Viene creato un file con nome FileName senza aggiunta di suffissi.
  • Connessione: Parametri di accesso al server di destinazione:

    • host
    • porta
    • username
    • password

Location Type

Attualmente la destinazione supporta tutte le varianti del protocollo FTP:

  • FTP
  • SFTP
  • FTPS
  • Amazon S3 (TBD)
  • Azure Blob Storage (TBD)

Format Type

I formati attualmente disponibili sono:

  • CSV
  • JSON

Di seguito le configurazioni specifiche per ciascuno.

Format Settings — CSV

Parametri disponibili:

  • Has headers: Indica se il file deve includere la riga di intestazione delle colonne.
  • Culture: Cultura utilizzata per la rappresentazione di numeri e date (es. it-IT → usa virgola come separatore decimale, en-US → punto decimale).
  • Delimiter: Delimitatore di colonna (,, ;, \t, …).
  • Quote: Carattere per racchiudere i campi testuali. Usare \0 per non applicare alcun quoting.

Format Settings — JSON

Parametri disponibili:

  • Array field name: Indica il nome del campo che conterrà l'array.Se valorizzato: il JSON è scritto come oggetto, es. ` { "data": [ {...}, {...} ] }`Se vuoto: viene scritto direttamente l'array in root: ` [ {...}, {...} ]`

Mapping (solo CSV)

La destinazione Flat File permette di definire una mappatura delle colonne del file CSV. Attraverso la mappatura è possibile descrivere con precisione come verrà generato ogni campo del file.

Per ciascuna colonna è possibile specificare:

  • Nome della colonna: Il nome riportato nell'intestazione (se has headers = true).
  • Valore di default: Utilizzato se il campo non è presente nel messaggio.
  • Tipo del campo: string, int, decimal, datetime (influisce sulla formattazione e sulla cultura applicata).
  • Formato del campo: Esempi:
    • #.00 per formattare decimali con due cifre,
    • yyyy-MM-dd per date.
  • Read format: Formato atteso in input, utile quando si devono convertire valori stringa in date o numeri strutturati durante la scrittura.