پردازش داده با n8n

انتشار خودکار محتوا با n8n

پردازش داده با n8n

مقدمه

پردازش داده با هوش مصنوعی :امروزه داده‌ها به عنوان ارزشمندترین دارایی هر کسب‌وکار شناخته می‌شوند، اما ارزش واقعی آن‌ها زمانی آشکار می‌شود که بتوان آن‌ها را به موقع جمع‌آوری، پردازش و تحلیل کرد. یکی از بهترین روش‌ها برای مدیریت جریان داده، استفاده از فرآیند ETL (مخفف Extract، Transform و Load) است. با ساخت پایپ لاین ETL در n8n، شما می‌توانید فرآیند سنتی و پیچیده کدنویسی برای انتقال داده را به یک اتوماسیون بصری، سریع و فوق‌العاده پایدار تبدیل کنید. این فرآیند به شما امکان می‌دهد داده‌های خام را از منابع مختلف استخراج کرده، با ابزارهای پردازش زبان طبیعی و هوش مصنوعی غنی‌سازی کنید و در نهایت به صورت ساختاریافته در پایگاه‌های داده ذخیره نمایید تا تصمیم‌گیری‌های تجاری خود را بر اساس داده‌های دقیق اتخاذ کنید.

پایپ‌لاینی:

پایپ‌لاینی که در این مقاله به آموزش پیاده‌سازی آن می‌پردازیم، یک نمونه کامل و مهندسی‌شده از یک سیستم ETL مدرن است. این جریان کاری به صورت خودکار داده‌های متنی (توییت‌ها) را از شبکه اجتماعی توییتر (X) استخراج می‌کند (Extract)، آن‌ها را به عنوان داده‌های خام در یک پایگاه داده NoSQL (مانند MongoDB) ذخیره می‌سازد، سپس محتوای متنی را به کمک هوش مصنوعی گوگل تحلیل حس و بررسی معنایی می‌کند (Transform) و در نهایت نسخه ساختاریافته و غنی‌شده را در یک پایگاه داده رابطه‌ای (PostgreSQL) ذخیره کرده و هشدارهای مربوط به بازخوردهای مثبت را به پیام‌رسان سازمانی اسلک ارسال می‌کند (Load). در ادامه، گام به گام با نحوه راه‌اندازی این سیستم هوشمند آشنا خواهیم شد.

قبل از شروع

پردازش داده با n8n :اگر هنوز n8n را نصب نکرده‌اید، پیشنهاد می‌کنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راه‌اندازی اولیه و ساخت اولین Workflow به‌صورت کامل آموزش داده شده است. پس از نصب و راه‌اندازی، به این مقاله بازگردید و مراحل پیاده‌سازی این Workflow را دنبال کنید.

این Workflow چه کاری انجام می‌دهد؟

 

این سناریو برای اجرای یک چرخه کامل ETL طراحی شده است که با زمان‌بندی منظم کار می‌کند. ابتدا در ساعت مشخصی از روز فعال شده و آخرین توییت‌های مربوط به یک موضوع خاص یا هشتگ معین را از توییتر استخراج می‌کند. بلافاصله پس از دریافت اطلاعات، یک نسخه دست‌نخورده و خام از داده‌های متنی برای اهداف بایگانی در دیتابیس سندمحور MongoDB ذخیره می‌شود.

در مرحله پردازش و تغییر (Transform)، متن توییت‌ها به موتور پردازش زبان طبیعی گوگل (Google Cloud Natural Language) ارسال می‌شود تا احساسات نهفته در متن (مثبت، منفی یا خنثی بودن) به همراه شدت آن احساس (Magnitude) محاسبه شود. داده‌های خروجی این تحلیل در کنار متن اصلی توسط نود Set هماهنگ شده و در پایگاه داده رابطه‌ای Postgres برای کوئری‌های تحلیلی ذخیره می‌گردند. در آخرین گام، یک فیلتر شرطی بررسی می‌کند که آیا حس توییت مثبت بوده است یا خیر؛ در صورت مثبت بودن، یک پیام حاوی متن توییت و نمره تحلیل حس آن به کانال مشخصی در Slack ارسال می‌شود تا تیم‌های مربوطه بلافاصله مطلع شوند.

