Vytvorenie n8n workflow na sledovanie a čítanie nových súborov

Vytvorené: 24. 8. 2025 08:46 Aktualizované: 27. 8. 2025 13:15
Vyriešené
Obsah článku

title: "Vytvorenie n8n workflow na sledovanie a čítanie nových súborov"
slug: "n8n-file-watcher-workflow"
technologies: ["n8n"]
tags: ["n8n", "workflow", "automatizacia", "subory", "local-files"]
date_solved: "2025-08-17"

Projekt/Téma: Vytvorenie n8n workflow na sledovanie a čítanie nových súborov

  1. Cieľ / Problém na vyriešenie: Cieľom bolo vytvoriť automatizovaný proces v n8n, ktorý sa aktivuje pri vytvorení nového súboru v sledovanom adresári na NASe, načíta jeho obsah a pripraví ho na ďalšie spracovanie.
  2. Použité technológie a nástroje:
    • Platforma: n8n
    • Kľúčové uzly: Local File Trigger, Read/Write Files from Disk, If, Extract from Text File
  3. Kľúčové postupy a konfiguračné kroky:
  4. Spúšťač: Pôvodne použitý Local File Trigger sa ukázal ako nespoľahlivý pre NFS. Bol nahradený Schedule Trigger (Cron), ktorý beží v pravidelných intervaloch (polling).
  5. Načítanie súboru: Použitie uzla Read/Write Files from Disk s operáciou "Read File(s) From Disk". Cesta k súboru bola dynamicky vložená z výstupu spúšťača pomocou výrazu (expression).
  6. Vetvenie: Použitie uzla If na rozdelenie workflow podľa typu súboru. Podmienky boli nastavené na kontrolu prípony (fileExtension) a MIME typu (mimeType).
  7. Extrakcia textu: Pre vetvu spracovávajúcu textové súbory bol použitý uzol Extract from Text File na konverziu binárnych dát (zo vstupného poľa data) na textový reťazec.
  8. Presun súboru: Po úspešnom spracovaní sa súbor presunie pomocou Execute Command a príkazu mv do processed adresára, aby sa zabránilo duplicitnému spracovaniu.
  9. Výsledné kódy a skripty:
    • Výraz pre cestu k súboru v uzle Read/Write Files from Disk:
      {{ $json.path }}
    • Príkaz pre presun súboru v Execute Command:
      mv "{{ $node["Read/Write Files from Disk"].json.filePath }}" "/data_input/kb/processed/"
  10. Zistené problémy a riešenia (Gotchas):
    • Problém: Pôvodný spúšťač Local File Trigger nereagoval na súbory vytvorené cez NFS.
    • Riešenie: Zmena stratégie z "push" (inotify) na "pull" (polling). Pôvodný spúšťač bol nahradený Schedule Trigger (Cron), ktorý periodicky kontroluje obsah adresára.
    • Problém: Operácia Insert v MySQL uzle prerušila slučku a spracovala len prvý súbor zo zoznamu.
    • Riešenie: Obnovenie slučky vložením "priebežného" uzla (Set) pred databázovú operáciu, čím sa zaistilo, že každý súbor je spracovaný v samostatnej exekúcii.
  11. Finálny výsledok / Záver: Workflow je aktívny a plne funkčný. Automaticky deteguje pridanie nových súborov v pravidelných intervaloch, spracuje ich, vloží do databázy a presunie, čím je pripravený na ďalšiu dávku.
Vyriešené: 17. 8. 2025