ترحيل الأجهزة إلى Azure IoT Hub

إذا قررت الترحيل من حل يستند إلى IoT Central إلى حل يستند إلى IoT Hub، فستحتاج إلى تغيير تكوين جميع الأجهزة المتصلة حاليا بتطبيقك. تعمل أداة IoTC Migrator على أتمتة عملية ترحيل الجهاز هذه.

أداة الترحيل:

  • إنشاء تسجيلات الجهاز في مركز IoT للأجهزة التي تتصل حاليا بتطبيق IoT Central.
  • يستخدم الأمر لإرسال نطاق المعرف لمثيل خدمة توفير الأجهزة (DPS) المقترن بمركز IoT الخاص بك إلى أجهزتك.

تتطلب الأداة من أجهزتك المتصلة تنفيذ أمر DeviceMove الذي تم تعريفه في قالب الجهاز في تطبيق IoT Central. حمولة الأمر هي نطاق المعرف لمثيل DPS الهدف. عندما يتلقى جهاز هذا الأمر، يجب أن:

  • إيقاف إرسال بيانات تتبع الاستخدام وقطع الاتصال من تطبيق IoT Central.
  • توفير نفسه مع DPS باستخدام نطاق المعرف الجديد في حمولة الأمر.
  • استخدم نتيجة التوفير للاتصال بمركز IoT الوجهة والبدء في إرسال بيانات تتبع الاستخدام مرة أخرى.

تلميح

يمكنك أيضا استخدام أداة الترحيل لترحيل الأجهزة بين تطبيقات IoT Cental، أو من مركز IoT إلى تطبيق IoT Central.

تقليل التعطيل

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

تحذير

لا يمكنك إضافة أجهزة غير معينة إلى مجموعة أجهزة. لذلك لا يمكنك حاليا استخدام أداة الترحيل لترحيل الأجهزة غير المعينة.

تقليل تأثير الأعمال باتباع الخطوات التالية:

  • إنشاء حل PaaS وتشغيله بالتوازي مع تطبيق IoT Central.

  • إعداد تصدير البيانات المستمر في تطبيق IoT Central والمسارات المناسبة إلى مركز IoT لحل PaaS. تحويل كل من قنوات البيانات وتخزين البيانات في نفس مستودع البيانات.

  • ترحيل الأجهزة على مراحل والتحقق في كل مرحلة. إذا لم يسير شيء ما كما هو مخطط له، ففشل الأجهزة مرة أخرى في IoT Central.

  • عند ترحيل جميع الأجهزة إلى حل PaaS وتصدير بياناتك بالكامل من IoT Central، يمكنك إزالة الأجهزة من حل IoT Central.

بعد الترحيل، لا يتم حذف الأجهزة تلقائيا من تطبيق IoT Central. تستمر فوترة هذه الأجهزة كتكاليف IoT Central لجميع الأجهزة المقدمة في التطبيق. عند إزالة هذه الأجهزة من تطبيق IoT Central، لن تتم محاسبتك عليها بعد الآن. في النهاية، قم بإزالة تطبيق IoT Central.

نقل البيانات الموجودة من IoT Central

يمكنك تكوين IoT Central لتصدير بيانات تتبع الاستخدام وقيم الخصائص باستمرار. وجهات التصدير هي مخازن بيانات مثل Azure Data Lake ومراكز الأحداث والإخطارات على الويب. يمكنك تصدير قوالب الأجهزة باستخدام واجهة مستخدم IoT Central أو واجهة برمجة تطبيقات REST. تتيح لك واجهة برمجة تطبيقات REST تصدير المستخدمين في تطبيق IoT Central.

المتطلبات الأساسية

تحتاج إلى المتطلبات الأساسية التالية لإكمال خطوات ترحيل الجهاز:

  • تطبيق IoT Central المصدر حيث تتصل أجهزتك حاليا.
  • مركز IoT الوجهة حيث تريد نقل الأجهزة إليه. يجب ربط مركز IoT هذا بمثيل DPS.
  • node.js وnpm مثبتين على الجهاز المحلي حيث تقوم بتشغيل أداة الترحيل.