کاربردهای این Workflow

ساختETLدر n8n
  • پایش برند و تحلیل تصویر عمومی کسب‌وکار: ردیابی مداوم نام برند در شبکه‌های اجتماعی و تشخیص سریع میزان رضایت مشتریان.
  • خدمات مشتریان و پاسخ‌دهی سریع: شناسایی توییت‌های مثبت یا منفی کاربران و انتقال فوری آن‌ها به تیم روابط عمومی یا پشتیبانی.
  • بایگانی و مستندسازی داده‌های بازار: جمع‌آوری و آرشیو کردن توییت‌های رقبا یا روندهای بازار در دو نوع پایگاه داده NoSQL و SQL جهت تحلیل‌های آتی.
  • سیستم هشداردهی هوشمند سازمانی: اطلاع‌رسانی خودکار به اعضای تیم در Slack هنگام انتشار نظرات برجسته و تاثیرگذار درباره یک محصول خاص.
  • تحلیل کمپین‌های بازاریابی: سنجش بازخورد کاربران نسبت به یک هشتگ خاص تفریحی یا تبلیغاتی به کمک مدل‌های هوش مصنوعی پردازش زبان طبیعی.
  • تحقیقات بازار و روندهای اجتماعی: بررسی و استخراج تمایلات جامعه پیرامون موضوعات داغ روز مانند تغییرات اقتصادی یا تکنولوژی‌های نوظهور.

پیش‌نیازها

ساختETLدر n8n

برای اینکه بتوانید این الگوی آماده را بدون مشکل در محیط n8n خود اجرا کنید، به موارد زیر نیاز خواهید داشت:

  • یک نمونه فعال از n8n: این پلتفرم می‌تواند روی سرور ابری، داکر یا سیستم محلی شما در حال اجرا باشد.
  • حساب کاربری و دسترسی به API توییتر (X): دریافت اطلاعات احراز هویت شامل API Key ،API Secret ،Access Token و Access Token Secret از پنل توسعه‌دهندگان توییتر.
  • دیتابیس MongoDB: دسترسی به یک پایگاه داده مونگو (محلی یا ابری مانند MongoDB Atlas) به همراه مشخصات اتصال و نام دیتابیس و کالکشن.
  • دیتابیس PostgreSQL: یک پایگاه داده فعال پستگرس به همراه جدولی ساخته‌شده با نام tweets که دارای ستون‌های text (متنی)، score (اعشاری) و magnitude (اعشاری) باشد.
  • حساب کاربری Google Cloud Platform: فعال‌سازی API پردازش زبان طبیعی (Natural Language API) و دریافت فایل کلید Service Account (فرمت JSON) برای احراز هویت.
  • دسترسی به پیام‌رسان Slack: تعریف یک App در Slack و دریافت توکن دسترسی Bot یا راه‌اندازی Webhook برای ارسال پیام به کانال هدف.

دانلود Template

ساختETLدر n8n

فایل JSON این Workflow را از این قسمت دانلود کنید.

آموزش Import کردن Workflow

ساختETLدر n8n
  1. وارد داشبورد n8n شوید.

  2. روی Import from File کلیک کنید.

  3. فایل JSON را انتخاب کنید.

  4. Workflow ایجاد خواهد شد.

  5. Credentialهای موردنیاز را تنظیم کنید.

آموزش کامل تمام NOODها

ساختETLدر n8n

در این بخش، تک‌تک ابزارها و گام‌های به‌کاررفته در این پایپ‌لاین را با جزییات فنی بررسی می‌کنیم تا درک کاملی از نقش هر کدام در ساخت پایپ لاین ETL در n8n به دست آورید.

۱. نود Cron (شروع‌کننده جریان)

