Conceitos de atualizações de software (pré-visualização)

Use atualizações de software, uma funcionalidade do Azure Device Registry, para fornecer atualizações over-the-air aos seus dispositivos em larga escala. Importa atualizações para um namespace do Azure Device Registry e depois usa jobs e groups nesse namespace para as implantar nos dispositivos.

Importante

As atualizações de software do Azure Device Registry estão atualmente em pré-visualização. A pré-visualização atual destina-se a dispositivos ligados ao Hub IoT. Não use funcionalidades de pré-visualização para cargas de trabalho de produção. Para cargas de trabalho de produção, continue a usar o Device Update para Hub IoT, que continua disponível de forma geral.

Consulte os Termos de Utilização Complementares das Visualizações Prévias do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão em beta, em pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Diagrama que mostra um trabalho de atualização de software direcionado a um grupo de dispositivos e um trabalho de atualização de integração direcionado a dispositivos que estão a ser integrados dentro de um namespace do Azure Device Registry.

Aplicabilidade ao serviço

Feature Operações IoT do Azure Hub IoT do Azure
Atualizações de software Não aplicável Preview

Atualizações de Software e Atualização de Dispositivo para Hub IoT

As atualizações de software trazem capacidades de atualização over-the-air para o Azure Device Registry. Utiliza o mesmo formato de manifesto de importação do Device Update for Hub IoT e permite-lhe gerir atualizações ao nível do namespace, utilizando grupos e jobs do Azure Device Registry.

Utilize as orientações a seguir para escolher a opção certa:

Se você... Utilizar
Necessita de atualizações OTA para cargas de trabalho de produção Atualização de Dispositivo para Hub IoT, que continua em disponibilidade geral e suportado.
Avaliar a gestão de atualizações através dos namespaces, grupos e jobs do Azure Device Registry Atualizações de software (pré-visualização), descritas neste artigo.

Tenha em mente as seguintes considerações caso já utilize o Device Update for Hub IoT:

  • Não podes usar ambos no mesmo hub IoT. Nesta pré-visualização, pode usar atualizações de software apenas com hubs IoT que não tenham uma instância existente de Device Update for Hub IoT. Para experimentar atualizações de software, ligue um hub IoT que não utilize o Device Update for Hub IoT ao seu espaço de nomes.
  • Os dispositivos usam um cliente diferente. Os dispositivos que executam o agente de Atualização de Dispositivos não conseguem receber atualizações a partir de atualizações de software. Para receber atualizações de software, um dispositivo utiliza o cliente de atualizações de software dos SDKs unificados do Azure IoT (pré-visualização).

Como funcionam as atualizações de software

Pode ativar atualizações de software num namespace do Azure Device Registry, seja quando configura o namespace ou mais tarde. Para saber como, consulte Começar com o Azure Device Registry (pré-visualização). A funcionalidade introduz os seguintes componentes:

  • Atualização de software: Uma atualização que é importada para um namespace. Uma atualização de software consiste em um ou mais ficheiros de atualização e um manifesto de importação. Depois de importares uma atualização de software, ela fica disponível para trabalhos de atualização de software e trabalhos de atualização de onboarding nesse espaço de nome.
  • Tarefa de atualização de software: Aplica uma atualização de software aos dispositivos compatíveis num grupo-alvo.
  • Tarefa de atualização da configuração inicial: Aplica uma atualização de software aos dispositivos compatíveis quando verificam atualizações durante a configuração inicial, antes de se registarem e começarem a operar.
  • Cliente de atualizações de software: A parte dos SDKs unificados Azure IoT (pré-visualização) que a sua aplicação de dispositivo usa para verificar, descarregar e instalar atualizações de software, e para reportar os resultados.

Um fluxo típico de atualizações é o seguinte:

  1. Carregas os ficheiros de atualização e o manifesto de importação para um contentor do Armazenamento do Azure.
  2. O utilizador importa a atualização de software para o seu namespace.
  3. Cria-se um trabalho que tem como alvo um grupo ou, para integração, o namespace.
  4. Cada dispositivo verifica atualizações e reporta as suas propriedades de compatibilidade. Se o dispositivo for compatível, recebe a atualização.
  5. O dispositivo descarrega e instala a atualização, e depois reporta o resultado. O utilizador monitoriza o progresso e os resultados ao nível do dispositivo na execução do trabalho.

Atualizações de software