متطلبات الجهاز

يجب على الأجهزة التي تريد ترحيلها تنفيذ الأمر DeviceMove في مكون يسمى الترحيل. تحتوي حمولة الأمر على نطاق المعرف لمثيل DPS الوجهة. يتضمن مستودع أداة الترحيل مثالا لنموذج مكون DTDL الذي يعرف الأمر DeviceMove. يمكنك إضافة هذا المكون إلى قوالب الجهاز الموجودة.

تفترض الأداة أن اسم المكون هو migration وأن معرف الواجهة هو dtmi:azureiot:DeviceMigration;1:

Screenshot that highlights the component name and interface ID.

يتضمن مستودع الأدوات أيضا نموذج التعليمات البرمجية الذي يوضح لك كيف يجب على الجهاز تنفيذ الأمر DeviceMove .

إعداد الأداة

أكمل مهام الإعداد التالية للتحضير للترحيل:

تطبيق Microsoft Entra

تتطلب أداة الترحيل تسجيل تطبيق Microsoft Entra لتمكينه من المصادقة مع اشتراك Azure الخاص بك:

  1. انتقل إلى مدخل Azure > Microsoft Entra ID > App registrations.

  2. حدد تسجيل جديد.

  3. أدخل اسما مثل "تطبيق IoTC Migrator".

  4. حدد الحسابات في أي دليل تنظيمي (أي دليل Microsoft Entra - متعدد المستأجرين) وحسابات Microsoft الشخصية (مثل Skype وXbox).

  5. حدد تطبيق صفحة واحدة (SPA) .

  6. أدخل http://localhost:3000 ك URI لإعادة التوجيه. يمكنك إضافة هذه القيمة إلى تكوين تطبيق الترحيل لاحقا.

  7. حدد تسجيل.

  8. دون ملاحظة عن قيم معرف التطبيق (العميل) ومعرف الدليل (المستأجر). يمكنك استخدام هذه القيم لاحقا لتكوين تطبيق الترحيل:

    Screenshot that shows the Microsoft Entra application in the Azure portal.

  9. انتقل إلى صفحة البيان في التسجيل واستبدل محتويات requiredResourceAccess بالتكوين التالي:

    [
      {
        "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7",
        "resourceAccess": [
          {
            "id": "73792908-5709-46da-9a68-098589599db6",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013",
        "resourceAccess": [
          {
            "id": "41094075-9dad-400e-a0bd-54e686782033",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "00000003-0000-0000-c000-000000000000",
        "resourceAccess": [
          {
            "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
            "type": "Scope"
          }
        ]
      }
    ]
    
  10. ا‏‏حفظ التغييرات.

إضافة مفاتيح الجهاز إلى DPS

أضف مفاتيح توقيع الوصول المشتركة أو شهادات X.509 من تطبيق IoT Central إلى مجموعة تخصيص DPS.

إذا كانت أجهزتك تستخدم توقيعات الوصول المشترك للمصادقة على تطبيق IoT Central الخاص بك:

  • في تطبيق IoT Central، انتقل إلى مجموعات اتصال جهاز الأذونات>.
  • حدد مجموعة التسجيل التي تستخدمها أجهزتك.
  • دون ملاحظة عن المفاتيح الأساسية والثانوية.
  • في مدخل Microsoft Azure، انتقل إلى مثيل DPS.
  • حدد Manage enrollments.
  • إنشاء تسجيل جديد وتعيين نوع التصديق إلى مفتاح متماثل، وإلغاء تحديد مفاتيح الإنشاء التلقائي، ثم إضافة المفاتيح الأساسية والثانوية التي قمت بتدوينها.
  • حدد حفظ.

إذا كانت أجهزتك تستخدم شهادات X.509 للمصادقة على تطبيق IoT Central الخاص بك:

  • في مدخل Microsoft Azure، انتقل إلى مثيل DPS.
  • حدد الشهادات ثم حدد إضافة.
  • قم بتحميل شهادات X.509 الجذر أو المتوسطة التي تستخدمها في تطبيق IoT Central والتحقق منها.
  • حدد Manage enrollments.
  • قم بإنشاء تسجيل جديد وتعيين نوع التصديق إلى Certificate، ثم حدد الشهادات الأساسية والثانوية التي قمت بتحميلها.
  • حدد حفظ.

تنزيل أداة الترحيل وتكوينها

قم بتنزيل أو استنساخ نسخة من أداة الترحيل إلى جهازك المحلي:

git clone https://github.com/Azure/iotc-migrator.git

في جذر المستودع الذي تم تنزيله، قم بإنشاء ملف .env . REACT_APP_AAD_APP_CLIENT_IDREACT_APP_AAD_APP_TENANT_IDقم بتحديث القيم و و REACT_APP_AAD_APP_REDIRECT_URI بالقيم من تسجيل تطبيق Microsoft Entra الذي قمت بإنشائه مسبقا. ثم احفظ التغييرات:

PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000

تلميح

تأكد من REACT_APP_AAD_APP_REDIRECT_URI تطابق عنوان URI لإعادة التوجيه الذي استخدمته في تسجيل تطبيق Microsoft Entra.

في بيئة سطر الأوامر، انتقل إلى جذر iotc-migrator المستودع. ثم قم بتشغيل الأوامر التالية لتثبيت حزم node.js المطلوبة ثم قم بتشغيل الأداة:

npm install
npm start

بعد بدء تشغيل تطبيق الترحيل، انتقل إلى http://localhost:3000 لعرض الأداة. سجل الدخول عندما تتم مطالبتك.

ترحيل الأجهزة

استخدم الأداة لترحيل أجهزتك على دفعات. أدخل تفاصيل الترحيل في صفحة الترحيل الجديد:

  1. أدخل اسما للترحيل.
  2. حدد مجموعة أجهزة من تطبيق IoT Central.
  3. حدد قالب جهاز يتضمن تعريف أمر DeviceMove .
  4. حدد نقل إلى Azure IoT Hub الخاص بك.
  5. حدد مثيل DPS المرتبط بمركز IoT الهدف.
  6. حدد ترحيل. تطالبك الأداة بنسخ المفاتيح من تطبيق IoT Central إلى مجموعة تسجيل DPS. لقد أكملت مسبقا هذه الخطوة في الخطوة إضافة مفاتيح الجهاز إلى DPS .

Screenshot of migration tool that shows the migration definition.

تسجل الأداة الآن جميع الأجهزة المتصلة التي تطابق عامل تصفية الجهاز الهدف في مركز IoT الوجهة. ثم تقوم الأداة بإنشاء وظيفة في تطبيق IoT Central لاستدعاء أسلوب DeviceMove على جميع هذه الأجهزة. تحتوي حمولة الأمر على نطاق المعرف لمثيل DPS الوجهة.

التحقق من الترحيل

استخدم صفحة حالة الترحيل في أداة الترحيل لمراقبة التقدم:

Screenshot that shows the migration status page in the tool.

حدد وظيفة في صفحة حالة الترحيل لعرض حالة المهمة في تطبيق IoT Central. استخدم هذه الصفحة لعرض حالة الأجهزة الفردية في الوظيفة:

Screenshot showing completed migration status for IoT Central job.

الأجهزة التي تم ترحيلها بنجاح:

  • إظهار على أنه غير متصل على صفحة الأجهزة في تطبيق IoT Central.

  • إظهار على أنه مسجل وموفر في مركز IoT الخاص بك:

    Screenshot of IoT Hub in the Azure portal that shows the provisioned devices.

  • يتم الآن إرسال بيانات تتبع الاستخدام إلى مركز IoT الخاص بك

    Screenshot of IoT Hub in the Azure portal that shows telemetry metrics for the migrated devices.