کنترل نسخه
خدمات کنترل نسخه ThingsConnect این امکان را فراهم میکند که موجودیتهای ThingsConnect را با استفاده از Git صادر و بازیابی کنید. بهعنوان مدیر مستأجر، میتوانید دسترسی به مخزن Git را با استفاده از رابط کاربری (UI) یا API REST پیکربندی کنید. بهعنوان کاربر پلتفرم، میتوانید یک یا چند موجودیت ThingsConnect را صادر کرده، تاریخچه نسخهها را مرور کنید و موجودیتها را به نسخه خاصی بازیابی کنید.
این ویژگی تجربه کاربری را هنگامی که چند مهندس یک زنجیره قانون یا داشبورد مشابه را طراحی میکنند بهبود میبخشد و CI/CD را سادهتر میکند. همچنین به شما این امکان را میدهد که بهراحتی راهحل را بین مستأجران یا نمونههای پلتفرم کلون کنید.
معماری
شناسه خارجی موجودیت
هر موجودیت در ThingsConnect دارای فیلد «id» است که شناسه منحصر به فرد موجودیت در محیط خاص ThingsConnect محسوب میشود. هر موجودیت قابل صدور ThingsConnect شامل فیلد جدید «externalId» است. این فیلد برای شناسایی همان موجودیت در صورت واردات و صادرات بین محیطهای مختلف استفاده میشود. هر دو فیلد «id» و «externalId» از نوع UUID هستند.
فیلد «externalId» همچنین برای جایگزینی خودکار شناسههای موجودیت در زنجیرههای قانون (نقاط قانون) و داشبوردها (نام مستعار و اقدامات ویجت) استفاده میشود. بنابراین، اگر تصمیم به وارد کردن زنجیره قانونی بگیرید که به برخی دستگاهها یا داراییها ارجاع میدهد، مطمئن شوید که دستگاهها یا داراییهای مربوطه را نیز صادر یا وارد کردهاید.
موجودیتها و تنظیمات قابل صادرات
نسخه اولیه این ویژگی از موجودیتهای زیر پشتیبانی میکند: دستگاه (Device)، دارایی (Asset)، نمای موجودیت (Entity View)، مشتری (Customer)، داشبورد (Dashboard)، پکیج ویجت (Widget Bundle)، زنجیره قانون (Rule Chain)، گروه موجودیت (Entity Group)، نقش (Role)، مبدل (Converter) و یکپارچگی (Integration).
ما بهطور عمدی پشتیبانی از موجودیت «کاربر» (User) را حذف کردهایم، زیرا ایمیل کاربر در محدوده نمونه پلتفرم منحصر به فرد است. به نظر میرسد نادرست باشد که ایمیلها و اعتبارنامههای کاربر را به Git صادر کنیم.
هنگام صادرات موجودیت، نمای JSON موجودیت را در Git ذخیره میکنیم. همچنین امکان صادرات ویژگیها، روابط و اعتبارنامهها (فقط دستگاهها) وجود دارد.
ساختار مخزن
زمانی که برای اولین بار موجودیت را به Git صادر میکنید، شناسه «id» موجودیت برای نامگذاری فایل درون مخزن Git استفاده میشود. سپس، هنگام وارد کردن موجودیتها از Git به ThingsConnect، شناسه «id» از نام فایل به «externalId» موجودیت تبدیل میشود. فیلد «externalId» در محدوده مستأجر منحصر به فرد است. بنابراین، میتوانید موجودیتها را بین مستأجرهای همان نمونه پلتفرم یا بین نمونههای مختلف صادر و وارد کنید. هر بار که عملیات صادرات و واردات را انجام میدهید، «externalId» برای پیدا کردن موجودیت مناسب جهت بهروزرسانی استفاده میشود. مثال زیر را مشاهده کنید.
فرض کنید یک نمونه توسعه ThingsConnect دارید و یک داشبورد واحد با نام «داشبورد ۱» و شناسه «4864b750-da7d-11ec-a496-97fa2815d2fe» صادر کردهاید. در این صورت، مخزن دارای یک فایل واحد با نام و مسیر کامل زیر خواهد بود:
dashboard/4864b750-da7d-11ec-a496-97fa2815d2fe.json
فرض کنید که داشبورد «D1» را به نمونه تولید ThingsConnect وارد کردهاید. فیلد «externalId» هنگام وارد کردن اولین موجودیت به نمونه جدید ThingsConnect تنظیم میشود. در این حالت، موجودیت داشبورد در محیط تولید شناسه متفاوتی خواهد داشت، اما «externalId» داشبورد به همان «4864b750-da7d-11ec-a496-97fa2815d2fe» تنظیم میشود.
سلسلهمراتب مشتری در پوشه «hierarchy» ذخیره میشود که بهصورت بازگشتی بوده و مشابه صفحه «سلسلهمراتب مشتری» در رابط کاربری است. گروههای موجودیت در پوشه «groups» ذخیره میشوند. هر گروه دارای فایل «id.json» است که موجودیت گروه را ذخیره میکند و همچنین فایل «id_entities.json» که لیست شناسههای موجودیتهای درون گروه را نگهداری میکند. گروه رزرو شده «All» فاقد فایل «id_entities.json» است، زیرا گروه «All» شامل تمام موجودیتها میباشد.
استراتژی همگامسازی
پلتفرم از دو استراتژی همگامسازی برای صادرات به Git پشتیبانی میکند: ادغام (Merge) و بازنویسی (Overwrite). «ادغام» استراتژی پیشفرض همگامسازی است که به سادگی موجودیتهای انتخاب شده را به مخزن اضافه میکند. این استراتژی زمانی مفید است که بخواهید یک یا چند فایل را بدون حذف سایر فایلها از مخزن ذخیره کنید.
استراتژی «بازنویسی» بهطور کامل فایلهای مربوطه در مخزن را بازنویسی میکند. این استراتژی زمانی مفید است که بخواهید لیست موجودیتها (مانند داشبوردها) را بهطور کامل با نمونه خود و مخزن Git همگامسازی کنید. تمام موجودیتهایی که قبلاً به Git ذخیره شدهاند اما در نمونه پلتفرم شما موجود نیستند، در کمیت مربوطه از مخزن Git حذف خواهند شد.
قابلیت مقیاسپذیری
خدمات کنترل نسخه ThingsConnect بهعنوان بخشی از یک نمونه متمرکز ThingsConnect یا بهعنوان یک میکروسرویس جداگانه برای مقیاسپذیری افقی در دسترس است. هر نمونه از خدمات کنترل نسخه مسئول مدیریت وظایف همگامسازی برای بخشهای خاصی از مستأجران در خوشه است. هر درخواست API «commit» ممکن است زمانبر باشد. درخواستهای همزمان API «commit» در محدوده یک مستأجر واحد پشتیبانی نمیشوند. سیستم درخواست API «commit» را در صورتی که در حال پردازش باشد لغو خواهد کرد و اگر درخواست جدیدی برای «commit» دریافت شود، این اقدام انجام خواهد شد.
استفاده
پیکربندی تنظیمات Git
بهعنوان مدیر مستأجر، میتوانید به صفحه «کنترل نسخه» در بخش «ویژگیهای پیشرفته» مراجعه کنید. این صفحه به شما امکان میدهد URL مخزن Git، نام شاخه پیشفرض و تنظیمات احراز هویت را پیکربندی کنید. انتظار میرود URL مربوط به یک مخزن Git خالی را ارائه دهید.
صادرات به Git
صادرات موجودیتهای تکی
به جزئیات موجودیت بروید و برگه "کنترل نسخه" را باز کنید. زنجیرههای قوانین و داشبوردها دارای دکمه کنترل نسخه داخلی و ویجت پاپآپ به ویرایشگرهای مربوطه هستند. عکسهای زیر را ببینید.
دستگاه:
زنجیره قوانین:
داشبورد:
صادرات موجودیتهای چندگانه
به صفحه کنترل نسخه بروید. شما میتوانید یک یا چند نوع موجودیت را برای بازیابی انتخاب کنید. بهطور پیشفرض، تمام نوعهای موجودیت انتخاب شدهاند.
تعهد خودکار
تعهد خودکار یک ویژگی مفید است که بهطور خودکار داشبورد و زنجیرههای قوانین را زمانی که موجودیت را از طریق رابط کاربری یا فراخوانی REST API ذخیره میکنیم، تعهد میکند. این تعهد بهصورت ناهمزمان انجام میشود تا تجربه کاربری را بهبود بخشد. تعهد خودکار زمانی اتفاق نمیافتد که موجودیت را به مشتری اختصاص دهید (مالکیت موجودیت را تغییر دهید). در این صورت، شما باید تمام موجودیتهای نوع خاص را با استراتژی بازنویسی تعهد کنید.
بازیابی از Git
به صفحه کنترل نسخه بروید. تعهد را انتخاب کنید و تنظیمات بازیابی را مشخص کنید.
گامهای بعدی
- راهنمای شروع به کار - این راهنماها نمای کلی سریع از ویژگیهای اصلی ThingsConnect ارائه میدهند. طراحی شدهاند تا در ۱۵ تا ۳۰ دقیقه تکمیل شوند.
- اتصال دستگاه خود - نحوه اتصال دستگاهها را بر اساس فناوری یا راهحل ارتباطی خود بیاموزید.
- تصویریسازی دادهها - این راهنماها شامل دستورالعملهایی برای پیکربندی داشبوردهای پیچیده ThingsConnect هستند.
- پردازش دادهها و اقدامات - نحوه استفاده از موتور قوانین ThingsConnect را بیاموزید.
- تحلیل دادههای IoT - نحوه استفاده از موتور قوانین برای انجام وظایف تحلیلی پایه را بیاموزید.
- نمونههای سختافزاری - نحوه اتصال پلتفرمهای سختافزاری مختلف به ThingsConnect را بیاموزید.
- مشارکت و توسعه - درباره مشارکت و توسعه در ThingsConnect بیشتر بیاموزید.