Sparround

n8n-in data strukturu: item-lər

n8n-də node-lar arasında ötürülən bütün data obyektlərdən ibarət massivdir. Massivin hər elementi bir item-dir və hər item-in içində iki mümkün açar var:

  • json — adi data (mətn, rəqəm, iç-içə obyektlər)
  • binary — fayl datası (şəkil, PDF, arxiv)

Bu strukturu bir dəfə mənimsəmək n8n-də yaranan problemlərin böyük hissəsini həll edir. Praktik olaraq item-i cədvəldəki bir sətir kimi təsəvvür et: node-a beş sətir gəlirsə, node beş dəfə işləyir.

json
[
  {
    "json": {
      "apple": "beets",
      "carrot": { "dill": 1 }
    },
    "binary": {
      "apple-picture": {
        "data": "....",            // base64, məcburi / required
        "mimeType": "image/png",   // tövsiyə olunur / recommended
        "fileExtension": "png",
        "fileName": "example.png"
      }
    }
  }
]

Rəsmi sənədləşmədə göstərilən item strukturu. `binary` yalnız fayl olanda mövcud olur.

Bir item = bir icra. Bu qaydanın praktik nəticələri:

  • HTTP Request node-una 10 item gəlirsə, 10 sorğu göndərilir
  • Gmail node-una 10 item gəlirsə, 10 e-poçt gedir
  • Node-un çıxışındakı item sayı girişdəkindən fərqli ola bilər: Filter azaldır, Split Out artırır, Aggregate hamısını bir item-ə yığır

İç-içə data. API-lər çox vaxt datanı iç-içə qaytarır. n8n cədvəl görünüşündə iç-içə sahələri qalın şriftlə göstərir — bu, onların içində daha bir struktur olduğunu bildirir. Belə sahələri işlətmək üçün ya tam yolu yazmalısan, ya da Split Out node-u ilə massivi ayrı-ayrı item-lərə çevirməlisən.

Code node və (əvvəlki adı ilə) Function node bir istisnadır: n8n 0.166.0-dan etibarən orada json açarını və massiv sarğısını unutsan, n8n onları özü əlavə edir. Bu güzəşt yalnız həmin node-lara aiddir — öz node-unu yazsan, json açarını özün qaytarmalısan.

📚 Mənbələr və sənədlər