View a markdown version of this page

Mettre à jour les modèles d'actifs, les modèles de composants et les interfaces - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mettre à jour les modèles d'actifs, les modèles de composants et les interfaces

Utilisez la AWS IoT SiteWise console ou l'API pour mettre à jour un modèle d'actif, un modèle de composant ou une interface.

Vous ne pouvez pas modifier le type ou le type de données d'une propriété existante, ni modifier la fenêtre d'une métrique existante. Vous ne pouvez pas non plus modifier le type de modèle du modèle d'actif au modèle de composant ou à l'interface, ou inversement.

Important
  • Si vous supprimez une propriété d'un modèle d'actif ou d'un modèle de composant, toutes les données précédentes relatives à cette propriété sont AWS IoT SiteWise supprimées. Pour les modèles de composants, cela affecte tous les modèles d'actifs utilisant ce modèle de composant. Veillez donc particulièrement à comprendre dans quelle mesure votre modification peut s'appliquer.

  • Si vous supprimez une définition de hiérarchie d'un modèle d'actif, AWS IoT SiteWise dissociez tous les actifs de cette hiérarchie.

Lorsque vous mettez à jour un modèle de ressource, chaque ressource basée sur ce modèle reflète toutes les modifications que vous apportez au modèle sous-jacent. Jusqu'à ce que les modifications se propagent, l'état de chaque ressource est UPDATING. Attendez que l'état des ressources passe à ACTIVE pour pouvoir interagir avec elles. Pendant ce temps, le statut du modèle de ressource mis à jour est PROPAGATING.

Lorsque vous mettez à jour un modèle de composant, chaque modèle d'actif qui intègre ce modèle de composant reflète les modifications. Jusqu'à ce que les modifications du modèle de composant se propagent, chaque modèle d'actif concerné possède l'UPDATINGétat, suivi PROPAGATING de la mise à jour des actifs associés, comme décrit dans le paragraphe précédent. Vous devez attendre que ces modèles d'actifs reviennent à l'ACTIVEétat initial avant d'interagir avec eux. Pendant cette période, l'état du modèle de composant mis à jour seraPROPAGATING.

Pour de plus amples informations, veuillez consulter État des ressources et des modèles.

Mise à jour d'un modèle d'actif, d'un modèle de composant ou d'une interface (console)

Vous pouvez utiliser la AWS IoT SiteWise console pour mettre à jour un modèle d'actif, un modèle de composant ou une interface.

Pour mettre à jour un modèle d'actif, un modèle de composant ou une interface (console)
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le panneau de navigation, choisissez Models (Modèles).

  3. Choisissez le modèle d'actif, le modèle de composant ou l'interface à mettre à jour.

  4. Choisissez Modifier.

  5. Sur la page Modifier le modèle, effectuez l'une des opérations suivantes :

  6. Choisissez Enregistrer.

Note

Les demandes de mise à jour effectuées dans la console sont rejetées si un autre utilisateur a réussi à mettre à jour le modèle d'actif depuis la dernière fois que vous avez ouvert la page Modifier le modèle. La console invite l'utilisateur à actualiser la page Modifier le modèle pour récupérer le modèle mis à jour. Vous devez effectuer à nouveau vos mises à jour, puis réessayer d'enregistrer. Pour plus d’informations, consultez Blocage optimiste pour les écritures sur les modèles d'actifs.

Mettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI)

Utilisez le AWS Command Line Interface (AWS CLI) pour mettre à jour un modèle d'actif, un modèle de composant ou une interface.

Utilisez l'UpdateAssetModelAPI pour mettre à jour le nom, la description et les propriétés d'un modèle d'actif, d'un modèle de composant ou d'une interface. Pour les modèles d'actifs uniquement, vous pouvez mettre à jour les hiérarchies. Pour les interfaces, vous pouvez mettre à jour les propriétés et les hiérarchies. Spécifiez les paramètres suivants :

  • assetModelId— L'identifiant de l'actif. Il s'agit de l'identifiant réel au format UUID, ou externalId:myExternalId s'il en possède un. Pour plus d’informations, consultez Objets de référence dotés d'identifiants externes dans le Guide de l’utilisateur AWS IoT SiteWise .

Spécifiez le modèle mis à jour dans la charge utile. Pour en savoir plus sur le format attendu d'un modèle d'actif ou d'un modèle de composant, consultezCréez des modèles d'actifs dans AWS IoT SiteWise.

Avertissement

L'UpdateAssetModelAPI remplace le modèle existant par le modèle que vous fournissez dans la charge utile. Pour éviter de supprimer les propriétés ou les hiérarchies de votre modèle, vous devez inclure leurs ID et leurs définitions dans la charge utile du modèle mise à jour. Pour savoir comment interroger la structure existante de votre modèle, consultez l'DescribeAssetModelopération.

Note

La procédure suivante ne permet de mettre à jour que les modèles composites de typeAWS/ALARM. Si vous souhaitez mettre à jour des modèles CUSTOM composites, utilisez UpdateAssetModelCompositeModel plutôt. Pour de plus amples informations, veuillez consulter Mettre à jour les modèles composites personnalisés (composants).

Pour mettre à jour un modèle d'actif ou un modèle de composant (AWS CLI)
  1. Exécutez la commande suivante pour récupérer la définition de modèle existante. Remplacez-le asset-model-id par l'ID ou l'ID externe du modèle d'actif ou du modèle de composant à mettre à jour.

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id

    La commande ci-dessus renvoie la définition du modèle correspondant à la dernière version du modèle.

    Pour un cas d'utilisation dans lequel un modèle d'actif est dans un FAILED état, récupérez la définition de modèle valide correspondant à sa version active pour créer votre demande de mise à jour. Consultez Versions des modèles d'actifs pour plus de détails. Exécutez la commande suivante pour récupérer la définition du modèle actif :

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id --asset-model-version ACTIVE

    L'opération renvoie une réponse contenant les détails du modèle. La réponse présente la structure suivante.

    { "assetModelId": "String", "assetModelArn": "String", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel, "assetModelCompositeModelSummaries": Array of AssetModelCompositeModelSummary, "assetModelCreationDate": "String", "assetModelLastUpdateDate": "String", "assetModelStatus": { "state": "String", "error": { "code": "String", "message": "String" }, "assetModelType": "String" }, "assetModelVersion": "String", "eTag": "String" }

    Pour plus d'informations, consultez l'DescribeAssetModelopération.

  2. Créez un fichier appelé update-asset-model.json et copiez la réponse de la commande précédente dans le fichier.

  3. Supprimez les paires clé-valeur suivantes de l'objet JSON dans update-asset-model.json :

    • assetModelId

    • assetModelArn

    • assetModelCompositeModelSummaries

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    • assetModelType

    • assetModelVersion

    • eTag

    L'UpdateAssetModelopération attend une charge utile ayant la structure suivante :

    { "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel }
  4. Dans update-asset-model.json, effectuez l’une des actions suivantes :

    • Modifiez le nom du modèle de ressource (assetModelName).

    • Modifiez, ajoutez ou supprimez la description du modèle de ressource (assetModelDescription).

    • Modifiez, ajoutez ou supprimez les propriétés du modèle de ressource (assetModelProperties). Vous ne pouvez pas modifier le dataType des propriétés existantes ou le window des métriques existantes. Pour de plus amples informations, veuillez consulter Définir les propriétés des données.

    • Modifiez, ajoutez ou supprimez les hiérarchies du modèle de ressource (assetModelHierarchies). Vous ne pouvez pas modifier le childAssetModelId des hiérarchies existantes. Pour de plus amples informations, veuillez consulter Définir les hiérarchies des modèles d'actifs.

    • Modifiez, ajoutez ou supprimez l'un des modèles composites de type AWS/ALARM (assetModelCompositeModels) du modèle d'actif. Les alarmes surveillent d'autres propriétés afin que vous puissiez identifier les équipements ou les processus nécessitant une attention particulière. Chaque définition d'alarme est un modèle composite qui normalise l'ensemble de propriétés utilisées par l'alarme. Pour plus d’informations, consultez Surveillez les données avec des alarmes AWS IoT SiteWise et Définissez des alarmes sur les modèles d'actifs dans AWS IoT SiteWise.

  5. Exécutez la commande suivante pour mettre à jour le modèle de ressource avec la définition stockée dans update-asset-model.json. Remplacez asset-model-id par l'ID du modèle d'actif :

    aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://model-payload.json
Important

Lorsque plusieurs utilisateurs mettent à jour un modèle d'actif en même temps, les modifications d'un utilisateur peuvent être remplacées par inadvertance par un autre utilisateur. Pour éviter cela, vous devez définir une demande de mise à jour conditionnelle. Consultez Blocage optimiste pour les écritures sur les modèles d'actifs.