ساختETLدر n8n
  • وظیفه Node: این نود به عنوان تریگر (Trigger) یا شروع‌کننده کل فرآیند عمل می‌کند و وظیفه دارد در زمان‌های مشخص و برنامه‌ریزی‌شده، سیگنال شروع به جریان کاری ارسال کند.
  • ورودی آن: این نود ورودی از نودهای دیگر دریافت نمی‌کند و به صورت مستقل بر اساس ساعت سیستم فعال می‌شود.
  • خروجی آن: یک سیگنال فعال‌سازی به نود بعدی (Twitter) ارسال می‌کند تا فرآیند استخراج داده آغاز شود.
  • تنظیمات مهم: پارامتر triggerTimes که در این الگو برای ساعت ۶ صبح تنظیم شده است تا پایپ‌لاین را در آغاز هر روز کاری فعال کند.
  • نکات قابل تغییر: شما می‌توانید این زمان‌بندی را به دوره‌های زمانی کوتاه‌تر (مثلاً هر یک ساعت یک‌بار) یا روزهای خاصی از هفته تغییر دهید.
  • دلیل استفاده از این Node: برای اتوماتیک‌سازی کامل سیستم بدون نیاز به مداخله دستی کاربر، وجود یک نود زمان‌بند مانند Cron الزامی است.

۲. نود Twitter (استخراج‌کننده محتوا)

ساختETLدر n8n
  • وظیفه Node: اتصال به شبکه اجتماعی توییتر و جستجوی آخرین توییت‌های مرتبط با یک موضوع یا هشتگ خاص.
  • ورودی آن: سیگنال راه‌اندازی از نود Cron.
  • خروجی آن: آرایه‌ای از اشیاء (Objects) حاوی اطلاعات توییت‌ها مانند متن توییت، شناسه کاربری، زمان انتشار و مشخصات نویسنده.
  • تنظیمات مهم: پارامتر operation روی search تنظیم شده و مقدار searchText روی عبارت =#OnThisDay قرار دارد. همچنین محدودیت دریافت داده (limit) روی عدد ۳ تنظیم شده است.
  • نکات قابل تغییر: کلمه کلیدی جستجو را می‌توانید به نام برند خود یا هشتگ کمپین فعال خود تغییر دهید و تعداد دریافت توییت‌ها را افزایش دهید.
  • دلیل استفاده از این Node: این نود نقش بخش Extract (استخراج) را در پایپ‌لاین ETL ما ایفا می‌کند و وظیفه آوردن داده‌های بیرونی به داخل سیستم را بر عهده دارد.

۳. نود MongoDB (بایگانی داده‌های خام)

ساختETLدر n8n
  • وظیفه Node: این نود وظیفه دارد داده‌های متنی دریافتی از توییتر را به همان شکل اولیه و بدون دستکاری در یک پایگاه داده NoSQL ذخیره کند.
  • ورودی آن: لیست توییت‌های استخراج‌شده از نود Twitter.
  • خروجی آن: تاییدیه ذخیره‌سازی سند در دیتابیس به همراه شناسه یکتای تولیدشده توسط MongoDB (_id).
  • تنظیمات مهم: فیلد operation روی حالت insert، بخش collection روی نام tweets و فیلد هدف برای ذخیره روی text تنظیم شده است.
  • نکات قابل تغییر: شما می‌توانید تمام سند توییت (شامل مشخصات کاربر، تاریخ و لایک‌ها) را به جای ذخیره تک‌فیلدی به صورت کامل به دیتابیس بفرستید.
  • دلیل استفاده از این Node: در معماری‌های نوین داده، ذخیره یک نسخه کپی از داده‌های خام (Raw Data Lake) در دیتابیس NoSQL قبل از اعمال هرگونه تغییرات، یک رویکرد استاندارد برای بازیابی‌های احتمالی در آینده است.

۴. نود Google Cloud Natural Language (تحلیل حس متنی)

ساختETLدر n8n
  • وظیفه Node: پردازش متن توییت و استخراج میزان مثبت یا منفی بودن لحن نویسنده با استفاده از یادگیری ماشین گوگل.
  • ورودی آن: متن ذخیره‌شده توییت که از نود MongoDB بازگردانده شده است.
  • خروجی آن: داده‌های تحلیلی شامل پارامترهای score (عددی بین ۱- تا ۱+) و magnitude (شدت احساسات متن از ۰ تا بی‌نهایت).
  • تنظیمات مهم: ویژگی content که مقدار آن به صورت داینامیک از متن خروجی نود مونگو دریافت می‌شود: ={{$node["MongoDB"].json["text"]}}.
  • نکات قابل تغییر: بسته به نیاز خود می‌توانید نوع تحلیل را از تحلیل حس ساده (Sentiment) به تحلیل موجودیت‌ها (Entities) یا دسته‌بندی موضوعی متن تغییر دهید.
  • دلیل استفاده از این Node: این نود بخش اصلی فرآیند Transform (تغییر و غنی‌سازی) داده‌ها را انجام می‌دهد و به داده خام ما ارزش تحلیلی فوق‌العاده‌ای اضافه می‌کند.