Uma atualização de software consiste em dois componentes que carrega juntamente:

  • Atualizar ficheiros: A carga útil que o dispositivo instala. A carga útil pode ser uma imagem de firmware, um pacote de software, um script ou vários ficheiros relacionados.
  • Manifesto de importação: Um ficheiro JSON com a extensão .importmanifest.json que descreve a atualização. O manifesto de importação declara:
    • Atualizar identidade: O fornecedor, nome e versão que identificam de forma única a atualização. O fornecedor e o nome identificam juntos uma família de atualizações, como todas as versões do firmware para um modelo de dispositivo.
    • Propriedades de compatibilidade: As propriedades do dispositivo que determinam quais os dispositivos que podem instalar a atualização. Para mais informações, consulte Compatibilidade de dispositivos.
    • Instruções de instalação: Os passos de instalação, a ordem deles e o manipulador de cada etapa. O manipulador indica ao dispositivo como aplicar esse passo, como instalar um pacote, executar um script ou gravar uma imagem.
    • Metadados do ficheiro: O nome, tamanho e hash de cada ficheiro de atualização. O serviço utiliza os hashes para verificar a integridade dos ficheiros na importação, e o dispositivo pode usá-los para verificar cada ficheiro antes da instalação.

Cada atualização de software requer um manifesto de importação. Se tentares importar ficheiros de atualização sem um manifesto de importação, a importação falha. Quando importas, podes opcionalmente analisar os ficheiros de atualização à procura de malware. A análise de malware está disponível em regiões selecionadas. Para instruções passo a passo, veja Importar uma atualização de software.

O exemplo seguinte mostra um manifesto de importação para uma atualização baseada em imagem:

{
  "updateId": {
    "provider": "Contoso",
    "name": "IrrigationControllerV2-Image",
    "version": "1.3.0"
  },
  "isDeployable": true,
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "IrrigationControllerV2"
    }
  ],
  "instructions": {
    "steps": [
      {
        "type": "inline",
        "description": "Update the device image to version 1.3.0",
        "handler": "microsoft/swupdate:1",
        "files": [
          "contoso-irrigation-controller-v2-1.3.0.swu"
        ],
        "handlerProperties": {
          "installedCriteria": "1.3.0"
        }
      }
    ]
  },
  "files": [
    {
      "filename": "contoso-irrigation-controller-v2-1.3.0.swu",
      "sizeInBytes": 112738816,
      "hashes": {
        "sha256": "wPdNKUSmWTZkR6Pum9oR/EIzdn5AvON4dsXME+/gHVw="
      }
    }
  ],
  "createdDateTime": "2026-10-01T06:56:51.2002204Z",
  "manifestVersion": "5.0"
}

As atualizações de software utilizam o mesmo formato de manifesto de importação do Device Update for Hub IoT. Para saber como criar um manifesto de importação, veja:

Compatibilidade do dispositivo

As propriedades de compatibilidade num manifesto de importação determinam quais os dispositivos que podem instalar uma atualização de software. Quando um dispositivo verifica atualizações, reporta as suas próprias propriedades de compatibilidade. O Azure Device Registry compara essas propriedades com as propriedades de compatibilidade declaradas na atualização de software.

Define as propriedades de compatibilidade como pares nome-valor. Cada atualização de software deve declarar pelo menos uma propriedade de compatibilidade. manufacturer e model são escolhas comuns, mas não são obrigatórias. Utilize quaisquer propriedades que se encaixem na sua frota, como region ou environment.

A compatibility secção do manifesto de importação é um array de conjuntos de propriedades. Por exemplo:

"compatibility": [
  {
    "manufacturer": "Contoso",
    "model": "IrrigationControllerV2"
  }
]

A correspondência funciona da seguinte forma:

  • Um dispositivo deve corresponder a todas as propriedades presentes num conjunto. A atualização anterior aplica-se apenas a dispositivos que reportam tanto manufacturer como Contoso e IrrigationControllerV2 como model. Não se aplica a um dispositivo Contoso SoilSensorV1 , nem a um IrrigationControllerV2 dispositivo que reporte um fabricante diferente.
  • Um dispositivo precisa de corresponder apenas a um conjunto. Se declarar mais do que um conjunto de propriedades, uma única atualização de software pode aplicar-se a vários tipos de dispositivos.
  • Cada conjunto de propriedades pertence a uma família de atualização. Não podes usar exatamente o mesmo conjunto de propriedades de compatibilidade com mais do que uma combinação de fornecedor e nome. Planeie os seus anéis de atualização e propriedades de compatibilidade em conjunto. Para mais informações, consulte Conceitos de importação.

Um grupo pode conter dispositivos com diferentes propriedades de compatibilidade. Uma tarefa de atualização de software aplica a atualização apenas aos dispositivos compatíveis no grupo-alvo. Por exemplo, se um grupo contiver 18 IrrigationControllerV2 dispositivos e seis SoilSensorV1 dispositivos, uma atualização para dispositivos IrrigationControllerV2 é aplicada aos 18 dispositivos compatíveis. Os seis SoilSensorV1 dispositivos não foram afetados.

Tip

