نود Execution Data در N8N
نود Execution Data یکی از ابزارهای مهم برای «ذخیره، دریافت و مدیریت دادههای اجرای ورکفلو» در n8n است. وقتی میخواهید نتایج یک اجرا (Execution) را بررسی کنید، دادههای خروجی نودها را برای دیباگ ببینید، یا بر اساس دادههای یک اجرای قبلی تصمیمگیری کنید، این نود تبدیل به یک میانبُر کاربردی میشود.
معرفی نود در N8N
نود Execution Data برای کار با دادههایی استفاده میشود که در حین اجرای یک ورکفلو تولید شدهاند یا از اجرای قبلی قابل مشاهده/بازیابی هستند. این نود به شما کمک میکند بدون حدس و گمان، دقیقاً ببینید چه دادهای در چه مرحلهای تولید شده و چگونه میتوان آن را تحلیل یا بازاستفاده کرد.
- کارکرد اصلی: مشاهده/بازیابی دادههای مربوط به یک Execution (و در برخی سناریوها استفاده در دیباگ و تحلیل)
- دستهبندی نود: Function / Utility (ابزار کمکی برای داده و دیباگ)
- اهمیت در ورکفلوها: افزایش شفافیت، کاهش زمان عیبیابی، امکان ساخت منطقهای مقاومتر با اتکا به دادههای اجرای واقعی
موارد استفاده
1) دیباگ سریع یک نود خاص در اجرای واقعی
فرض کنید در یک ورکفلو چندین نود دارید (HTTP Request، Merge، IF، Set) و خروجی نهایی اشتباه است. با Execution Data میتوانید دادههای اجرای واقعی را برای یک مرحله مشخص بررسی کنید و بفهمید تغییر دادهها از کجا شروع شده است.
2) ساخت گزارش از نتیجه اجرای ورکفلو
در سناریوهایی مثل پردازش سفارشها یا جمعآوری لیدها، میتوانید دادههای اجرای اخیر را استخراج و یک گزارش بسازید (مثلاً تعداد آیتمهای پردازششده، خطاها، زمان اجرا) و آن را به Slack/Email ارسال کنید.
3) تحلیل خطاها و ریشهیابی
اگر ورکفلو شما گاهی fail میشود، میتوانید دادههای Execution را برای اجراهای شکستخورده بررسی کنید و یک الگوی خطا پیدا کنید (مثلاً یک فیلد خالی، یا پاسخ API با ساختار متفاوت).
4) ترکیب با نودهای دیگر برای ورکفلوهای عملی
- Execution Data + IF: اگر در داده اجرای قبلی مقدار خاصی ثبت شده بود، مسیر متفاوتی اجرا شود.
- Execution Data + Slack: ارسال خروجیهای کلیدی یا خطاهای یک Execution به کانال تیم.
- Execution Data + Google Sheets: ثبت خلاصه اجرای ورکفلو (زمان، وضعیت، تعداد آیتمها) در یک شیت لاگ.
- Execution Data + Code: پاکسازی/تجمیع دادههای execution و تولید گزارش سفارشی.
پارامترها و تنظیمات
پارامترهای دقیق این نود ممکن است بسته به نسخه n8n و نوع نصب (Cloud/Server) متفاوت باشد، اما منطق کلی آن حول محور «انتخاب Execution/منبع داده» و «نوع داده قابل دریافت» میچرخد. در ادامه رایجترین فیلدها و تنظیمات عملی توضیح داده شدهاند.
1) Operation (عملیات)
- نام پارامتر: Operation
- نوع داده: گزینهای (Option)
- توضیح کاربرد: مشخص میکند چه کاری روی دادههای اجرای ورکفلو انجام شود؛ معمولاً حالتهایی مثل خواندن/دریافت داده اجرای یک execution.
- مثال عملی: انتخاب حالت دریافت داده (Get) برای خواندن دادههای اجرای اخیر جهت دیباگ.
2) Execution ID (شناسه اجرا)
- نام پارامتر: Execution ID
- نوع داده: Number / String (بسته به پیادهسازی)
- توضیح کاربرد: مشخص میکند داده مربوط به کدام Execution واکشی شود. معمولاً این شناسه را میتوانید از لیست Executions در UI یا از نودهای مدیریتی/وبهوکهای داخلی دریافت کنید.
- مثال عملی: قرار دادن مقدار داینامیک مثل {{$json.executionId}} (اگر از قبل در جریان داده دارید) یا مقدار ثابت برای بررسی یک اجرای خاص.
3) Data Type / Include (نوع داده یا سطح جزئیات)
- نام پارامتر: Data Type / Include
- نوع داده: گزینهای (Option)
- توضیح کاربرد: تعیین میکند چه بخشی از دادههای اجرا برگردانده شود: متادیتا (Metadata)، داده نودها، خطاها، یا همه موارد.
- مثال عملی: اگر هدف شما فقط بررسی علت خطاست، گزینهای انتخاب میشود که اطلاعات خطا (Error details) را برگرداند تا حجم خروجی کمتر و کاربردیتر باشد.
4) Node Name / Node Filter (فیلتر بر اساس نود)
- نام پارامتر: Node Name / Node Filter
- نوع داده: String
- توضیح کاربرد: برای محدود کردن خروجی به دادههای مربوط به یک نود خاص در اجرای موردنظر. این کار در ورکفلوهای بزرگ، خوانایی را چند برابر میکند.
- مثال عملی: اگر نود شما «HTTP Request – Get Orders» نام دارد، همان نام را برای فیلتر وارد کنید تا فقط دادههای همان مرحله برگردد.
5) Output Mode / Return Format (فرمت خروجی)
- نام پارامتر: Output Mode / Return Format
- نوع داده: گزینهای (Option)
- توضیح کاربرد: مشخص میکند خروجی به شکل خلاصه (Summary) یا کامل (Full) برگردد. خروجی کامل معمولاً شامل ساختارهای عمیقتر و حجم بیشتر است.
- مثال عملی: برای ارسال گزارش به Slack از Summary استفاده کنید، برای دیباگ دقیق از Full.
نکات مهم هنگام پیکربندی
- دسترسی و مجوزها: در برخی محیطها، دسترسی به دادههای execution ممکن است محدود باشد (خصوصاً در تنظیمات امنیتی/کاربرها).
- حجم داده: داده اجرای یک ورکفلو میتواند بسیار بزرگ باشد؛ اگر فقط بخشی را نیاز دارید، از فیلتر نود یا حالت خلاصه استفاده کنید.
- نگهداری دادهها (Retention): اگر n8n برای پاکسازی اجرای قدیمی تنظیم شده باشد، ممکن است داده اجرای خیلی قدیمی در دسترس نباشد.
ورودیها و خروجیها
ورودی (Input)
این نود معمولاً میتواند بدون ورودی هم کار کند (در حالتهایی مثل انتخاب دستی Execution ID)، اما در بسیاری از ورکفلوهای واقعی ورودی شامل شناسه اجرا یا اطلاعات فیلتر است. ورودی اغلب به شکل JSON از نودهای قبلی میآید.
نمونه ورودی JSON:
{ "executionId": 12345, "nodeName": "HTTP Request - Get Orders", "mode": "full"}
خروجی (Output)
خروجی معمولاً یک یا چند آیتم شامل متادیتا و/یا دادههای مرحله(های) اجرای انتخابشده است. ساختار دقیق خروجی با توجه به تنظیمات (Summary/Full و فیلترها) تغییر میکند.
نمونه خروجی JSON (نمونه مفهومی):
{ "id": 12345, "workflowId": "9AbCDeFg", "status": "success", "startedAt": "2026-01-02T10:11:12.000Z", "stoppedAt": "2026-01-02T10:11:20.000Z", "data": { "node": "HTTP Request - Get Orders", "items": [ { "json": { "ordersCount": 12, "orders": [ { "id": "O-1001", "total": 49.9 }, { "id": "O-1002", "total": 19.0 } ] } } ] }, "error": null}
نکات پیشرفته و ترفندها
1) کمکردن حجم خروجی برای پایداری ورکفلو
- اگر فقط دنبال علت خطا هستید، دریافت همه دادهها (Full) میتواند سنگین باشد؛ از حالت خلاصه یا فیلتر بر اساس نود استفاده کنید.
- برای ورکفلوهای بزرگ، بهتر است فقط مرحلهای که مشکوک است را واکشی کنید، نه کل اجرا.
2) ساخت لاگ استاندارد با ترکیب Execution Data و Set
یک الگوی عملی:
- Execution Data: دریافت متادیتا مثل status، startedAt، stoppedAt
- Set: ساخت یک خروجی استاندارد مثل executionId، duration، status، errorMessage
- ارسال به مقصد: Slack/Email/Google Sheets
3) دیباگ خودکار اجرای شکستخورده
اگر ورکفلو شما در یک شاخه خطا (Error Workflow یا مسیرهای مدیریت خطا) به مرحلهای میرسد که executionId را میداند، میتوانید همانجا Execution Data را فراخوانی کنید و خلاصه خطا را به تیم ارسال کنید.
4) استفاده در کنار Code برای استخراج نکات کلیدی
دادههای execution ممکن است عمیق و طولانی باشد. با نود Code میتوانید فقط چند فیلد کلیدی (مثل error.message، nodeName، httpStatusCode) را استخراج کنید و گزارش تمیز بسازید.
محدودیتها و خطاها
محدودیتها
- وابستگی به نگهداری دادهها: اگر تنظیمات پاکسازی Executionها فعال باشد، داده قدیمی حذف میشود و قابل بازیابی نیست.
- حجم و کارایی: واکشی داده کامل برای اجراهای بزرگ میتواند زمانبر و سنگین باشد.
- حریم خصوصی و امنیت: دادههای execution ممکن است شامل اطلاعات حساس باشد (توکنها، ایمیلها، داده مشتری). باید دسترسیها و لاگها کنترل شوند.
خطاهای رایج و راهحلها
- Execution not found / داده پیدا نشد: Execution ID اشتباه است یا به دلیل retention حذف شده است. راهحل: ID را از UI بررسی کنید و تنظیمات نگهداری را چک کنید.
- Permission denied / عدم دسترسی: کاربر/نقش شما اجازه مشاهده دادههای execution را ندارد. راهحل: سطح دسترسی و تنظیمات کاربران را اصلاح کنید.
- Output too large / کندی شدید: داده کامل بسیار بزرگ است. راهحل: از فیلتر Node Name یا حالت Summary استفاده کنید و فقط اطلاعات ضروری را استخراج کنید.
ایده ها
- ساخت داشبورد ساده وضعیت ورکفلوها: استخراج وضعیت اجراهای اخیر و ثبت در Google Sheets برای مانیتورینگ روزانه.
- سیستم هشدار هوشمند: اگر یک Execution شکست خورد، خلاصه خطا و نام نود خطادار به Slack ارسال شود.
- تحلیل کیفیت داده ورودی: بررسی دادههای ورودی در اجراهای واقعی و پیدا کردن فیلدهای پرتکرارِ خالی یا نامعتبر.
- گزارش مدت زمان اجرا: محاسبه duration از startedAt و stoppedAt و ذخیره برای تحلیل عملکرد.
- ثبت ردپای پردازش سفارش: ذخیره خروجی مرحلههای کلیدی (مثل «اعتبارسنجی»، «پرداخت»، «ارسال») و ساخت گزارش قابل پیگیری.