۵. نود Set (یکپارچه‌سازی و تعریف متغیرها)

ساختETLدر n8n
  • وظیفه Node: هماهنگ کردن، فیلتر کردن و قالب‌بندی متغیرهایی که از مراحل مختلف به دست آمده‌اند تا یک فرمت خروجی تمیز و یکدست برای ورود به دیتابیس بعدی ایجاد شود.
  • ورودی آن: نتایج تحلیل حس از نود گوگل.
  • خروجی آن: یک آبجکت جدید با ساختار مشخص شامل سه متغیر کلیدی: text (متن توییت)، score (نمره احساس) و magnitude (شدت احساس).
  • تنظیمات مهم: تعریف سه فیلد مشخص؛ دو فیلد عددی برای مشخصات احساسات دریافتی از نود گوگل و یک فیلد متنی که مستقیماً از خروجی نود اولیه توییتر نقشه‌برداری (Map) می‌شود.
  • نکات قابل تغییر: در صورت نیاز می‌توانید متغیرهای بیشتری مانند نام نویسنده توییت یا شناسه عددی آن را نیز در این بخش بگنجانید.
  • دلیل استفاده از این Node: نودهای پردازش متن معمولاً خروجی‌های بسیار شلوغی دارند. نود Set به ما کمک می‌کند فقط داده‌های ارزشمند را دست‌چین کرده و ساختار داده‌ها را پیش از ذخیره نهایی تمیز کنیم.

۶. نود Postgres (بارگذاری داده‌های ساختاریافته)

ساختETLدر n8n
  • وظیفه Node: درج اطلاعات غنی‌شده و تمیز در جدول پایگاه داده رابطه‌ای پستگرس.
  • ورودی آن: داده‌های تمیز خروجی از نود Set.
  • خروجی آن: تاییدیه ثبت رکورد در پایگاه داده.
  • تنظیمات مهم: فیلد table روی نام جدول tweets و بخش columns روی فیلدهای هدف text, score, magnitude تنظیم شده است.
  • نکات قابل تغییر: می‌توانید به جای افزودن مستقیم (insert)، فرآیند آپدیت بر اساس شناسه توییت را تعریف کنید تا از ثبت رکوردهای تکراری جلوگیری شود.
  • دلیل استفاده از این Node: این نود مرحله نهایی یا همان Load در پایپ‌لاین ETL است. ذخیره داده‌های ساختاریافته در یک پایگاه داده SQL امکان ترسیم نمودارها و گزارش‌گیری‌های دقیق را با ابزارهایی مانند دشبوردهای هوش تجاری (BI) فراهم می‌آورد.

۷. نود IF (کنترل‌کننده مسیر)

ساختETLدر n8n
  • وظیفه Node: تصمیم‌گیری در مورد مسیر حرکت داده‌ها بر اساس یک شرط منطقی خاص.
  • ورودی آن: داده‌های ثبت‌شده حاوی میزان امتیاز حس توییت.
  • خروجی آن: خروجی دوگانه‌ای که داده‌ها را بر اساس برآورده شدن شرط به خروجی True یا False هدایت می‌کند.
  • تنظیمات مهم: مقایسه عددی که بررسی می‌کند آیا مقدار score بزرگتر از عدد صفر است یا خیر.
  • نکات قابل تغییر: می‌توانید شرط را سخت‌گیرانه‌تر کنید (مثلاً بزرگتر از ۰.۵ برای توییت‌های بسیار مثبت) یا شرط را برعکس کنید تا هشدارهای مربوط به توییت‌های منفی (کوچکتر از صفر) ارسال شوند.
  • دلیل استفاده از این Node: تفکیک هوشمند جریان کاری و جلوگیری از ارسال پیام‌های بی‌ارزش و تکراری به پیام‌رسان تیم.

