Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao importar uma atualização para a Atualização de Dispositivo do Azure para Hub IoT, você também envia um arquivo de manifesto de importação JSON associado que define informações importantes sobre a atualização. Este artigo descreve o esquema usado para criar o arquivo de manifesto de importação JSON.
Para saber mais sobre como importar conceitos de manifesto e estrutura de arquivos, consulte o manifesto de importação do Azure Device Update para Hub IoT. Para saber como criar o arquivo, consulte Preparar uma atualização para importar para a Atualização de Dispositivo para o Hub IoT.
Esquema
O esquema JSON do manifesto de importação é hospedado em SchemaStore.org e consiste nas propriedades a seguir. Nenhuma outra propriedade é permitida.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| $schema | string |
Referência de esquema JSON. | Não |
| ID de atualização | updateId |
Identificador de atualização exclusivo. | Sim |
| descrição | string |
Descrição da atualização opcional. Comprimento máximo: 512 caracteres. | Não |
| compatibilidade | compatibility |
A lista de conjuntos de propriedades do dispositivo com a qual essa atualização é compatível. | Sim |
| instruções | instructions |
Atualize as instruções de instalação. | Sim |
| arquivos |
file
[0-10]
|
Lista de arquivos de conteúdo de atualização. A soma de todos os tamanhos de arquivo não pode exceder 2 GB. Pode estar vazio ou nulo se todas as etapas de instrução forem etapas de referência. | Não |
| manifestVersion | string |
Importar versão do esquema do manifesto. Deve ser 5.0. | Sim |
| dataHoraCriada | string |
Importar data e hora de criação do manifesto no formato ISO 8601, por exemplo "2020-10-02T22:18:04.9446744Z". |
Sim |
Atualizar objeto
O updateID objeto é um identificador exclusivo para cada atualização.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| fornecedor | string |
Entidade que está criando ou diretamente responsável pela atualização. O provedor pode ser um nome da empresa. Padrão: ^[a-zA-Z0-9.-]+$Tamanho máximo: 64 caracteres |
Sim |
| nome | string |
Identificador de uma classe de atualização. O nome pode ser uma classe de dispositivo ou um nome de modelo. Padrão: ^[a-zA-Z0-9.-]+$Tamanho máximo: 64 caracteres |
Sim |
| versão | string |
Dois a quatro blocos de números de versão numéricos separados por ponto. Cada bloco deve ser um número entre 0 e 2.147.483.647 e os zeros à esquerda serão descartados. Padrão: ^\d+(?:\.\d+)+$Exemplos: "1.0", "2021.11.8" |
Sim |
Nenhuma outra propriedade é permitida.
Por exemplo:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Objeto de compatibilidade
O compatibility objeto descreve 1 a 5 propriedades de um dispositivo com o qual essa atualização é compatível. Cada propriedade é um par nome-valor de tipo string. O nome deve ter de 1 a 32 caracteres e o valor deve ter de 1 a 64 caracteres. Você não pode usar o mesmo conjunto exato de propriedades de compatibilidade com mais de um provedor de atualização e combinação de nomes.
Por exemplo:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
Objeto Instructions
O instructions objeto fornece as instruções de instalação de atualização. O objeto de instruções contém uma lista de steps a serem executadas. Nenhuma outra propriedade é permitida.
As etapas podem ser código a ser executado ou ponteiros para outras atualizações. Um objeto de etapa usa inline como padrão se nenhum valor type for fornecido.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| etapas | array[1-10] |
Cada elemento na steps matriz deve ser um objeto de etapa embutida ou um objeto de etapa de referência. |
Sim |
Por exemplo:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
Objeto de etapa em linha
Um objeto de etapa inline é uma etapa de instrução de instalação que realiza a execução do código.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| tipo | string |
Tipo de etapa de instrução que executa a execução de código. Deve ser inline. O padrão será inline se nenhum valor for fornecido. |
Não |
| descrição | string |
Descrição da etapa de instrução opcional. Comprimento máximo: 64 caracteres. | Não |
| manipulador | string |
Identidade do manipulador no dispositivo que pode executar esta etapa. Padrão: ^\S+/\S+:\d{1,5}$Comprimento mínimo: cinco caracteres Comprimento máximo: 32 caracteres Exemplos: microsoft/script:1, microsoft/swupdate:2, microsoft/apt:1 |
Sim |
| arquivos |
string
[1-10]
|
Nomes de arquivos de atualização definidos como objetos de arquivo que o agente passa para o manipulador. Cada comprimento de elemento deve ter de 1 a 255 caracteres. | Sim |
| propriedadesDoManipulador | inlineStepHandlerProperties |
Objetos JSON que o agente passa para o manipulador como argumentos. | Não |
Nenhuma outra propriedade é permitida.
Por exemplo:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
Objeto de etapa de referência
Um objeto de etapa reference é uma etapa de instrução de instalação para instalar outra atualização.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| tipo | referenceStepType |
Tipo de etapa de instrução que instala outra atualização. Deve ser reference. |
Sim |
| descrição | stepDescription |
Descrição da etapa de instrução opcional. Comprimento máximo: 64 caracteres. | Não |
| ID de atualização | updateId |
Identificador de atualização exclusivo. | Sim |
Nenhuma outra propriedade é permitida.
Por exemplo:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
Objeto de arquivos
Cada files objeto é um arquivo de conteúdo de atualização, como um arquivo binário, firmware ou script, que deve ser exclusivo em uma atualização.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| Filename | string |
Atualizar o nome do arquivo de carga. Comprimento máximo: 255 caracteres | Sim |
| tamanhoEmBytes | number |
Tamanho do arquivo em número de bytes. Tamanho máximo: 2147483648 bytes | Sim |
| Hashes | fileHashes |
Hashes de arquivo codificados em Base64 com o nome do algoritmo como chave. Pelo menos o algoritmo SHA-256 deve ser especificado e algoritmos adicionais poderão ser especificados se houver suporte do agente. Consulte o objeto Hashes para obter detalhes sobre como calcular o hash. | Sim |
| Arquivos relacionados | relatedFile[0-4] |
Coleção de arquivos relacionados a um ou mais arquivos de conteúdo primário. Para obter mais informações, consulte o objeto relatedFiles. | Não |
| Manipulador de download | downloadHandler |
Especifica como processar arquivos relacionados. | Sim, se estiver usando relatedFiles. Para obter mais informações, consulte o objeto downloadHandler. |
Nenhuma outra propriedade é permitida.
Por exemplo:
{
"files": [
{
"fileName": "full-image-file-name",
"sizeInBytes": 12345,
"hashes": {...},
"relatedFiles": [
{
"fileName": "delta-from-v1-file-name",
"sizeInBytes": 1234,
"hashes": {
"SHA256": "delta-from-v1-file-hash"
},
"properties": {...}
}
],
"downloadHandler": {
"id": "microsoft/delta:1"
}
}
]
}
Objeto de Hashes
O hashes objeto contém hashes de arquivo codificados em base64 com os nomes de algoritmos como chaves. Pelo menos o algoritmo SHA-256 deve ser especificado e outros algoritmos poderão ser especificados se houver suporte do agente. Para obter um exemplo de como calcular o hash corretamente, consulte a Get-AduFileHashes função no script AduUpdate.psm1.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| sha256 | string |
Valor de hash de arquivo codificado em Base64 usando o algoritmo SHA-256. | Sim |
Outras propriedades são permitidas.
Por exemplo:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
objeto "relatedFiles"
O relatedFiles objeto contém uma coleção de arquivos relacionados a um ou mais arquivos de conteúdo primário. Para obter mais informações, consulte Usar o recurso de arquivos relacionados para fazer referência a vários arquivos de atualização.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| Filename | string |
Lista de arquivos relacionados associados a um arquivo de conteúdo primário. | Sim |
| tamanhoEmBytes | number |
Tamanho do arquivo em número de bytes. Tamanho máximo: 2147483648 bytes. | Sim |
| Hashes | fileHashes |
Hashes de arquivo codificados em Base64 com o nome do algoritmo como chave. Para obter mais informações, consulte o objeto Hashes. | Sim |
| propriedades |
relatedFilesProperties
[0-5]
|
Até cinco pares chave-valor, em que a chave é limitada a 64 caracteres ASCII e o valor é um JObject com até 256 caracteres ASCII. | Não |
Outras propriedades são permitidas.
Por exemplo:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
Objeto downloadHandler
O downloadHandler objeto especifica como processar arquivos relacionados.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| id | string |
Identificador para downloadHandler. Limite de 64 caracteres ASCII. |
Sim, se estiver usando relatedFiles |
Nenhuma outra propriedade é permitida.
Por exemplo:
"downloadHandler": {
"id": "microsoft/delta:1"
}