Použití funkce souvisejících souborů k odkazu na více souborů aktualizací

Funkci souvisejících souborů použijte v případech, kdy potřebujete vyjádřit relace mezi různými soubory aktualizací v jedné aktualizaci.

Při importu aktualizace do služby Device Update pro IoT Hub se vyžaduje manifest importu obsahující metadata o datové části aktualizace. Metadata na úrovni souboru v manifestu importu můžou být v nejjednodušším případě plochým seznamem souborů datové části aktualizace. V pokročilejších scénářích však funkce souvisejících souborů poskytuje způsob, jak určit relace mezi více soubory aktualizace.

Při vytváření manifestu importu pomocí funkce souvisejících souborů můžete do jednoho nebo více primárních souborů datové části přidat kolekci souvisejících souborů. Příkladem tohoto konceptu je funkce rozdílové aktualizace aktualizace zařízení, která používá související soubory k určení rozdílové aktualizace, která je přidružená k úplnému souboru bitové kopie. Ve scénáři delta umožňuje funkce souvisejících souborů importovat úplnou imagi a rozdílovou aktualizaci jako jednu akci aktualizace a pak je možné nasadit do zařízení jednu z nich. Funkce souvisejících souborů se ale neomezuje na rozdílové aktualizace, protože je navržená tak, aby ji naši zákazníci rozšiřovali v závislosti na jejich vlastních jedinečných scénářích.

Funkce souvisejících souborů je k dispozici pro manifesty importu verze 5 nebo novější.

Když do manifestu importu přidáte související soubory, zahrňte následující informace:

  • Podrobnosti o souboru

    Definujte související soubory zadáním názvu souboru, velikosti a hodnoty hash.

  • Obslužná rutina stahování

    Zadejte způsob zpracování těchto souvisejících souborů, aby se vytvořil cílový soubor. Přístup ke zpracování určíte tak, že do manifestu importu downloadHandler zahrnete vlastnost. Zahrnutí downloadHandler je povinné, pokud zadáte v elementu neprázdnou file kolekcirelatedFiles. Můžete zadat downloadHandler pomocí jednoduché id vlastnosti. Obslužná rutina id download má limit 64 znaků ASCII.

  • Vlastnosti souvisejících souborů

    Obslužné rutině aktualizace na vašem zařízení můžete poskytnout další metadata, abyste věděli, jak interpretovat a správně používat soubory, které jste zadali jako související soubory. Tato metadata jsou přidána jako součást kontejneru properties vlastností k objektům file a relatedFile .

Další informace o schématu importu pro související soubory najdete v tématu relatedFiles objektu.

Následující ukázkový manifest importu ukazuje, jak se funkce souvisejících souborů používá k importu rozdílové aktualizace. V tomto příkladu vidíte, že v oddílu files je zadaný úplný obrázek (full-image-file-name) s položkou properties . Položka properties má zase přidruženou relatedFiles položku pod ní. V tomto oddílu relatedFiles uvidíte další properties oddíl pro soubor rozdílové aktualizace (delta-from-v1-file-name) a také položku s příslušnou id uvedenou položkou downloadHandler (microsoft/delta:1).

Poznámka

Tento příklad používá rozdílové aktualizace k předvedení, jak odkazovat na související soubory. Pokud chcete jako funkci používat rozdílové aktualizace, přečtěte si další informace v dokumentaci k rozdílovým aktualizacím.

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

Příkaz az iot du init v5 pro vytvoření manifestu importu podporuje volitelný --related-file parametr.

Parametr --related-file přebírá path klíč a 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>"}' 

Příklad:

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

Další kroky