۸. نود Slack (ارسال‌کننده هشدار)

ساختETLدر n8n
  • وظیفه Node: اطلاع‌رسانی به اعضای تیم در پیام‌رسان اسلک درباره ثبت یک بازخورد مثبت جدید.
  • ورودی آن: خروجی True نود IF (فقط توییت‌هایی با نمره حس مثبت).
  • خروجی آن: ارسال موفقیت‌آمیز پیام به کانال اسلک.
  • تنظیمات مهم: متن پیام داینامیک که به زیبایی امتیاز و متن توییت را نمایش می‌دهد: 🐦 NEW TWEET with sentiment score {{$json["score"]}} and magnitude {{$json["magnitude"]}} ⬇️ {{$json["text"]}}
  • نکات قابل تغییر: می‌توانید فرمت بصری پیام را با استفاده از بلاک‌های اسلک (Block Kit) شکیل‌تر کرده و دکمه‌های تعاملی به آن اضافه کنید.
  • دلیل استفاده از این Node: برای اینکه اطلاعات پردازش‌شده در لایه دیتابیس باقی نماند و تیم‌های انسانی بتوانند بلافاصله بر اساس داده‌های جدید واکنش نشان دهند.

۹. نود NoOp (پایان بی‌صدا)

ساختETLدر n8n
  • وظیفه Node: به عنوان یک ایستگاه خنثی عمل می‌کند که هیچ عملیاتی انجام نمی‌دهد و صرفاً جریان داده‌های منفی یا خنثی را متوقف می‌سازد.
  • ورودی آن: خروجی False نود IF.
  • خروجی آن: هیچ خروجی خاصی ایجاد نمی‌کند.
  • تنظیمات مهم: این نود هیچ پارامتر تنظیمی خاصی ندارد.
  • نکات قابل تغییر: می‌توانید این نود را با یک نود ارسال ایمیل یا تسک تسلو جایگزین کنید تا توییت‌های منفی را برای بررسی و عیب‌یابی به بخش پشتیبانی فنی بفرستید.
  • دلیل استفاده از این Node: برای منظم نگه داشتن محیط طراحی سناریو در n8n و بستن انتهای مسیرهایی که نیاز به عملیات بعدی ندارند.

نحوه شخصی‌سازی Workflow

ساختETLدر n8n

منعطف بودن n8n به شما اجازه می‌دهد این ساختار پایه را مطابق با نیازهای دقیق سازمان خود شخصی‌سازی کنید:

  • تغییر زمان‌بندی (Cron): با باز کردن نود Cron می‌توانید فواصل زمانی را از روزانه به هفتگی، ساعتی یا حتی دقایق مشخص در طول روز تغییر دهید.
  • شخصی‌سازی هشتگ‌ها و فیلترها (Twitter): متن جستجو را در نود توییتر تغییر دهید. همچنین می‌توانید فیلترهایی مانند حداقل تعداد لایک یا ریتوییت را با استفاده از پارامترهای پیشرفته توییتر اعمال کنید.
  • بهینه‌سازی تحلیل احساسات (Google Cloud NLP): اگر می‌خواهید هزینه‌های API خود را کاهش دهید، می‌توانید زبان ورودی را روی یک زبان خاص محدود کنید یا تنظیمات تحلیل را طوری تغییر دهید که به جای کل متن، فقط کلمات کلیدی مهم استخراج شوند.
  • تغییر پایگاه‌های داده: به جای استفاده از MongoDB و Postgres، می‌توانید داده‌های خام را در Google Cloud Storage یا Amazon S3 ذخیره کرده و داده‌های ساختاریافته را به دیتابیس‌های ابری مثل BigQuery یا Snowflake انتقال دهید.
  • تغییر شرط اطلاع‌رسانی (IF): به راحتی شرط نود IF را تغییر دهید تا به جای توییت‌های مثبت، هشدارهای مربوط به نظرات منفی و بحرانی را به کانال اضطراری در اسلک ارسال کند.

مزایای استفاده از این Workflow

  • جداسازی هوشمند لایه‌های داده (NoSQL vs SQL): ذخیره نسخه خام در MongoDB برای مستندسازی بلندمدت و ذخیره اطلاعات تحلیل‌شده در Postgres برای سرعت بالا در تولید دزارش‌ها.
  • کاهش هزینه‌های توسعه کد: پیاده‌سازی یک پایپ‌لاین پیشرفته ETL بدون نیاز به نگارش صدها خط کدهای پایتون یا جاوا اسکریپت و نگهداری از سرورهای پیچیده اجرا.
  • پاسخ‌دهی در لحظه و بدون تاخیر: آگاه شدن آنی تیم‌های بازاریابی و فروش از بازخوردهای مثبت کاربران در شبکه‌های اجتماعی از طریق Slack.
  • تحلیل دقیق با هوش مصنوعی گوگل: حذف خطاهای انسانی در تحلیل لحن پیام‌ها با تکیه بر مدل پردازش زبان طبیعی بسیار قدرتمند و چندزبانه گوگل.
  • سیستم زمان‌بندی هوشمند و خودکار: عدم نیاز به اجرای دستی فرآیندها؛ جریان کاری به صورت کاملاً مستقل و در پس‌زمینه سرور اجرا می‌شود.
  • طراحی مقیاس‌پذیر و ماژولار: قابلیت افزودن آسان پلتفرم‌های دیگر مانند دیسکورد، تلگرام یا ارسال ایمیل به مدیران بدون آسیب زدن به هسته اصلی انتقال داده.

نکات مهم در زمان پیاده‌سازی پایپ‌لاین

  • پیکربندی ساختار جدول در Postgres: پیش از فعال‌سازی نهایی جریان کاری، حتماً جدول tweets را با ستون‌های متناسب از نظر نوع داده (مثلاً VARCHAR برای متن و FLOAT برای امتیازها) در دیتابیس پستگرس خود بسازید.
  • مدیریت هزینه‌های گوگل کلود: استفاده از API پردازش زبان طبیعی گوگل شامل هزینه‌هایی بر اساس تعداد کاراکترهای ارسالی است. حتماً سقف بودجه روزانه را در پنل کاربری گوگل خود محدود کنید.
  • محدودیت‌های نرخ مصرف توییتر (Rate Limits): توییتر محدودیت‌های سخت‌گیرانه‌ای برای فراخوانی API خود دارد. تنظیم Cron برای فواصل بسیار کوتاه ممکن است باعث بلاک شدن موقت توکن شما شود.
  • امنیت اطلاعات کاربری (Credentials): همیشه از بخش Credentials اختصاصی n8n برای ذخیره کلیدهای دسترسی استفاده کنید و هرگز کلیدها را به صورت مستقیم در بدنه نودها ننویسید.
  • تطابق زبان‌ها در مدل هوش مصنوعی: مدل زبان طبیعی گوگل از زبان‌های متعددی پشتیبانی می‌کند، اما اگر بیشتر توییت‌های شما فارسی هستند، حتماً کیفیت خروجی تحلیل لحن را روی چند نمونه آزمایشی بسنجید.
  • رفتار سیستم در مواجهه با خطای شبکه: با کلیک راست روی نودهایی مثل Slack یا Postgres، گزینه On Error را بررسی کنید و آن را روی حالت‌های جبرانی قرار دهید تا خطای لحظه‌ای شبکه کل فرآیند را متوقف نکند.
  • پاکسازی دوره‌ای داده‌های خام: داده‌های خام توییتر در MongoDB به سرعت رشد می‌کنند. برنامه‌ای برای آرشیو یا حذف دوره‌ای داده‌های قدیمی چندماهه در مونگو داشته باشید.
  • حفاظت از حریم خصوصی: در فرآیند استخراج و ذخیره‌سازی داده‌های کاربران، قوانین محلی حریم خصوصی اطلاعات (نظیر GDPR) را مد نظر داشته باشید.

 

خطاهای رایج (Troubleshooting)

۱. خطای عدم وجود جدول یا ستون در Postgres

  • علت: نود Postgres تلاش می‌کند داده‌ها را در جدولی درج کند که هنوز ساخته نشده یا نام ستون‌های آن در تنظیمات نود با نام ستون‌های دیتابیس همخوانی ندارد.
  • راه‌حل: وارد محیط دیتابیس خود شده و جدول زیر را بسازید:
