استخدام ميزة الملفات ذات الصلة للإشارة إلى ملفات تحديث متعددة
استخدم ميزة الملفات ذات الصلة عندما تحتاج إلى التعبير عن العلاقات بين ملفات التحديث المختلفة في تحديث واحد.
عند استيراد تحديث إلى Device Update ل IoT Hub، يلزم وجود بيان استيراد يحتوي على بيانات تعريف حول حمولة التحديث. يمكن أن تكون بيانات التعريف على مستوى الملف في بيان الاستيراد قائمة ثابتة بملفات البيانات الأساسية للتحديث في أبسط حالة. ومع ذلك، بالنسبة للسيناريوهات الأكثر تقدما، توفر ميزة الملفات ذات الصلة طريقة لتحديد العلاقات بين ملفات التحديث المتعددة.
عند إنشاء بيان استيراد باستخدام ميزة الملفات ذات الصلة، يمكنك إضافة مجموعة من الملفات ذات الصلة إلى واحد أو أكثر من ملفات الحمولة الأساسية . مثال على هذا المفهوم هو ميزة تحديث دلتا تحديث الجهاز، والتي تستخدم الملفات ذات الصلة لتحديد تحديث دلتا المقترن بملف صورة كامل. في سيناريو دلتا، تسمح ميزة الملفات ذات الصلة باستيراد الصورة الكاملة وتحديث دلتا كإجراء تحديث واحد، ثم يمكن توزيع أي منهما على جهاز. ومع ذلك، لا تقتصر ميزة الملفات ذات الصلة على تحديثات دلتا، لأنها مصممة لتكون قابلة للتوسعة من قبل عملائنا اعتمادا على سيناريوهاتهم الفريدة.
كيفية تعريف الملفات ذات الصلة
تتوفر ميزة الملفات ذات الصلة لبيانات الاستيراد التي هي الإصدار 5 أو أحدث.
عند إضافة ملفات ذات صلة إلى بيان استيراد، قم بتضمين المعلومات التالية:
تفاصيل الملف
حدد الملفات ذات الصلة من خلال توفير اسم الملف وحجمه وتجزئته.
معالج تنزيل
حدد كيفية معالجة هذه الملفات ذات الصلة لإنتاج الملف الهدف. يمكنك تحديد نهج المعالجة عن طريق تضمين خاصية
downloadHandler
في بيان الاستيراد الخاص بك. تضمينdownloadHandler
مطلوب إذا قمت بتحديد مجموعة غير فارغة منrelatedFiles
في عنصرfile
. يمكنك تحديدdownloadHandler
باستخدام خاصية بسيطةid
. يحتوي معالجid
التنزيل على حد 64 حرف ASCII.خصائص الملفات ذات الصلة
يمكنك توفير بيانات تعريف إضافية لمعالج التحديث على جهازك لمعرفة كيفية تفسير الملفات التي حددتها كملفات ذات صلة واستخدامها بشكل صحيح. تتم إضافة بيانات التعريف هذه كجزء من
properties
حقيبة الخصائص إلىfile
كائنات وrelatedFile
.
لمزيد من المعلومات حول مخطط الاستيراد للملفات ذات الصلة، راجع كائن relatedFiles.
مثال على بيان الاستيراد باستخدام الملفات ذات الصلة
يوضح نموذج بيان الاستيراد التالي كيفية استخدام ميزة الملفات ذات الصلة لاستيراد تحديث دلتا. في هذا المثال، يمكنك أن ترى أنه في files
القسم ، هناك صورة كاملة محددة (full-image-file-name
) مع عنصر properties
. يحتوي properties
العنصر بدوره على عنصر مقترن relatedFiles
أسفله.
relatedFiles
ضمن القسم، يمكنك مشاهدة مقطع آخر properties
لملف تحديث دلتا (delta-from-v1-file-name
)، وأيضا عنصر downloadHandler
مع إدراج المناسب id
(microsoft/delta:1
).
ملاحظة
يستخدم هذا المثال تحديثات دلتا لتوضيح كيفية الرجوع إلى الملفات ذات الصلة. إذا كنت ترغب في استخدام تحديثات دلتا كميزة، فتعرف على المزيد في وثائق تحديث دلتا.
{
"updateId": {
// provider, name, version
},
"compatibility": [
{
// manufacturer, model, etc.
}
],
"instructions": {
"steps": [
// Inline steps...
]
},
"files": [
{
// standard file properties
"fileName": "full-image-file-name",
"sizeInBytes": 12345,
"hashes": {
"SHA256": "full-image-file-hash"
},
"mimeType": "application/octet-stream",
// new properties
"properties ": {},
"relatedFiles": [
{
// delta from version 1.0.0.0
// standard file properties
"fileName": "delta-from-v1-file-name",
"sizeInBytes": 1234,
"hashes": {
"SHA256": "delta-from-v1-file-hash"
},
"mimeType": "application/octet-stream",
// new properties
"properties": {
"microsoft.sourceFileHash": "delta-source-file-hash",
"microsoft.sourceFileHashAlgorithm": "sha256"
}
}
],
// handler to download/process our related files
"downloadHandler": {
"id": "microsoft/delta:1"
}
}
],
"createdDateTime": "2021-12-01T01:12:21Z",
"manifestVersion": "5.0"
}
مثال على أمر init باستخدام الملفات ذات الصلة
يدعم الأمر az iot du init v5 لإنشاء بيان استيراد معلمة اختيارية --related-file
.
--related-file
تأخذ المعلمة path
و properties
مفتاحا:
--related-file path=<replace with path(s) to your delta file(s), including the full file name> properties='{"microsoft.sourceFileHashAlgorithm": "sha256", "microsoft.sourceFileHash": "<replace with the source SWU image file hash>"}'
على سبيل المثال:
az iot du update init v5 \
--update-provider Microsoft --update-name myBundled --update-version 2.0 \
--compat manufacturer=Contoso model=SpaceStation \
--step handler=microsoft/script:1 properties='{"arguments": "--pre"}' description="Pre-install script" \
--file path=/my/update/scripts/preinstall.sh downloadHandler=microsoft/delta:1 \
--related-file path=/my/update/scripts/related_preinstall.json properties='{"microsoft.sourceFileHashAlgorithm": "sha256"}' \
--step updateId.provider=Microsoft updateId.name=SwUpdate updateId.version=1.1 \
--step handler=microsoft/script:1 properties='{"arguments": "--post"}' description="Post-install script" \
--file path=/my/update/scripts/postinstall.sh
الخطوات التالية
- تعرف على مخطط بيان الاستيراد
- تعرف على تحديثات دلتا