إعداد تحديث للاستيراد إلى تحديث الجهاز
توضح هذه المقالة كيفية الحصول على تحديث جديد وإعداده للاستيراد إلى Azure Device Update ل IoT Hub عن طريق إنشاء بيان استيراد.
المتطلبات الأساسية
جهاز IoT أو جهاز محاكاة تم توفيره لتحديث الجهاز داخل مركز IoT.
بيئة Bash في Azure Cloud Shell لتشغيل أوامر Azure CLI. حدد Launch Cloud Shell لفتح Cloud Shell، أو حدد أيقونة Cloud Shell في شريط الأدوات العلوي من مدخل Microsoft Azure.
إذا كنت تفضل ذلك، يمكنك تشغيل أوامر Azure CLI محليا:
- تثبيت Azure CLI. قم بتشغيل az version لمشاهدة إصدار Azure CLI المثبت والمكتبات التابعة، وقم بتشغيل ترقية az لتثبيت أحدث إصدار.
- قم بتسجيل الدخول إلى Azure عن طريق تشغيل az login.
- قم بتثبيت الملحق
azure-iot
عند مطالبتك عند الاستخدام الأول. للتأكد من أنك تستخدم أحدث إصدار من الملحق، قم بتشغيلaz extension update --name azure-iot
.
تلميح
تستخدم أوامر Azure CLI في هذه المقالة شرطة مائلة عكسية \ حرف لمتابعة السطر بحيث تكون وسيطات الأمر أسهل في القراءة. يعمل بناء الجملة هذا في بيئات Bash. إذا قمت بتشغيل هذه الأوامر في PowerShell، استبدل كل مائل مائل عكسي بخلفية '، أو قم بإزالتها بالكامل.
الحصول على ملفات التحديث لجهازك
احصل على ملف التحديث أو الملفات لنشرها على جهازك باستخدام تحديث الجهاز. إذا قمت بشراء أجهزة من الشركة المصنعة للمعدات الأصلية (OEM) أو مكامل الحلول، فمن المحتمل أن توفر هذه المؤسسة تحديثات دون الحاجة إلى إنشاء ملفات التحديث. اتصل بالشركة المصنعة للمعدات الأصلية أو مؤسسة للحلول المتكاملة لمعرفة طريقة توفير التحديثات. إذا قامت مؤسستك بإنشاء برامج لأجهزتك، فإنها تنشئ أيضا تحديثات لهذا البرنامج.
لإنشاء التحديث، اختر إما نوع التحديث المستند إلى الصورة أو المستند إلى الحزمة، اعتمادا على السيناريو الخاص بك.
تلميح
يمكنك تجربة البرامج التعليمية لتحديث المستندة إلى الصور أو المستندة إلى الحزمة أو الوكيل، أو عرض نماذج ملفات بيان الاستيراد من تلك البرامج التعليمية للرجوع إليها.
إنشاء بيان استيراد أساسي لتحديث الجهاز
بمجرد أن يكون لديك ملفات التحديث الخاصة بك وتكون على دراية بمفاهيم استيراد تحديث الجهاز الأساسية، قم بإنشاء بيان استيراد لوصف التحديث. بينما يمكنك تأليف بيان استيراد JSON يدويا باستخدام محرر نص، فإن الأمر Azure CLI az iot du init v5 يبسط العملية. لمزيد من المعلومات حول مخطط بيان الاستيراد، راجع مخطط استيراد تحديث الجهاز ومعلومات واجهة برمجة التطبيقات.
az iot du init v5
يأخذ الأمر الوسيطات التالية. الكل مطلوب باستثناء --file
، الذي يتم اشتقاقه من --step
إذا لم يتم تحديده. هناك حساسية موضعية بين --step
و --file
.
-
--update-provider
--update-name
تحددupdateId
المعلمات و و--update-version
الكائن الذي هو معرف فريد لكل تحديث. -
--compat
كائن التوافق هو مجموعة من أزواج قيمة الاسم التي تصف خصائص الجهاز الذي يتوافق معه هذا التحديث. يمكنك استخدام مجموعة محددة من خصائص التوافق مع موفر واحد فقط ومجموعة أسماء. -
--step
تحدد المعلمة التحديثhandler
على الجهاز، مثلmicrosoft/script:1
أوmicrosoft/swupdate:1
أوmicrosoft/apt:1
و المقترنproperties
به لهذا التحديث. يمكنك استخدام--step
أكثر من مرة. -
--file
تحدد المعلمةpath
إلى ملفات التحديث الخاصة بك. يمكنك استخدام--file
مرة واحدة أو أكثر.
az iot du update init v5 \
--update-provider <provider> \
--update-name <update name> \
--update-version <update version> \
--compat <property1>=<value> <property2>=<value> \
--step handler=<handler> properties=<JSON-formatted handler properties> \
--file path=<paths and full file names of your update files>
يعرض الأمر التالي az iot du update init v5
أمثلة على القيم:
az iot du update init v5 \
--update-provider Microsoft \
--update-name AptUpdate \
--update-version 1.0.0 \
--compat manufacturer=Contoso model=Vacuum \
--step handler=microsoft/script:1 properties='{"installedCriteria": "1.0"}' \
--file path=/my/apt/manifest/file
تلميح
بالنسبة لخصائص المعالج، قد تحتاج إلى إلغاء أحرف معينة في JSON الخاص بك. على سبيل المثال، استخدم '\'
للهروب من علامات الاقتباس المزدوجة إذا قمت بتشغيل Azure CLI في PowerShell.
az iot du init v5
يدعم الأمر السيناريوهات المتقدمة، بما في ذلك ميزة الملفات ذات الصلة التي تسمح لك بتعريف العلاقة بين ملفات التحديث المختلفة. لمزيد من الأمثلة وقائمة كاملة بالمعلمات الاختيارية، راجع مرجع الأمر az iot du init v5 .
بمجرد إنشاء بيان الاستيراد وحفظه كملف JSON، يمكنك استيراد التحديث. إذا كنت تخطط لاستخدام مدخل Microsoft Azure للاستيراد، فتأكد من تسمية بيان الاستيراد باسم بيان> التنسيق<.importmanifest.json.
أنشئ بيان استيراد متقدم لـ Device Update لتحديث الوكيل
إذا كان التحديث أكثر تعقيدا، مثل تحديث الوكيل، فقد تحتاج إلى إنشاء بيانات استيراد متعددة. بالنسبة للتحديثات المعقدة، يمكنك استخدام az iot du update init v5
الأمر Azure CLI لإنشاء بيان استيراد أصل وعدد من بيانات الاستيراد التابعة .
استبدل قيم العنصر النائب في أوامر Azure CLI التالية. للحصول على تفاصيل حول القيم التي يمكنك استخدامها، راجع استيراد مخطط ومعلومات واجهة برمجة التطبيقات. يوضح المثال التالي ثلاثة تحديثات لنشرها على الجهاز، وتحديث أصل وتحديثين تابعين.
az iot du update init v5 \
--update-provider <child_1 update provider> \
--update-name <child_1 update name> \
--update-version <child_1 update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> \
--file path=<paths and full file names of your update files>
az iot du update init v5 \
--update-provider <child_2 update provider> \
--update-name <child_2 update name> \
--update-version <child_2 update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> \
--file path=<paths and full file names of your update files>
az iot du update init v5 \
--update-provider <parent update provider> \
--update-name <parent update name> \
--update-version <parent update version> \
--compat manufacturer=<device manufacturer> model=<device model> \
--step handler=<handler> properties=<any handler properties, JSON-formatted> \
--file path=<paths and full file names of your update files> \
--step updateId.provider=<child_1 update provider> updateId.name=<child_1 update name> updateId.version=<child_1 update version> \
--step updateId.provider=<child_2 update provider> updateId.name=<child_2 update name> updateId.version=<child_2 update version>