اتمته n8n

منع تكرار البيانات في n8n: استخدام Remove Duplicates واختيار المعرّف

رسم توضيحي لفلترة المعرّفات المتكررة في n8n من ثلاثة عناصر إلى عنصرين فريدين

قد يصل العنصر نفسه مرتين إلى سير الأتمتة بسبب إعادة إرسال الطلب أو تكرار القراءة من مصدر البيانات. إذا لم تتحقق منه، قد تضيف صفًا ثانيًا أو تنفذ العملية مرة أخرى دون حاجة. منع تكرار البيانات في n8n يبدأ بتحديد معنى التكرار واختيار معرّف مناسب، ثم استخدام الفلترة واختبار النتيجة. يشرح هذا الدليل تطبيقًا على أرشفة مقالات في جدول تجريبي.

ما الذي تعتبره نسخة مكررة؟

تشابه العنوان ليس كافيًا دائمًا. قد يحمل مقالان مختلفان عنوانًا متقاربًا، وقد يتغير عنوان المقال نفسه بعد التحديث. اختر قيمة ثابتة تمثل العنصر في المصدر، مثل معرّف المقال، بدل الاعتماد على نص قابل للتعديل. وإذا تجمع من أكثر من مصدر، فقد تحتاج إلى الجمع بين اسم المصدر والمعرّف حتى لا تتداخل القيم.

مثال افتراضي: المصدر الأول يرسل مقالًا بمعرّف 15، والمصدر الثاني يرسل مقالًا آخر بمعرّف 15. القيمة وحدها متطابقة لكن العنصرين مختلفان. مفتاح من «المصدر + معرّف المقال» يعبّر عن القاعدة بشكل أوضح. دوّن هذه القاعدة قبل اختيار أي إعداد في العقدة.

التكرار داخل الدفعة وعبر التنفيذات

توفر عقدة Remove Duplicates نمطًا لإزالة العناصر المتكررة ضمن المدخلات الحالية، ونمطًا لمقارنة العناصر بما تمت رؤيته في تنفيذات سابقة. الأول يفيد عندما تضم القائمة الحالية نسخة مكررة، والثاني يعالج وصول عنصر سابق في تشغيل لاحق. هذان سؤالان مختلفان، فلا تفترض أن فحص الدفعة وحده يمنع جميع حالات التكرار.

توضح وثائق n8n أيضًا وجود خيارات لمقارنة الحقول وإدارة سجل الفحص. تختلف التفاصيل بحسب إصدار العقدة، لذلك راجع الواجهة التي تستخدمها والتوثيق المطابق قبل نقل إعداد من شرح قديم.

تجهيز البيانات قبل المقارنة

افحص وجود المعرّف ونوعه. هل القيمة نصية أم رقمية؟ هل تحتوي مسافات غير مقصودة؟ هل بعض العناصر بلا معرّف؟ لا تجمع العناصر الناقصة تحت قيمة فارغة واحدة ثم تعتبرها نسخًا من عنصر واحد. أحلها إلى مراجعة أو أوقفها وفق قاعدة واضحة.

إذا كان المصدر يقدم رابطًا بدل معرّف، راجع معنى اختلافه قبل التطبيع. حذف جزء من الرابط قد يجمع صفحات مختلفة، والإبقاء على كل معامل تتبع قد يجعل الصفحة نفسها تبدو عناصر متعددة. اختر القاعدة التي تناسب مصدر البيانات، واختبر أمثلة تدعم قرارك بدل تطبيق حذف عام على كل الروابط.

إعداد فلترة الدفعة الحالية

  1. أنشئ نسخة تجريبية من سير العمل مع بيانات وهمية.
  2. أضف Remove Duplicates بعد مرحلة إعداد الحقول وقبل الكتابة في الوجهة.
  3. اختر إزالة العناصر المتكررة ضمن المدخلات الحالية.
  4. حدد المقارنة بحسب الحقول المختارة، ثم اختر حقل المعرّف المناسب.
  5. نفذ الاختبار وقارن عدد العناصر قبل العقدة وبعدها.

جهز ثلاثة عناصر: اثنان لهما المعرّف نفسه، وثالث له معرّف مختلف. النتيجة المتوقعة وفق قاعدة المعرّف هي مرور عنصرين. راجع بيانات العنصر الذي بقي، ولا تفترض أنه يمثل التحديث الذي تريد الاحتفاظ به إذا كانت النسختان تحملان معلومات مختلفة. تحديد التكرار لا يساوي دمج التحديثات.

فحص العناصر عبر تنفيذات سابقة

للفحص بين التشغيلات، استخدم نمط مقارنة العناصر بتنفيذات سابقة، ثم معيار «Value Is New» عندما تريد تمرير القيمة الجديدة فقط. حدد «Value to Dedupe On» بما يعبر عن المعرّف الفريد. راجع نطاق سجل الفحص وحجمه؛ السجل له إعدادات، ولا ينبغي اعتباره ذاكرة غير محدودة.

اختبر التشغيل الأول بقيمتين جديدتين، ثم الثاني بقيمة سابقة وأخرى جديدة. دوّن ما تتوقع مروره في كل تشغيل. إذا مسحت سجل إزالة التكرار، قد تصبح العناصر القديمة مؤهلة للمرور مرة أخرى. لا تستخدم مسح السجل كخطوة عادية لإصلاح مشكلة لم تفهم سببها.

الفحص لا يضمن نجاح العملية التالية

هناك فرق بين أن يُرى العنصر في الفلترة وأن تنجح الكتابة في الوجهة. إذا اجتاز العنصر مرحلة الفحص ثم فشلت إضافة الصف، يجب أن تكون لديك طريقة لمعرفة ما حدث وإعادة المعالجة دون فقد العنصر أو تكراره. اختبر هذا السيناريو تحديدًا بدل الاكتفاء بحالة النجاح.

للمهام التي تحتاج سجلًا موثوقًا، راجع العنصر في الوجهة بمعرّفه أو استخدم آلية كتابة تمنع إنشاء نسختين بحسب إمكانات الخدمة. عند تشغيل عدة تنفيذات في الوقت نفسه، قد لا تكفي خطوة «ابحث ثم أضف» وحدها إذا وصل العنصر مرتين بالتزامن. صمم الحماية بحسب طبيعة الوجهة ومتطلبات العمل.

يساعدك دليل معالجة الأخطاء في n8n على تنظيم متابعة الفشل قبل إعادة تشغيل عملية الكتابة.

قائمة اختبارات قبل الاستخدام

  • نسختان متطابقتان داخل الدفعة نفسها.
  • عنصر قديم يصل في تنفيذ جديد.
  • عنصر جديد له عنوان قديم ومعرّف مختلف.
  • عنصر بلا معرّف أو بنوع قيمة غير متوقع.
  • فشل الكتابة بعد مرور العنصر من الفلترة.
  • تنفيذان متزامنان يحتويان القيمة نفسها.

هل أحذف الصفوف القديمة من الجدول بهذه العقدة؟

هذه الخطوات تخص فلترة عناصر سير العمل قبل الكتابة. تنظيف بيانات الوجهة الموجودة مهمة أخرى تحتاج إلى مراجعة ونسخة احتياطية.

هل أستخدم العنوان كمفتاح؟

فقط إذا كانت قاعدة عملك تضمن أنه يميز العنصر بثبات. غالبًا يكون معرّف المصدر أوضح للأرشفة.

المصدر: وثائق عقدة Remove Duplicates الرسمية.

شارك المعرفةواتساب

التعليقات