Write File

action_file_write · action · File & Documenti · Disponibile · v1.1.0

Descrizione

Nodo di scrittura file enterprise sul filesystem persistente del container tenant FlowForge — l'equivalente managed-cloud di un fs.writeFile Node.js con guard-rail di sicurezza multipli + audit + expression templating. Scrive il contenuto fornito (string, JSON serializzato, output di altri nodi via expression {{$node.X.json.body}}) in un file all'interno della cartella sandbox del tenant (/data per il container Docker corrispondente, cap di 1GB per tenant FREE / 10GB PRO / 100GB TEAM). Sicurezza zero-trust: allowlist enforced server-side (no escape ../, no symlink resolution, no overwrite di file system del container tipo /etc, /usr, /var/run), validazione path canonicalizzato prima della apertura, ownership check (file scritti come UID 65532 del processo runtime, immutable bit non modificabile), cap su dimensione file singolo configurabile (default 100MB) per evitare DoS via fill-disk. Crea automaticamente le directory mancanti nel path (mkdir -p atomico) — niente errore "ENOENT no such file or directory" che richiede 2 nodi per fare la stessa cosa. Due modalità di scrittura: overwrite (default — sovrascrive completamente il file precedente, write+rename atomico per consistenza in caso di crash a metà write) oppure append (aggiunge il contenuto alla coda del file esistente — fondamentale per logfile incrementali che crescono nel tempo, per evitare race condition su concurrent write di workflow paralleli sullo stesso file il nodo usa O_APPEND atomico syscall-level). Supporta interamente il sistema di template FlowForge: {{espressioni}} nel contenuto vengono valutate dall'expression engine prima della scrittura (accesso a $node, $input, $vars, helpers come $date.now, $string.upper, $crypto.sha256). Output: { path (absolute resolved), bytesWritten (per audit + quota), mode (overwrite|append), mtimeIso, sha256? (computato se sha256 fornito come check di integrità) }. Use case: scrivere report mensili HTML/PDF generati da action_pdf_generate nella cartella /data/reports/ per download cliente; log eventi su file rotante /data/logs/audit-{{$date.today}}.log con mode=append (rotazione automatica daily); persist state cross-run del workflow tipo "ultimo timestamp processato" per pipeline incrementali (alternativa al memory_note per state JSON > 1MB); export CSV consumati da action_file_read downstream nello stesso workflow o in run successive; salvataggio temporaneo di file binari (uudecoded da base64) prima di processing tramite action_ffmpeg o action_vision_extract.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
path
File di destinazione
file-pickersi
es. output.json (relativo) o /tmp/log.txt
Path nel sandbox del tenant. La cartella viene creata se non esiste.
content
Contenuto
string (multiline)noTesto o JSON.stringify(...). Supporta {{espressioni}}. Lascialo VUOTO per scrivere un file binario: se a monte arriva un handle BinaryData (es. da Read File con output binario, o un nodo PDF), ne vengono scritti i byte reali (no conversione a stringa). Content esplicito ha precedenza.
mode
Modalità scrittura
enum
overwriteappend
nooverwriteoverwrite = sovrascrive. append = aggiunge in coda.

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_file_write-1",
  "defId": "action_file_write",
  "label": "Write File",
  "config": {
    "path": "es. output.json (relativo) o /tmp/log.txt",
    "mode": "overwrite"
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Write File?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi