Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao importar uma atualização para a Atualização de Dispositivo do Azure para o 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 conceitos de manifesto de importação e estrutura de arquivos, consulte Atualização de dispositivo do Azure para manifesto de importação do 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 seguintes propriedades. Não são permitidas outras propriedades.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| $schema | string |
Referência de esquema JSON. | Não |
| updateId | 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 |
Lista de conjuntos de propriedades do dispositivo com os quais esta atualização é compatível. | Sim |
| Instruções | instructions |
Atualize as instruções de instalação. | Sim |
| ficheiros |
file
[0-10]
|
Lista de ficheiros de carga útil para atualização. A soma de todos os tamanhos de arquivo não pode exceder 2 GB. Pode ser vazio ou nulo se todas as etapas de instrução forem etapas de referência. | Não |
| manifestVersion | string |
Importar versão do esquema de manifesto. Deve ser 5.0. | Sim |
| createdDateTime | string |
Importe a data e a 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 o nome de uma empresa. Padrão: ^[a-zA-Z0-9.-]+$Comprimento máximo: 64 caracteres |
Sim |
| Nome | string |
Identificador de uma classe de atualização. O nome pode ser uma classe de dispositivo ou nome de modelo. Padrão: ^[a-zA-Z0-9.-]+$Comprimento máximo: 64 caracteres |
Sim |
| Versão | string |
Números de versão separados por pontos com duas a quatro partes. Cada parte deve ter um número entre 0 e 2147483647, e zeros à esquerda são descartados. Padrão: ^\d+(?:\.\d+)+$Exemplos: "1.0", "2021.11.8" |
Sim |
Não são permitidas outras propriedades.
Por exemplo:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Objeto de compatibilidade
O compatibility objeto descreve 1-5 propriedades de um dispositivo com o qual esta atualização é compatível. Cada propriedade é um string par nome-valor do tipo. O nome deve ter de 1 a 32 caracteres e o valor deve ter de 1 a 64 caracteres. Não é possível 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 de instruções
O instructions objeto fornece as instruções de instalação da atualização. O objeto de instruções contém uma lista de steps a serem executadas. Não são permitidas outras propriedades.
As etapas podem ser código para executar ou ponteiros para outras atualizações. Um objeto step assume como inline padrão se nenhum type valor for fornecido.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| passos | array[1-10] |
Cada elemento na steps matriz deve ser um objeto de etapa embutido ou um objeto de etapa de referência. |
Sim |
Por exemplo:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
Objeto de etapa embutida
Um inline objeto step é uma etapa de instrução de instalação que executa a execução de 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. Define-se por padrão inline se nenhum valor for fornecido. |
Não |
| descrição | string |
Descrição opcional da etapa de instruções. Comprimento máximo: 64 caracteres. | Não |
| gestor | 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 |
| ficheiros |
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 |
Não são permitidas outras propriedades.
Por exemplo:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
Objeto da etapa de referência
Um reference objeto step é uma etapa de instruções 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 opcional da etapa de instruções. Comprimento máximo: 64 caracteres. | Não |
| updateId | updateId |
Identificador de atualização exclusivo. | Sim |
Não são permitidas outras propriedades.
Por exemplo:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
Objeto Files
Cada files objeto é um arquivo de carga útil de atualização, como um arquivo binário, de firmware ou de script, que deve ser exclusivo dentro de uma atualização.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nome do arquivo | string |
Atualize o nome do ficheiro de carga. Comprimento máximo: 255 caracteres | Sim |
| sizeInBytes | number |
Tamanho do ficheiro em número de bytes. Tamanho máximo: 2147483648 bytes | Sim |
| hashes | fileHashes |
Hashes de arquivo codificados em Base64 com nome de algoritmo como chave. Pelo menos o algoritmo SHA-256 deve ser especificado, e algoritmos adicionais podem ser especificados se suportados pelo agente. Consulte Objeto Hashes para obter detalhes sobre como calcular o hash. | Sim |
| relatedFiles | relatedFile[0-4] |
Coleção de arquivos relacionados a um ou mais arquivos de carga primária. Para obter mais informações, consulte objeto relatedFiles. | Não |
| baixarHandler | downloadHandler |
Especifica como processar quaisquer arquivos relacionados. | Sim, se estiver a utilizar relatedFileso . Para obter mais informações, consulte objeto downloadHandler. |
Não são permitidas outras propriedades.
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 Hashes
O hashes objeto contém hashes de arquivo codificados em base64 com os nomes do algoritmo como chaves. Pelo menos o algoritmo SHA-256 deve ser especificado, e outros algoritmos podem ser especificados se suportados pelo 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 carga primária. 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 |
|---|---|---|---|
| nome do arquivo | string |
Lista de arquivos relacionados associados a um arquivo de carga primária. | Sim |
| sizeInBytes | number |
Tamanho do ficheiro em número de bytes. Tamanho máximo: 2147483648 bytes. | Sim |
| hashes | fileHashes |
Hashes de arquivo codificados em Base64 com nome de algoritmo como chave. Para obter mais informações, consulte Objeto Hashes. | Sim |
| propriedades |
relatedFilesProperties
[0-5]
|
Até cinco pares chave-valor, onde 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 quaisquer arquivos relacionados.
| Propriedade | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| ID | string |
Identificador de downloadHandler. Limite de 64 caracteres ASCII. |
Sim, se estiver a utilizar relatedFiles |
Não são permitidas outras propriedades.
Por exemplo:
"downloadHandler": {
"id": "microsoft/delta:1"
}