CREATE TABLE tweets (
    text TEXT,
    score NUMERIC,
    magnitude NUMERIC
);

۲. خطای احراز هویت در نود Twitter (Error 401/403)

  • علت: تاریخ انقضا یا اشتباه بودن کلیدهای API ثبت‌شده در Credentials توییتر، یا نداشتن دسترسی‌های خواندن کافی در اپلیکیشن توییتر شما.
  • راه‌حل: به پرتال توسعه‌دهندگان توییتر مراجعه کرده، دسترسی‌های اپلیکیشن خود را روی حالت Read and Write تنظیم نموده و کلیدهای دسترسی جدید تولید و جایگزین کنید.

۳. خطای عدم دسترسی به API گوگل کلود (Permission Denied)

  • علت: فعال نبودن Natural Language API در پروژه گوگل کلود شما یا اشتباه بودن فایل کلید حساب خدماتی (Service Account).
  • راه‌حل: مطمئن شوید که سرویس مربوطه در کنسول گوگل کلود فعال (Enable) شده است و کلید JSON دانلود شده متعلق به حساب خدماتی با نقش حداقل Cloud Natural Language API Viewer است.

۴. خطای تایم‌اوت در اتصال به MongoDB

  • علت: مسدود بودن پورت اتصال دیتابیس مونگو توسط فایروال یا اشتباه بودن آدرس Connection String (به‌خصوص در زمان استفاده از دیتابیس‌های محلی روی لوکال‌هاست سرور).
  • راه‌حل: بررسی کنید که آی‌پی سرور n8n در بخش White-list دیتابیس مونگو ثبت شده باشد و پورت ۲۷۰۱۷ باز باشد. همچنین از فرمت صحیح استاندارد اتصالات مونگو استفاده کنید.

۵. پیام خطای ارسال نشدن داده‌ها به Slack

  • علت: معتبر نبودن آدرس وب‌هوک یا نداشتن دسترسی‌های لازم ربات ساخته‌شده به کانالی با نام tweets.
  • راه‌حل: اگر از Bot Token استفاده می‌کنید، حتماً ربات خود را با دستور invite/ به کانال هدف دعوت کنید. در صورت استفاده از وب‌هوک، درستی آدرس URL تولیدشده را تست کنید.

جمع‌بندی

طراحی و ساخت پایپ لاین ETL در n8n یکی از بهترین و کارآمدترین روش‌ها برای اتوماسیون جریان‌های کاری مبتنی بر داده و یکپارچه‌سازی پایگاه‌های داده مختلف با سرویس‌های هوش مصنوعی است. در این مقاله آموزشی، یاد گرفتیم که چگونه داده‌های خام متنی را از شبکه اجتماعی توییتر استخراج کرده، همزمان با ذخیره فیزیکی نسخه خام در پایگاه داده انعطاف‌پذیر MongoDB، آن‌ها را با استفاده از موتور تحلیل حس پردازش زبان طبیعی گوگل غنی‌سازی و تحلیل کنیم. سپس داده‌های یکپارچه و بهینه‌سازی شده را در پایگاه داده رابطه‌ای Postgres برای اهداف مدیریتی ذخیره ساخته و در نهایت پیام‌های دارای پتانسیل مثبت را از طریق پیام‌رسان Slack به اطلاع تیم‌های مربوطه رساندیم. این سیستم ماژولار و انعطاف‌پذیر گام بلندی در راستای داشتن سازمانی مبتنی بر داده‌های دقیق و تحلیل‌های هوشمند در لحظه است.

قابل به ذکر است نرم افزار Danix یک سیستم بر پایه هوش مصنوعی می باشد و از متدهای روز دنیا جهت آنالیز اطلاعات سازمان استفاده می کند همچنین پردازش داده توسط هوش مصنوعی در دانیکس انجاتم می شود. شما می توانید اطلاعات بیشتر را در همین سایت مشاهده نمایید.

GIT

Categories: , ,

توسعه توسط تیم میهن وردپرس