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.
Jak definovat související soubory
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ázdnoufile
kolekcirelatedFiles
. Můžete zadatdownloadHandler
pomocí jednoduchéid
vlastnosti. Obslužná rutinaid
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ůmfile
arelatedFile
.
Další informace o schématu importu pro související soubory najdete v tématu relatedFiles objektu.
Příklad importu manifestu pomocí souvisejících souborů
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říklad příkazu init s použitím souvisejících souborů
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
- Informace o schématu manifestu importu
- Informace o rozdílových aktualizacích