Os dispositivos reportam as suas propriedades de compatibilidade ao Azure Device Registry, para que possa usá-los numa consulta de grupo para criar grupos que contenham apenas os dispositivos a que uma atualização se aplica.

Tarefas, grupos e comportamento de implementação

Implementa uma atualização de software criando um job no namespace. As atualizações de software suportam dois tipos de jobs:

Tipo de trabalho Target Quando utilizá-lo
Atualização de software Um grupo do Azure Device Registry Atualize os dispositivos registados que já estejam em funcionamento. O grupo define o âmbito da tarefa, e as propriedades de compatibilidade determinam quais os dispositivos desse âmbito que instalam a atualização.
Atualização da configuração inicial O espaço de nomes Azure Device Registry Atualize os dispositivos para a versão de software necessária à medida que são integrados, antes de começarem a funcionar. Por exemplo, use uma atualização de onboarding para dispositivos que estiveram em armazenamento e estão a usar firmware antigo.

Um trabalho de atualização de software não para depois de chegar aos dispositivos compatíveis no momento em que começa. Enquanto a execução do trabalho está ativa, continua a aplicar a atualização a:

  • Dispositivos que estavam offline quando a tarefa foi iniciada, depois de se reconectarem e procurarem atualizações.
  • Dispositivos adicionados ao grupo-alvo. A pertença ao grupo não é atualizada automaticamente: novos dispositivos juntam-se ao grupo da próxima vez que atualizar a sua pertença. Para mais informações, consulte Associação em cache e atualização.
  • Dispositivos que se tornam elegíveis para a atualização, por exemplo, porque as suas propriedades de compatibilidade reportadas mudam.

Um trabalho de atualização de admissão mantém-se ativo até o encerrar, por isso os dispositivos compatíveis continuam a receber a atualização à medida que são admitidos.

Para os estados dos trabalhos, agendamento e monitorização, veja Conceitos de trabalhos (pré-visualização).

Considerações sobre SDK de dispositivos

Os dispositivos recebem atualizações de software através do cliente de atualizações de software nos SDKs unificados Azure IoT (pré-visualização). Tenha em mente as seguintes considerações ao planear o software do seu dispositivo:

  • Dispositivos suportados: Nesta pré-visualização, o cliente de atualizações de software destina-se principalmente a dispositivos baseados em Linux com mais de 32 MB de memória disponível.
  • Integração: O SDK é uma biblioteca, não um agente pronto a correr. Integra o cliente de atualizações de software na aplicação do seu dispositivo e fornece a lógica que descarrega, instala e aplica as atualizações no seu hardware. A Microsoft fornece exemplos para o ajudar a começar.
  • Duas formas de verificar atualizações: Um dispositivo que está a ser integrado verifica as atualizações de integração antes de ser registado. Um dispositivo registado verifica atualizações de software a partir de uma tarefa de atualização de software. A aplicação do seu dispositivo decide quando verificar atualizações.
  • Conectividade: O dispositivo verifica atualizações e reporta resultados através da sua ligação ao Device Provisioning Service. Não precisa de um endpoint ou credencial separados para receber atualizações.
  • Segurança: Antes de descarregar quaisquer ficheiros de atualização, o cliente de atualizações de software verifica a assinatura da informação de atualização que recebe do serviço. Os dispositivos descarregam ficheiros de atualização apenas via HTTPS, por isso o conteúdo das atualizações é sempre encriptado em trânsito. Garanta que os seus dispositivos conseguem fazer ligações HTTPS de saída para descarregar ficheiros de atualização.
  • Relatórios de estado: Após uma tentativa de instalação, o dispositivo reporta o resultado, incluindo códigos de erro caso a instalação tenha falhado. O resultado aparece nos resultados ao nível do dispositivo da execução do trabalho.
  • A sua responsabilidade: É responsável por validar a integração no seu próprio ambiente, incluindo o comportamento de recuperação caso uma instalação falhe ou o dispositivo reinicie durante uma atualização.

Limitações de pré-visualização

A visualização atual tem as seguintes limitações:

  • As atualizações de software dão suporte a dispositivos ligados ao Hub IoT. Os dispositivos e ativos do Operações IoT do Azure não são suportados nesta pré-visualização.
  • Não pode usar atualizações de software com um IoT hub que já tenha uma instância de Atualização de Dispositivo para Hub IoT.
  • Cada atualização de software requer um manifesto de importação. Não podes criar um manifesto de importação no portal do Azure.
  • O cliente de atualizações de software atualmente não suporta atualizações de proxy ou atualizações que usem passos de referência (atualizações pais e filhas).

Para limites que se aplicam a atualizações importadas, como o tamanho máximo da atualização, consulte Limites de Atualização de Dispositivo para Hub IoT. Para limites que se aplicam a grupos e tarefas, veja Conceitos de Grupos (pré-visualização) e Conceitos de Tarefas (pré-visualização).