گرههای خارجی
گرههای خارجی برای تعامل با سیستمهای خارجی استفاده میشوند.
گره AWS SNS
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
- الگوی ARN موضوع - میتواند بهطور مستقیم نام موضوع برای انتشار پیام تنظیم شود یا الگویی استفاده شود که با استفاده از فراداده پیام به نام واقعی ARN موضوع تبدیل شود.
- AWS Access Key ID و AWS Secret Access Key اعتبارنامههای یک کاربر IAM AWS با دسترسی برنامهنویسی هستند. اطلاعات بیشتر در مورد کلیدهای دسترسی AWS را میتوانید اینجا بیابید.
- منطقه AWS باید با منطقهای که موضوعات SNS در آن ایجاد شدهاند مطابقت داشته باشد. لیست فعلی مناطق AWS را میتوانید اینجا مشاهده کنید.
در مثال زیر، نام موضوع به نوع دستگاه بستگی دارد و یک پیام شامل فیلد deviceType در فراداده وجود دارد:
{
deviceType: controller
}
برای انتشار پیام در موضوع کنترلر، این الگو را در الگوی ARN موضوع تنظیم میکنیم:
arn:aws:sns:us-east-1:123456789012:${deviceType}
در زمان اجرا، الگو به arn:aws:sns:us-east-1:123456789012:controller تبدیل میشود.
محتوای منتشرشده - گره، کل محتوای پیام را به SNS منتشر میکند. در صورت نیاز، میتوان زنجیرهای از گرههای تبدیل را برای ارسال محتوای صحیح به SNS پیکربندی کرد.
پیام خروجی از این گره شامل messageId و requestId در فراداده پیام خواهد بود. محتوای اصلی پیام، نوع و منشاء آن تغییر نخواهد کرد.
گره AWS SQS
گره پیامها را به AWS SQS (خدمات صف ساده آمازون) منتشر میکند.
- Queue Type - نوع صف SQS. میتواند Standard یا FIFO باشد.
- Queue URL Pattern - الگو برای ساخت URL صف. به عنوان مثال ${deviceType}. میتوانید URL صف را بهطور مستقیم برای انتشار پیام تنظیم کنید یا از الگوهایی استفاده کنید که با استفاده از فراداده پیام به URL واقعی صف تبدیل میشود.
- Delay - تأخیر به ثانیهها، که برای تأخیر در ارسال یک پیام خاص استفاده میشود.
- Message attributes - لیست اختیاری از ویژگیهای پیام برای انتشار.
- AWS Access Key ID و AWS Secret Access Key - اینها اعتبارنامههای یک کاربر AWS IAM با دسترسی برنامهنویسی شده هستند. اطلاعات بیشتر در مورد کلیدهای دسترسی AWS را میتوانید اینجا پیدا کنید.
- AWS Region باید با منطقهای که صفهای SQS در آن ایجاد شدهاند مطابقت داشته باشد. لیست فعلی مناطق AWS را میتوانید اینجا مشاهده کنید.
در مثال زیر، URL صف به نوع دستگاه بستگی دارد و پیامی که شامل فیلد deviceType در فراداده است، وجود دارد:
{
deviceType: controller
}
برای انتشار پیام در صف کنترلر، این الگو را در الگوی URL صف تنظیم میکنیم:
https://sqs.us-east-1.amazonaws.com/123456789012/${deviceType}
در زمان اجرا، الگو به https://sqs.us-east-1.amazonaws.com/123456789012/controller تبدیل میشود.
محتوای منتشرشده - گره کل محتوای پیام را به SQS منتشر میکند. در صورت نیاز، میتوانید زنجیره قوانین را به گونهای پیکربندی کنید که از زنجیرهای از گرههای تبدیل برای ارسال محتوای صحیح به SQS استفاده کند.
ویژگیهای منتشرشده - لیست اختیاری از ویژگیها میتواند برای انتشار پیام در SQS اضافه شود. این ویژگیها شامل جفتهای کلید-مقدار هستند. هر دو NAME و VALUE میتوانند مقادیر ثابت یا الگوهایی باشند که با استفاده از فراداده پیام به مقادیر واقعی تبدیل میشوند.
اگر صف FIFO انتخاب شده باشد، شناسه پیام به عنوان شناسه حذف تکراری و مبدأ پیام به عنوان شناسه گروه استفاده خواهد شد.
پیام خروجی از این گره شامل messageId، requestId، messageBodyMd5، messageAttributesMd5 و sequenceNumber در فراداده پیام خواهد بود. محتوای اصلی پیام، نوع و مبدأ آن تغییر نخواهد کرد.
گره کافکا
گره Kafka پیامها را به Kafka brokers ارسال میکند. انتظار دارد پیامها با هر نوع پیامی باشند و رکورد را از طریق Kafka producer به Kafka server ارسال میکند.
پیکربندی:
- الگوی موضوع - میتواند یک رشته ثابت یا الگویی باشد که با استفاده از ویژگیهای فراداده پیام به مقدار واقعی تبدیل میشود، مانند ${deviceType}.
- سرورهای بوتاسترپ - فهرستی از بروکرهای کافکا که با کاما از هم جدا شدهاند.
- تعداد تلاشهای خودکار برای تلاش مجدد - تعداد تلاشهایی که برای ارسال مجدد پیام در صورت بروز مشکل در اتصال انجام میشود.
- اندازه دسته تولید - اندازه دسته بر حسب بایت برای گروهبندی پیامها با بخش مشابه.
- زمان بافر محلی - حداکثر مدت زمان بافر محلی به میلیثانیه.
- حداکثر اندازه بافر کلاینت - حداکثر اندازه بافر بر حسب بایت برای ارسال پیامها.
- تعداد تأییدیهها - تعداد تأییدیههایی که گره برای در نظر گرفتن یک درخواست به عنوان کامل نیاز دارد.
- سریالایزر کلید - به طور پیشفرض org.apache.kafka.common.serialization.StringSerializer.
- سریالایزر مقدار - به طور پیشفرض org.apache.kafka.common.serialization.StringSerializer.
- ویژگیهای دیگر - هر ویژگی اضافی دیگری که ممکن است برای اتصال به بروکر کافکا ارائه شود.
بدنه منتشر شده - گره بار کامل پیام را به موضوع کافکا ارسال میکند. اگر لازم باشد، میتوان زنجیره قوانین را به گونهای پیکربندی کرد که از زنجیرهای از گرههای تبدیل برای ارسال بار مناسب به کافکا استفاده کند.
پیام خروجی از این گره شامل ویژگیهای offset، partition و topic در فراداده پیام خواهد بود. بار پیام اصلی، نوع و مبدأ تغییر نخواهد کرد.
توجه - برای استفاده از Confluent Cloud به عنوان بروکر کافکا، باید ویژگیهای زیر را اضافه کنید:
Heading #1 | Heading #2 | Heading #3 | Heading #4 |
---|---|---|---|
Row #1 Content #1 | Row #1 Content #2 | Row #1 Content #3 | Row #1 Content #4 |
Row #2 Content #1 | Row #2 Content #2 | Row #2 Content #3 | Row #2 Content #4 |
Row #3 Content #1 | Row #3 Content #2 | Row #3 Content #3 | Row #3 Content #4 |
- CLUSTER_API_KEY - کلید دسترسی که از تنظیمات کلاستر دریافت کردهاید.
- CLUSTER_API_SECRET - رمز عبور دسترسی که از تنظیمات کلاستر دریافت کردهاید.
گره MQTT
پیام ورودی را به موضوع سرور MQTT پیکربندی شده با سطح کیفیت سرویس (QoS) AT_LEAST_ONCE منتشر کنید.
پیکربندی:
- Topic pattern - میتواند یک رشته ثابت یا الگویی باشد که با استفاده از ویژگیهای متادیتای پیام حل میشود. برای مثال، ${deviceType}.
- Host - میزبان سرور MQTT.
- Port - پورت سرور MQTT.
- Connection timeout - زمان انصراف برای اتصال به سرور MQTT به ثانیه.
- Client ID - شناسه اختیاری کلاینت برای اتصال به سرور MQTT. در صورت عدم مشخص شدن، شناسه کلاینت پیشفرض استفاده خواهد شد.
- Add Service ID as suffix to Client ID - یک فلگ اختیاری. شناسه سرویس به عنوان پسوند به شناسه کلاینت اضافه میشود زمانی که این گزینه فعال باشد. این ویژگی در حالت میکروسرویسها مفید است و به گرههای قوانین روی هر نود اجازه میدهد بدون خطا به سرور متصل شوند.
- Clean session - اتصال ناپایدار به سرور را برقرار میکند در صورت فعال بودن.
- SSL Enable/Disable - فعال/غیرفعال کردن ارتباط امن.
- Credentials - اعتبارنامه اتصال MQTT. میتواند به صورت ناشناس، پایه یا PEM باشد.
مدلهای مختلف اعتبارسنجی برای بروکر MQTT خارجی پشتیبانی میشود:
- Anonymous - بدون نیاز به اعتبارسنجی.
- Basic - جفت نام کاربری و کلمه عبور برای اعتبارسنجی استفاده میشود.
- PEM - گواهینامههای PEM برای اعتبارسنجی استفاده میشود.
اگر نوع اعتبارسنجی PEM انتخاب شود، باید موارد زیر پیکربندی شود:
- فایل گواهی CA
- فایل گواهی
- فایل کلید خصوصی
- کلمه عبور کلید خصوصی
بدنه منتشر شده - گره کل بار پیام را به موضوع MQTT ارسال میکند. در صورت نیاز، زنجیره قوانین میتواند بهگونهای تنظیم شود که از زنجیره گرههای تبدیل برای ارسال بار صحیح به بروکر MQTT استفاده کند.
اگر پیام با موفقیت منتشر شود، پیام اصلی از طریق زنجیره موفقیت به گرههای بعدی منتقل خواهد شد. در غیر این صورت، از زنجیره شکست استفاده میشود.
گره مرکز Azure IoT
پیکربندی:
- Topic - برای کسب اطلاعات بیشتر در مورد موضوعات IoT Hub، به این لینک مراجعه کنید.
- Hostname - نام میزبان Azure IoT Hub.
- Device ID - شناسه دستگاه شما از Azure IoT Hub.
- Credentials - اعتبارنامههای اتصال به Azure IoT Hub. این اعتبارنامهها میتوانند یکی از موارد زیر باشند: