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
\0per 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:
#.00per formattare decimali con due cifre,yyyy-MM-ddper date.
- Read format: Formato atteso in input, utile quando si devono convertire valori stringa in date o numeri strutturati durante la scrittura.