come leggere e scrivere su file con mule

Come leggere e scrivere su file in Mule

Ciao developer,
in questo articolo troverai una breve introduzione su come leggere e scrivere su file con Mule. Vediamo come.

Aggiunta del modulo

Una volta aggiunto il modulo File nella “Mule Palette” mediante l’opzione “Add Modules” avremo a disposizione le operazioni possibili da effettuare su files, messe a disposizione dal connettore.

connettore file mule

In generale, come ogni connettore Mule, per funzionare necessita di una configurazione dove, è possibile settare la directory di lavoro (opzionale spuntando la checkbox “Connection”):

directory di lavoro connetore

Leggere

Mediante l’operazione di Read è possibile leggere un file da file system, passando come parametro il path assoluto oppure il nome del file previa configurazione delle directory di lavoro.

Considerando questo esempio:

leggere file con mule

dove, si simula di leggere un file CSV, voglio far notare l’importanza del tab “Mime Type”.
In questa sezione è possibile specificare al connettore il tipo e la forma del file che riceverà in input.

leggere file mule

In questo esempio, ho supposto che il file è in formato CSV, con header, carattere separatore “;” ed il testo è quotato.
Nulla vieta di omettere queste configurazione e lavorare il payload in uno step successivo e con un altro componente tipo “Transform Messege” (in DataWeave).

Scrivere

Mediante l’operazione di Write è possibile scrivere del payload in un file, passando come parametro il path assoluto oppure il nome del file previa configurazione delle directory di lavoro, come nel caso di Read.

Considerando questo esempio:

connettore file scrivere

Nota importante è possibile lasciare a Mule l’onere di creare la parent directory e la modalità di scrittura.

Nel content ho semplicemente definito un array di oggetti e il tipo di dato in output:

output application/csv
---
[
	{col1: "val1", col2: "val2"},
	{col1: "val3", col2: "val4"}
]

Il risultato sarà un file CSV con due colonne col1 e col2, chiaro che il payload potrebbe benissimo essere output di procedure più complesse 🙂

Intercettare file creati in una directory

Ci tengo a spendere due parole sull’operazione “On New or Updated file” utilissima in ambito di integrazione di sistemi, quando si spostano o elaborano grandi quantità di files.

In particolare questa operazione ci permette di intercettare la creazione o la modifica di files in una specifica directory del file system. Per ogni file intercettato, in automatico, Mule genera un messaggio nel flusso descritto con payload il file stesso e gli attributi del caso che descrivono il file.
Inoltre, nel tab “Advanced”, è possibile impostare delle regole di matching su attributi e proprietà dei files.

Conclusione

Come molti altri, il connettore file è molto utile e ci permette di lavorare su file con flessibilità e pulizia del codice.

Non lascio un esempio di codice su come leggere e scrive su file con Mule, in quanto è già presente nel Exchange di Mulesoft.

Leggi anche: Modulo Java per Mule

Link al connettore: https://www.mulesoft.com/exchange/org.mule.connectors/mule-file-connector/

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

quindici + 14 =