Device Update - Import Update

Importe a nova versão de atualização. Trata-se de uma operação de longa duração; Use Operation-Location valor do cabeçalho de resposta para verificar o status da operação.

POST https://{endpoint}/deviceUpdate/{instanceId}/updates:import?api-version=2026-06-01

Parâmetros do URI

Name Em Obrigatório Tipo Descrição
endpoint
path True

string (url)

O ponto de extremidade da conta da Atualização de Dispositivo para o Hub IoT (somente nome do host, sem protocolo).

instanceId
path True

string

O identificador de instância da conta da Atualização de Dispositivo para o Hub IoT.

api-version
query True

string

minLength: 1

A versão da API a utilizar para esta operação.

Corpo do Pedido

Name Tipo Descrição
updateToImport

ImportUpdateInputItem[]

A atualização a ser importada (consulte o esquema https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json para obter detalhes).

Respostas

Name Tipo Descrição
200 OK

Update

O pedido foi bem-sucedido.

202 Accepted

O pedido foi aceite para processamento, mas o processamento ainda não foi concluído.

Cabeçalhos

Operation-Location: string

Other Status Codes

ErrorResponse

Uma resposta de erro inesperada.

Segurança

OAuth2Auth

Tipo: oauth2
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Âmbitos

Name Descrição
https://api.adu.microsoft.com/.default

Exemplos

DeviceUpdate_ImportUpdate

Pedido de amostra

POST https://contoso.api.adu.microsoft.com/deviceUpdate/blue/updates:import?api-version=2026-06-01

[
  {
    "importManifest": {
      "url": "http://test.blob.core.windows.net/test/uploadimportMan.json",
      "sizeInBytes": 816,
      "hashes": {
        "sha256": "O19LyyncPe1AGstOdkcmozLV8pSbBdqrE18HdYVohRc="
      }
    },
    "files": [
      {
        "filename": "file1.bin",
        "url": "http://test.blob.core.windows.net/test/upload1v5uww1q"
      },
      {
        "filename": "file2.bin",
        "url": "http://test.blob.core.windows.net/test/uploadkrmn5yw0"
      },
      {
        "filename": "file3.bin",
        "url": "http://test.blob.core.windows.net/test/uploaddq52ky5m"
      }
    ]
  }
]

Resposta da amostra

Operation-Location: /deviceUpdate/blue/updates/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2026-06-01
{
  "updateId": {
    "provider": "microsoft",
    "name": "adu",
    "version": "1.0.0.0"
  },
  "friendlyName": "Lab Sensor Update v1",
  "description": "Fix for critical vulnerability",
  "compatibility": [
    {
      "deviceManufacturer": "Microsoft",
      "deviceModel": "Toaster"
    }
  ],
  "instructions": {
    "steps": [
      {
        "description": "pre-install script",
        "handler": "microsoft/script:1",
        "handlerProperties": {
          "arguments": "--pre-install"
        },
        "files": [
          "configure.sh"
        ]
      },
      {
        "type": "reference",
        "updateId": {
          "provider": "microsoft",
          "name": "sensor",
          "version": "1.0"
        }
      }
    ]
  },
  "manifestVersion": "5.0",
  "importedDateTime": "2020-04-22T14:01:43.8408797-07:00",
  "createdDateTime": "2019-09-11T17:00:00-07:00",
  "etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\""
}

Definições

Name Descrição
Error

Detalhes do erro.

ErrorResponse

Resposta de erro comum.

FileImportMetadata

Metadados que descrevem um arquivo de atualização.

ImportManifestMetadata

Metadados que descrevem o manifesto de importação, um documento que descreve os arquivos e outros metadados sobre uma versão de atualização.

ImportUpdateInputItem

Importar metadados do item de entrada de atualização.

InnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

Instructions

Atualizar o contentor de instruções de instalação.

Step

Etapa de instruções de instalação da atualização.

StepType

Tipo de passo.

Update

Atualizar metadados.

UpdateId

Atualizar identificador.

Error

Detalhes do erro.

Name Tipo Descrição
code

string

Código de erro definido pelo servidor.

details

Error[]

Uma matriz de erros que levaram ao erro relatado.

innererror

InnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

message

string

Uma representação legível por humanos do erro.

occurredDateTime

string (date-time)

Data e hora em UTC quando o erro ocorreu.

target

string

O alvo do erro.

ErrorResponse

Resposta de erro comum.

Name Tipo Descrição
error

Error

Os detalhes do erro.

FileImportMetadata

Metadados que descrevem um arquivo de atualização.

Name Tipo Descrição
filename

string

Atualize o nome do arquivo conforme especificado dentro do manifesto de importação.

url

string

Local do Blob do Azure a partir do qual o arquivo de atualização pode ser baixado pela Atualização de Dispositivo para Hub IoT. Normalmente, trata-se de um URL de blob protegido por SAS somente leitura com uma expiração definida para pelo menos 4 horas.

ImportManifestMetadata

Metadados que descrevem o manifesto de importação, um documento que descreve os arquivos e outros metadados sobre uma versão de atualização.

Name Tipo Descrição
hashes

object

Um objeto JSON contendo o(s) hash(es) do arquivo. Pelo menos SHA256 hash é necessário. Este objeto pode ser pensado como um conjunto de pares chave-valor onde a chave é o algoritmo de hash e o valor é o hash do arquivo calculado usando esse algoritmo.

sizeInBytes

integer (int64)

Tamanho do ficheiro em número de bytes.

url

string

Local do Blob do Azure a partir do qual o manifesto de importação pode ser baixado pela Atualização de Dispositivo para o Hub IoT. Normalmente, trata-se de um URL de blob protegido por SAS somente leitura com uma expiração definida para pelo menos 4 horas.

ImportUpdateInputItem

Importar metadados do item de entrada de atualização.

Name Tipo Descrição
files

FileImportMetadata[]

Uma ou mais propriedades do arquivo de atualização, como nome do arquivo e URL de origem.

friendlyName

string

minLength: 1
maxLength: 512

Nome de atualização amigável.

importManifest

ImportManifestMetadata

Importe metadados de manifesto, como URL de origem, tamanho do arquivo/hashes, etc.

InnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

Name Tipo Descrição
code

string

Um código de erro mais específico do que o fornecido pelo erro contido.

errorDetail

string

A mensagem interna de erro ou exceção.

innerError

InnerError

Um objeto que contém informações mais específicas do que o objeto atual sobre o erro.

message

string

Uma representação legível por humanos do erro.

Instructions

Atualizar o contentor de instruções de instalação.

Name Tipo Descrição
steps

Step[]

Conjunto de etapas de instalação.

Step

Etapa de instruções de instalação da atualização.

Name Tipo Valor predefinido Descrição
description

string

minLength: 1
maxLength: 64

Descrição do passo.

files

string[]

Coleção de nomes de arquivo a serem passados para o manipulador durante a execução. Obrigatório se o tipo de etapa estiver embutido.

handler

string

minLength: 1
maxLength: 32

Identidade do manipulador que executará esta etapa. Obrigatório se o tipo de etapa estiver embutido.

handlerProperties

Parâmetros a serem passados para o manipulador durante a execução.

type

StepType

inline

Tipo de passo.

updateId

UpdateId

Identidade de atualização de filho referenciada. Obrigatório se o tipo de etapa for referência.

StepType

Tipo de passo.

Valor Descrição
inline

Tipo de passo que executa código.

reference

Tipo de passo que instala outra atualização.

Update

Atualizar metadados.

Name Tipo Valor predefinido Descrição
compatibility

object[]

Lista de informações de compatibilidade de atualização.

createdDateTime

string (date-time)

Data e hora em UTC quando a atualização foi criada.

description

string

minLength: 1
maxLength: 512

Descrição da atualização especificada pelo criador.

etag

string

Atualizar ETag.

friendlyName

string

minLength: 1
maxLength: 512

Nome de atualização amigável especificado pelo importador.

importedDateTime

string (date-time)

Data e hora em UTC quando a atualização foi importada.

installedCriteria

string

String interpretada pelo cliente de Atualização de Dispositivo para determinar se a atualização está instalada no dispositivo. Preterido no esquema de manifesto de importação mais recente.

instructions

Instructions

Atualize as instruções de instalação.

isDeployable

boolean

True

Se a atualização pode ser implantada em um dispositivo por conta própria.

manifestVersion

string

Versão do esquema do manifesto usado para importar a atualização.

referencedBy

UpdateId[]

Lista de identidades de atualização que fazem referência a esta atualização.

scanResult

string

Atualize o resultado da verificação agregada (calculado a partir dos resultados da verificação do arquivo de carga útil).

updateId

UpdateId

Atualizar identidade.

updateType

string

Tipo de atualização. Preterido no esquema de manifesto de importação mais recente.

UpdateId

Atualizar identificador.

Name Tipo Descrição
name

string

Nome da atualização.

provider

string

Provedor de atualização.

version

string

Versão de atualização.