Compartir a través de


Device Update - Import Update

Importe la nueva versión de actualización. Se trata de una operación de larga duración; use Operation-Location valor del encabezado de respuesta para comprobar el estado de la operación.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
endpoint
path True

string

url

Device Update para IoT Hub punto de conexión de la cuenta (solo nombre de host, sin protocolo).

instanceId
path True

string

Device Update para IoT Hub identificador de instancia de cuenta.

api-version
query True

string

Versión de la API que se va a usar con la solicitud de cliente.

Cuerpo de la solicitud

Nombre Tipo Description
updateToImport

ImportUpdateInputItem[]

La actualización que se va a importar (consulte el esquema https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json para obtener más información).

Respuestas

Nombre Tipo Description
200 OK

Update

La versión de actualización solicitada.

202 Accepted

Solicitud de importación de actualización aceptada; La ubicación de la operación en segundo plano para realizar un seguimiento del estado se especifica en Operation-Location encabezado de respuesta.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Respuesta predeterminada.

Seguridad

azure_auth

Flujo OAuth2 de Azure Active Directory

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nombre Description
https://api.adu.microsoft.com/.default Ámbito de autorización predeterminado.

Ejemplos

DeviceUpdate_ImportUpdate

Sample Request

POST https://contoso.api.adu.microsoft.com/deviceUpdate/blue/updates:import?api-version=2022-10-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"
      }
    ]
  }
]

Sample Response

Operation-Location: /deviceUpdate/blue/updates/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2022-10-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-22T21:01:43.8408797+00:00",
  "createdDateTime": "2019-09-12T00:00:00.0000000+00:00",
  "etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\""
}

Definiciones

Nombre Description
Error

Detalles del error.

ErrorResponse

Respuesta de error común.

FileImportMetadata

Metadatos que describen un archivo de actualización.

ImportManifestMetadata

Metadatos que describen el manifiesto de importación, un documento que describe los archivos y otros metadatos sobre una versión de actualización.

ImportUpdateInputItem

Importe los metadatos de los elementos de entrada de actualización.

InnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

Instructions
Step

Actualice el paso de instrucciones de instalación.

StepType

Tipo de paso.

Update

Actualizar metadatos.

UpdateId

Identificador de actualización.

Error

Detalles del error.

Nombre Tipo Description
code

string

Código de error definido por el servidor.

details

Error[]

Matriz de errores que provocó el error notificado.

innererror

InnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

message

string

Representación legible del error.

occurredDateTime

string

Fecha y hora en UTC cuando se produjo el error.

target

string

Destino del error.

ErrorResponse

Respuesta de error común.

Nombre Tipo Description
error

Error

Los detalles del error.

FileImportMetadata

Metadatos que describen un archivo de actualización.

Nombre Tipo Description
filename

string

Actualice el nombre de archivo tal y como se especifica dentro del manifiesto de importación.

url

string

Ubicación del blob de Azure desde la que Device Update puede descargar el archivo de actualización para IoT Hub. Normalmente, se trata de una dirección URL de blob protegida por SAS de solo lectura con una expiración establecida en al menos 4 horas.

ImportManifestMetadata

Metadatos que describen el manifiesto de importación, un documento que describe los archivos y otros metadatos sobre una versión de actualización.

Nombre Tipo Description
hashes

object

Objeto JSON que contiene los valores hash del archivo. Se requiere al menos el hash SHA256. Este objeto se puede considerar como un conjunto de pares clave-valor donde la clave es el algoritmo hash y el valor es el hash del archivo calculado mediante ese algoritmo.

sizeInBytes

integer

Tamaño de archivo en número de bytes.

url

string

Ubicación del blob de Azure desde la que device Update puede descargar el manifiesto de importación para IoT Hub. Normalmente, se trata de una dirección URL de blob protegida por SAS de solo lectura con una expiración establecida en al menos 4 horas.

ImportUpdateInputItem

Importe los metadatos de los elementos de entrada de actualización.

Nombre Tipo Description
files

FileImportMetadata[]

Una o varias propiedades de archivo de actualización, como el nombre de archivo y la dirección URL de origen.

friendlyName

string

Nombre descriptivo de la actualización.

importManifest

ImportManifestMetadata

Importe metadatos del manifiesto, como la dirección URL de origen, el tamaño o los hashes de archivo, etc.

InnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

Nombre Tipo Description
code

string

Un código de error más específico que el proporcionado por el error contenedor.

errorDetail

string

Mensaje interno de error o excepción.

innerError

InnerError

Objeto que contiene información más específica que el objeto actual sobre el error.

message

string

Representación legible del error.

Instructions

Nombre Tipo Description
steps

Step[]

Colección de pasos de instalación.

Step

Actualice el paso de instrucciones de instalación.

Nombre Tipo Valor predeterminado Description
description

string

Descripción del paso.

files

string[]

Colección de nombres de archivo que se van a pasar al controlador durante la ejecución. Obligatorio si el tipo de paso está insertado.

handler

string

Identidad del controlador que ejecutará este paso. Obligatorio si el tipo de paso está insertado.

handlerProperties

object

Parámetros que se van a pasar al controlador durante la ejecución.

type

StepType

inline

Tipo de paso.

updateId

UpdateId

Identidad de actualización secundaria a la que se hace referencia. Obligatorio si el tipo de paso es referencia.

StepType

Tipo de paso.

Nombre Tipo Description
inline

string

reference

string

Update

Actualizar metadatos.

Nombre Tipo Valor predeterminado Description
compatibility

object[]

Lista de información de compatibilidad de actualizaciones.

createdDateTime

string

Fecha y hora en UTC cuando se creó la actualización.

description

string

Actualice la descripción especificada por creator.

etag

string

Actualice ETag.

friendlyName

string

Nombre de actualización descriptivo especificado por el importador.

importedDateTime

string

Fecha y hora en UTC cuando se importó la actualización.

installedCriteria

string

Cadena interpretada por el cliente de Device Update para determinar si la actualización está instalada en el dispositivo. En desuso en el esquema de manifiesto de importación más reciente.

instructions

Instructions

Actualice las instrucciones de instalación.

isDeployable

boolean

True

Si la actualización se puede implementar en un dispositivo por su cuenta.

manifestVersion

string

Versión de esquema del manifiesto usado para importar la actualización.

referencedBy

UpdateId[]

Lista de identidades de actualización que hacen referencia a esta actualización.

scanResult

string

Actualizar el resultado del examen agregado (calculado a partir de los resultados del examen del archivo de carga).

updateId

UpdateId

Identidad de actualización.

updateType

string

Tipo de actualización. En desuso en el esquema de manifiesto de importación más reciente.

UpdateId

Identificador de actualización.

Nombre Tipo Description
name

string

Nombre de actualización.

provider

string

Proveedor de actualización.

version

string

Actualizar versión.