مشاركة عبر


استخدام ميزة الملفات ذات الصلة للإشارة إلى ملفات تحديث متعددة

استخدم ميزة الملفات ذات الصلة عندما تحتاج إلى التعبير عن العلاقات بين ملفات التحديث المختلفة في تحديث واحد.

عند استيراد تحديث إلى 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"
    }

يدعم الأمر 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

الخطوات التالية