Birden çok güncelleştirme dosyalarına başvurmak için ilgili dosyalar özelliğini kullanma

Tek bir güncelleştirmede farklı güncelleştirme dosyaları arasındaki ilişkileri ifade etmeniz gerektiğinde ilgili dosyalar özelliğini kullanın.

bir güncelleştirmeyi IoT Hub için Cihaz Güncelleştirmesi'ne aktarırken, güncelleştirme yüküyle ilgili meta verileri içeren bir içeri aktarma bildirimi gerekir. İçeri aktarma bildirimindeki dosya düzeyinde meta veriler, en basit durumdaki güncelleştirme yükü dosyalarının düz bir listesi olabilir. Ancak, daha gelişmiş senaryolar için ilgili dosyalar özelliği, birden çok güncelleştirme dosyası arasındaki ilişkileri belirtmeniz için bir yol sağlar.

İlgili dosyalar özelliğini kullanarak içeri aktarma bildirimi oluştururken, birincil yük dosyalarınızın birine veya daha fazlasına ilgili dosya koleksiyonu ekleyebilirsiniz. Bu kavramın bir örneği, tam görüntü dosyasıyla ilişkili bir değişiklik güncelleştirmesi belirtmek için ilgili dosyaları kullanan Cihaz Güncelleştirmesi değişiklik güncelleştirmesi özelliğidir. Delta senaryosunda, ilgili dosyalar özelliği hem tam görüntü hem de delta güncelleştirmesinin tek bir güncelleştirme eylemi olarak içeri aktarılmasına olanak tanır ve ardından bir cihaza dağıtılabilir. Ancak ilgili dosyalar özelliği, kendi benzersiz senaryolarına bağlı olarak müşterilerimiz tarafından genişletilebilir olacak şekilde tasarlandığından değişiklik güncelleştirmeleriyle sınırlı değildir.

İlgili dosyalar özelliği, sürüm 5 veya üzeri olan içeri aktarma bildirimleri için kullanılabilir.

İçeri aktarma bildirimine ilgili dosyaları eklerken aşağıdaki bilgileri ekleyin:

  • Dosya ayrıntıları

    Dosya adını, boyutunu ve karması sağlayarak ilgili dosyaları tanımlayın.

  • İndirme işleyicisi

    Hedef dosyayı oluşturmak için bu ilgili dosyaların nasıl işleneceğini belirtin. İçeri aktarma bildiriminize bir downloadHandler özellik ekleyerek işleme yaklaşımını belirtirsiniz. Bir öğede file boş olmayan bir koleksiyonu relatedFiles belirtirseniz dahil downloadHandler olmak üzere gereklidir. Basit id bir özellik kullanarak belirtebilirsinizdownloadHandler. İndirme işleyicisi id 64 ASCII karakter sınırına sahiptir.

  • İlgili dosya özellikleri

    İlgili dosyalar olarak belirttiğiniz dosyaları yorumlamayı ve düzgün kullanmayı öğrenmek için cihazınızdaki güncelleştirme işleyicisi için ek meta veriler sağlayabilirsiniz. Bu meta veriler ve relatedFile nesnelerine file bir properties özellik paketi parçası olarak eklenir.

İlgili dosyalar için içeri aktarma şeması hakkında daha fazla bilgi için bkz. relatedFiles nesnesi.

Aşağıdaki örnek içeri aktarma bildirimi, delta güncelleştirmesini içeri aktarmak için ilgili dosyalar özelliğinin nasıl kullanıldığını gösterir. Bu örnekte, bölümünde bir öğeyle properties belirtilen (full-image-file-name) tam bir görüntü olduğunu görebilirsinizfiles. Sırayla properties öğenin altında ilişkili relatedFiles bir öğe vardır. relatedFiles bölümünde, delta güncelleştirme dosyası ()delta-from-v1-file-name için başka bir propertiesdownloadHandler bölüm ve uygun id listelenmiş bir öğe (microsoft/delta:1 görebilirsiniz.

Not

Bu örnekte, ilgili dosyalara nasıl başvurduğunu göstermek için delta güncelleştirmeleri kullanılır. Delta güncelleştirmelerini bir özellik olarak kullanmak istiyorsanız, delta güncelleştirme belgelerinde daha fazla bilgi edinin.

    {
      "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"
    }

İçeri aktarma bildirimi oluşturmak için az iot du init v5 komutu isteğe bağlı --related-file bir parametreyi destekler.

--related-file parametresi bir path ve properties anahtarı alır:

--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>"}' 

Örnek:

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

Sonraki adımlar