Share via


Device Update - Import Update

Importez la nouvelle version de mise à jour. Il s’agit d’une opération de longue durée ; utilisez Operation-Location valeur d’en-tête de réponse pour case activée pour les status d’opération.

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

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

url

Device Update pour IoT Hub point de terminaison de compte (nom d’hôte uniquement, aucun protocole).

instanceId
path True

string

Identificateur de instance de compte Device Update pour IoT Hub.

api-version
query True

string

Version de l’API à utiliser avec la demande cliente.

Corps de la demande

Nom Type Description
updateToImport

ImportUpdateInputItem[]

Mise à jour à importer (voir schéma https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json pour plus d’informations).

Réponses

Nom Type Description
200 OK

Update

Version de mise à jour demandée.

202 Accepted

Demande d’importation de mise à jour acceptée ; L’emplacement de l’opération en arrière-plan pour suivre status est spécifié dans Operation-Location'en-tête de réponse.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Réponse par défaut.

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory

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

Scopes

Nom Description
https://api.adu.microsoft.com/.default Étendue d’autorisation par défaut.

Exemples

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\""
}

Définitions

Nom Description
Error

Détails de l’erreur.

ErrorResponse

Réponse d’erreur courante.

FileImportMetadata

Métadonnées décrivant un fichier de mise à jour.

ImportManifestMetadata

Métadonnées décrivant le manifeste d’importation, document qui décrit les fichiers et autres métadonnées relatives à une version de mise à jour.

ImportUpdateInputItem

Importer les métadonnées d’élément d’entrée de mise à jour.

InnerError

Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.

Instructions
Step

Mettre à jour l’instruction d’installation.

StepType

Type d’étape.

Update

Mettre à jour les métadonnées.

UpdateId

Mettre à jour l’identificateur.

Error

Détails de l’erreur.

Nom Type Description
code

string

Code d’erreur défini par le serveur.

details

Error[]

Tableau d’erreurs ayant conduit à l’erreur signalée.

innererror

InnerError

Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.

message

string

Représentation lisible par l’homme de l’erreur.

occurredDateTime

string

Date et heure UTC auxquelles l’erreur s’est produite.

target

string

Cible de l’erreur.

ErrorResponse

Réponse d’erreur courante.

Nom Type Description
error

Error

Détails de l’erreur.

FileImportMetadata

Métadonnées décrivant un fichier de mise à jour.

Nom Type Description
filename

string

Mettez à jour le nom du fichier comme spécifié dans le manifeste d’importation.

url

string

Emplacement d’objet blob Azure à partir duquel le fichier de mise à jour peut être téléchargé par Device Update pour IoT Hub. Il s’agit généralement d’une URL d’objet blob protégée par SAP en lecture seule dont l’expiration est définie sur au moins 4 heures.

ImportManifestMetadata

Métadonnées décrivant le manifeste d’importation, document qui décrit les fichiers et autres métadonnées relatives à une version de mise à jour.

Nom Type Description
hashes

object

Objet JSON contenant le ou les hachages du fichier. Au moins SHA256 hachage est requis. Cet objet peut être considéré comme un ensemble de paires clé-valeur où la clé est l’algorithme de hachage et la valeur est le hachage du fichier calculé à l’aide de cet algorithme.

sizeInBytes

integer

Taille du fichier, en nombre d’octets.

url

string

Emplacement d’objet blob Azure à partir duquel le manifeste d’importation peut être téléchargé par Device Update pour IoT Hub. Il s’agit généralement d’une URL d’objet blob protégée par SAP en lecture seule dont l’expiration est définie sur au moins 4 heures.

ImportUpdateInputItem

Importer les métadonnées d’élément d’entrée de mise à jour.

Nom Type Description
files

FileImportMetadata[]

Une ou plusieurs propriétés de fichier de mise à jour telles que le nom de fichier et l’URL source.

friendlyName

string

Nom de la mise à jour conviviale.

importManifest

ImportManifestMetadata

Importer des métadonnées de manifeste telles que l’URL source, la taille/le hachage du fichier, etc.

InnerError

Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.

Nom Type Description
code

string

Code d’erreur plus spécifique que celui fourni par l’erreur contenante.

errorDetail

string

Message d’erreur ou d’exception interne.

innerError

InnerError

Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.

message

string

Représentation lisible par l’homme de l’erreur.

Instructions

Nom Type Description
steps

Step[]

Collection d’étapes d’installation.

Step

Mettre à jour l’instruction d’installation.

Nom Type Valeur par défaut Description
description

string

Description de l’étape.

files

string[]

Collection de noms de fichiers à passer au gestionnaire pendant l’exécution. Obligatoire si le type d’étape est inline.

handler

string

Identité du gestionnaire qui exécutera cette étape. Obligatoire si le type d’étape est inline.

handlerProperties

object

Paramètres à passer au gestionnaire pendant l’exécution.

type

StepType

inline

Type d’étape.

updateId

UpdateId

Identité de mise à jour enfant référencée. Obligatoire si le type d’étape est référence.

StepType

Type d’étape.

Nom Type Description
inline

string

reference

string

Update

Mettre à jour les métadonnées.

Nom Type Valeur par défaut Description
compatibility

object[]

Liste des informations de compatibilité des mises à jour.

createdDateTime

string

Date et heure utc de création de la mise à jour.

description

string

Mettre à jour la description spécifiée par le créateur.

etag

string

Mettre à jour ETag.

friendlyName

string

Nom de mise à jour conviviale spécifié par l’importateur.

importedDateTime

string

Date et heure UTC auxquelles la mise à jour a été importée.

installedCriteria

string

Chaîne interprétée par le client Device Update pour déterminer si la mise à jour est installée sur l’appareil. Déconseillé dans le schéma de manifeste d’importation le plus récent.

instructions

Instructions

Mettre à jour les instructions d’installation.

isDeployable

boolean

True

Indique si la mise à jour peut être déployée sur un appareil par elle-même.

manifestVersion

string

Version de schéma du manifeste utilisé pour importer la mise à jour.

referencedBy

UpdateId[]

Liste des identités de mise à jour qui font référence à cette mise à jour.

scanResult

string

Mettre à jour le résultat de l’analyse d’agrégation (calculé à partir des résultats de l’analyse du fichier de charge utile).

updateId

UpdateId

Identité de la mise à jour.

updateType

string

Type de mise à jour. Déconseillé dans le schéma de manifeste d’importation le plus récent.

UpdateId

Mettre à jour l’identificateur.

Nom Type Description
name

string

Mettre à jour le nom.

provider

string

Mettre à jour le fournisseur.

version

string

Mettre à jour la version.