

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.

# Ingérez des données dans AWS IoT SiteWise des objets AWS IoT
<a name="ingest-data-from-iot-things"></a>

Découvrez comment intégrer des données à AWS IoT SiteWise partir d'une multitude d' AWS IoT objets en utilisant les ombres des appareils dans ce didacticiel. Les *ombres de périphérique* sont des objets JSON qui stockent les informations d'état actuel d'un AWS IoT appareil. Pour plus d'informations, voir [Device Shadow Service](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) dans le *Guide du AWS IoT développeur*.

Après avoir terminé ce didacticiel, vous pouvez configurer une opération en AWS IoT SiteWise fonction AWS IoT des éléments. En utilisant AWS IoT des objets, vous pouvez intégrer vos opérations à d'autres fonctionnalités utiles de AWS IoT. Par exemple, vous pouvez configurer les AWS IoT fonctionnalités pour effectuer les tâches suivantes :
+ Configurez des règles supplémentaires pour diffuser des données vers [AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/)[Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/) et d'autres services. AWS Pour plus d'informations, consultez la section [Règles](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) du *guide du AWS IoT développeur*.
+ Indexez, recherchez et agrégez les données de vos appareils grâce au service d'indexation de AWS IoT flotte. Pour plus d'informations, consultez la section [Service d'indexation de flotte](https://docs.aws.amazon.com/iot/latest/developerguide/iot-indexing.html) dans le *Guide du AWS IoT développeur*.
+ Auditez et sécurisez vos appareils avec AWS IoT Device Defender. Pour plus d’informations, consultez [AWS IoT Device Defender](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/what-is-device-defender.html) dans le *Guide du développeur AWS IoT *.

Dans ce didacticiel, vous allez apprendre à ingérer des données depuis les zones d'ombre AWS IoT des appareils vers les actifs qu'ils contiennent. AWS IoT SiteWise Pour ce faire, vous créez un ou plusieurs AWS IoT éléments et exécutez un script qui met à jour l'ombre du périphérique de chaque élément avec les données d'utilisation du processeur et de la mémoire. Vous utiliserez les données d'utilisation de l'UC et de la mémoire dans ce didacticiel pour imiter des données de capteur réalistes. Ensuite, vous créez une règle avec une AWS IoT SiteWise action qui envoie ces données à un actif AWS IoT SiteWise chaque fois que le device shadow d'un objet est mis à jour. Pour de plus amples informations, veuillez consulter [Ingérer des données pour AWS IoT SiteWise utiliser des règles AWS IoT Core](iot-rules.md).

**Topics**
+ [Conditions préalables](#rule-ingestion-tutorial-prerequisites)
+ [Étape 1 : créer une AWS IoT politique](#ingestion-tutorial-create-iot-policy)
+ [Étape 2 : créer et configurer n'importe quel AWS IoT objet](#rule-tutorial-create-iot-thing)
+ [Étape 3 : Création d'un modèle de ressource d'appareil](#rule-tutorial-create-device-model)
+ [Étape 4 : Création d'un modèle de parc d'appareils](#rule-tutorial-create-fleet-model)
+ [Étape 5 : Création et configuration d'un actif de périphérique](#rule-tutorial-create-device-assets)
+ [Étape 6 : Création et configuration d'un parc d'appareils](#rule-tutorial-create-fleet-asset)
+ [Étape 7 : créer une règle dans AWS IoT Core pour envoyer des données aux actifs de l'appareil](#rule-tutorial-create-iot-rule)
+ [Étape 8 : Exécuter le script client de l'appareil](#rule-tutorial-run-script)
+ [Étape 9 : Nettoyer les ressources après le didacticiel](#rule-tutorial-clean-up-resources)

## Conditions préalables
<a name="rule-ingestion-tutorial-prerequisites"></a>

Pour suivre ce didacticiel, vous aurez besoin des éléments suivants :
+ Un AWS compte. Si vous n'en avez pas, veuillez consulter [Configurez un AWS compte](getting-started.md#set-up-aws-account).
+ Un ordinateur de développement exécutant WindowsmacOS,Linux, ou Unix permettant d'accéder au AWS Management Console. Pour plus d'informations, consultez [Démarrer avec le AWS Management Console](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html).
+ Un utilisateur Gestion des identités et des accès AWS (IAM) doté d'autorisations d'administrateur.
+ Python3 installé sur votre ordinateur de développement ou installé sur l'appareil que vous souhaitez enregistrer en tant qu' AWS IoT objet.

## Étape 1 : créer une AWS IoT politique
<a name="ingestion-tutorial-create-iot-policy"></a>

Dans cette procédure, créez une AWS IoT politique permettant à vos AWS IoT objets d'accéder aux ressources utilisées dans ce didacticiel.

------
#### [ Console ]

Pour créer une AWS IoT politique à l'aide de la AWS IoT Core console, procédez comme suit :

**Pour créer une AWS IoT politique**

1. Connectez-vous à la [AWS Management Console](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/what-is.html).

1. Passez en revue les [AWS régions dans](https://docs.aws.amazon.com/general/latest/gr/iot-sitewise.html) lesquelles le AWS IoT SiteWise support est pris en charge. Basculez vers l'une de ces régions prises en charge, si nécessaire.

1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/). Si un bouton **Connect device** apparaît, choisissez-le.

1. Dans le volet de navigation de gauche, choisissez **Security**, puis **Policies**.

1. Choisissez **Créer**.

1. Entrez le nom de la AWS IoT politique (par exemple,**SiteWiseTutorialDevicePolicy**).

1. Sous **Document de stratégie**, choisissez **JSON** pour saisir la politique suivante au format JSON. Remplacez *region* et *account-id* par votre région et votre numéro de compte, tels que **us-east-1** et**123456789012**.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "iot:Connect",
         "Resource": "arn:aws:iot:us-east-1:123456789012:client/SiteWiseTutorialDevice*"
       },
       {
         "Effect": "Allow",
         "Action": "iot:Publish",
         "Resource": [
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/delete",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get"
         ]
       },
       {
         "Effect": "Allow",
         "Action": "iot:Receive",
         "Resource": [
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/delete/accepted",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
           "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/delete/rejected"
         ]
       },
       {
         "Effect": "Allow",
         "Action": "iot:Subscribe",
         "Resource": [
           "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
           "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/delete/accepted",
           "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
           "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
           "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/delete/rejected"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "iot:GetThingShadow",
           "iot:UpdateThingShadow",
           "iot:DeleteThingShadow"
         ],
         "Resource": "arn:aws:iot:us-east-1:123456789012:thing/SiteWiseTutorialDevice*"
   
       }
     ]
   }
   ```

------

1. Choisissez **Créer**.

------
#### [ AWS CLI ]

**Important**  
Cette politique utilise des caractères génériques pour respecter les limites de taille de la AWS IoT SiteWise CLI. Pour des autorisations plus restrictives avec des chemins de rubrique explicites, créez plutôt la politique via la AWS IoT SiteWise console. Pour plus d'informations, consultez l'exemple de politique IoT fourni dans l'onglet.

Utilisez la AWS CLI commande suivante pour créer une politique IoT :

```
aws iot create-policy \
  --policy-name "SiteWiseTutorialDevicePolicy" \
  --policy-document '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "iot:Connect",
        "Resource": "arn:aws:iot:region:account-id:client/SiteWiseTutorialDevice*"
      },
      {
        "Effect": "Allow",
        "Action": ["iot:Publish", "iot:Receive"],
        "Resource": [
          "arn:aws:iot:region:account-id:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*"
        ]
      },
      {
        "Effect": "Allow",
        "Action": "iot:Subscribe",
        "Resource": [
          "arn:aws:iot:region:account-id:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/*"
        ]
      },
      {
        "Effect": "Allow",
        "Action": [
          "iot:GetThingShadow",
          "iot:UpdateThingShadow",
          "iot:DeleteThingShadow"
        ],
        "Resource": "arn:aws:iot:region:account-id:thing/SiteWiseTutorialDevice*"
      }
    ]
  }'
```

Pour vérifier que votre politique a bien été créée, utilisez la commande suivante :

```
aws iot get-policy --policy-name "SiteWiseTutorialDevicePolicy"
```

------

Cette politique permet à vos AWS IoT appareils d'établir des connexions et de communiquer avec leurs ombres à l'aide de messages MQTT. Pour plus d'informations sur les messages MQTT, consultez [Qu'est-ce que MQTT](https://aws.amazon.com/what-is/mqtt/) ? . Pour interagir avec les ombres des appareils, vos AWS IoT objets publient et reçoivent des messages MQTT sur des sujets commençant `$aws/things/thing-name/shadow/` par. Cette politique intègre une variable de politique d'objets connue sous le nom de`${iot:Connection.Thing.ThingName}`. Cette variable remplace le nom de l'objet connecté dans chaque rubrique. L'`iot:Connect`instruction définit des limites quant aux appareils autorisés à établir des connexions, en veillant à ce que la variable thing policy ne puisse remplacer que les noms commençant par`SiteWiseTutorialDevice`.

Pour plus d'informations, consultez la section [Variables de politique des](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-variables.html) objets dans le *manuel du AWS IoT développeur*.

**Note**  
Cette stratégie s'applique aux objets dont le nom commence par `SiteWiseTutorialDevice`. Pour utiliser un nom différent pour vos objets, vous devez mettre à jour la stratégie en conséquence.

## Étape 2 : créer et configurer n'importe quel AWS IoT objet
<a name="rule-tutorial-create-iot-thing"></a>

Dans cette procédure, vous créez et configurez n'importe quel AWS IoT objet. Vous pouvez désigner votre ordinateur de développement comme n'importe quel AWS IoT objet. Au fur et à mesure que vous progressez, n'oubliez pas que les principes que vous apprenez ici peuvent être appliqués à des projets réels. Vous avez la flexibilité de créer et de configurer des AWS IoT éléments sur n'importe quel appareil capable d'exécuter un AWS IoT SDK, y compris AWS IoT Greengrass FreeRTOS. Pour plus d’informations, consultez [AWS IoT SDKs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html) dans le *Guide du développeur AWS IoT *.

------
#### [ Console ]

**Pour créer et configurer n'importe quel AWS IoT objet**

1. Ouvrez une ligne de commande et exécutez la commande suivante pour créer un répertoire pour ce didacticiel.

   ```
   mkdir iot-sitewise-rule-tutorial
   cd iot-sitewise-rule-tutorial
   ```

1. Exécutez la commande suivante pour créer un répertoire pour les certificats de l'objet.

   ```
   mkdir device1
   ```

   Si vous créez des objets supplémentaires, incrémentez le nombre en conséquence dans le nom du répertoire pour pouvoir déterminer quel certificat appartient à quel objet.

1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/).

1. Dans le volet de navigation de gauche, choisissez **Tous les appareils** dans la section **Gérer**. Ensuite, choisissez **Things (Objets)**.

1. Si une boîte de dialogue **You don't have any things yet (Vous n'avez pas encore d'objet)** s'affiche, choisissez **Create a thing (Créer un objet)**. Sinon, choisissez **Create things**.

1. Sur la page **Création d'objets**, choisissez **Créer un objet unique**, puis cliquez sur **Suivant**.

1. Sur la page **Spécifier les propriétés de l'objet**, entrez le nom de votre AWS IoT objet (par exemple,**SiteWiseTutorialDevice1**) puis choisissez **Suivant**. Si vous créez des objets supplémentaires, incrémentez le nombre en conséquence dans le nom de l'objet.
**Important**  
Le nom de l'objet doit correspondre au nom utilisé dans la politique que vous avez créée à *l'étape 1 : Création d'une AWS IoT politique*. Dans le cas contraire, votre appareil ne pourra pas se connecter à AWS IoT.

1. Sur la page **Configurer le certificat de l'appareil - *facultatif***, choisissez **Générer automatiquement un nouveau certificat (recommandé)**, puis cliquez sur **Suivant**. Les certificats permettent AWS IoT d'identifier vos appareils en toute sécurité.

1. Sur la page ***facultative* Attacher des politiques au certificat**, sélectionnez la politique que vous avez créée à l'*étape 1 : Création d'une AWS IoT politique*, puis choisissez **Créer un objet**.

1. Dans la boîte de dialogue **Télécharger les certificats et les clés**, procédez comme suit :

   1. Choisissez les liens **Télécharger** pour télécharger le certificat, la clé publique et la clé privée de votre objet. Enregistrez les trois fichiers dans le répertoire que vous avez créé pour les certificats de l'objet (par exemple, **iot-sitewise-rule-tutorial/device1**).
**Important**  
Il s'agit de l'unique fois où vous pouvez télécharger le certificat et les clés de l'objet, sans lesquels votre appareil ne pourra pas se connecter à AWS IoT.

   1. Cliquez sur le lien **Télécharger** pour télécharger un certificat CA racine. Enregistrez le certificat d'autorité de certification racine dans **iot-sitewise-rule-tutorial**. Nous vous recommandons de télécharger Amazon Root CA 1.

1. Sélectionnez **Exécuté**.

------
#### [ AWS CLI ]

Suivez ces étapes pour créer et configurer n'importe quel AWS IoT objet à l'aide de AWS CLI :

1. Ouvrez une ligne de commande et exécutez la commande suivante pour créer un répertoire pour ce didacticiel :

   ```
   mkdir iot-sitewise-rule-tutorial
   ```

1. Accédez au répertoire du didacticiel :

   ```
   cd iot-sitewise-rule-tutorial
   ```

1. Exécutez la commande suivante pour créer un répertoire pour les certificats de votre objet :

   ```
   mkdir device1
   ```

   Si vous créez des objets supplémentaires, incrémentez le nombre en conséquence dans le nom du répertoire pour pouvoir déterminer quel certificat appartient à quel objet.

1. Créez n'importe AWS IoT quel objet :

   ```
   aws iot create-thing --thing-name "SiteWiseTutorialDevice1"
   ```
**Important**  
Le nom de l'objet doit correspondre au modèle de nom utilisé dans la politique que vous avez créée à l'étape 1. Dans le cas contraire, votre appareil ne pourra pas se connecter à AWS IoT.

1. Créez un certificat et enregistrez les fichiers. Notez l'ARN du certificat indiqué dans la sortie. Vous en aurez besoin lors des prochaines étapes :

   ```
   aws iot create-keys-and-certificate \
       --set-as-active \
       --certificate-pem-outfile "device1/device.pem.crt" \
       --public-key-outfile "device1/public.pem.key" \
       --private-key-outfile "device1/private.pem.key"
   ```

1. Joignez la politique que vous avez créée à l'étape 1 au certificat :

   ```
   aws iot attach-policy \
       --policy-name "SiteWiseTutorialDevicePolicy" \
       --target "certificate-arn"
   ```

1. Joignez le certificat à l'objet :

   ```
   aws iot attach-thing-principal \
       --thing-name "SiteWiseTutorialDevice1" \
       --principal "certificate-arn"
   ```

1. Téléchargez le certificat Amazon root CA :

   ```
   curl https://www.amazontrust.com/repository/AmazonRootCA1.pem > AmazonRootCA1.pem
   ```

   Ce certificat est nécessaire pour que votre appareil puisse se connecter correctement à AWS IoT.

**Important**  
Stockez vos certificats et vos clés en toute sécurité. Vous ne pouvez pas télécharger à nouveau ces informations d'identification après les avoir créées.

------

Vous avez maintenant enregistré AWS IoT quelque chose sur votre ordinateur. Procédez à l'une des étapes suivantes :
+ Passez à l'*étape 3 : Création d'un modèle de ressource d'appareil* sans créer d' AWS IoT éléments supplémentaires. Vous pouvez réaliser ce didacticiel avec un seul objet.
+ Répétez les étapes de cette section sur un autre ordinateur ou périphérique pour créer d'autres objets AWS IoT . Pour ce didacticiel, nous vous recommandons de suivre cette étape afin que vous puissiez ingérer des données d'utilisation d'UC et de mémoire uniques à partir de plusieurs appareils.
+ Répétez les étapes de cette section sur le même périphérique (ordinateur) pour créer davantage d'objets AWS IoT . Chaque AWS IoT appareil reçoit des données d'utilisation du processeur et de la mémoire similaires de votre ordinateur. Utilisez cette approche pour démontrer l'ingestion de données non uniques provenant de plusieurs appareils.

## Étape 3 : Création d'un modèle de ressource d'appareil
<a name="rule-tutorial-create-device-model"></a>

Dans cette procédure, vous créez un modèle d'actif AWS IoT SiteWise pour représenter vos appareils qui diffusent des données d'utilisation du processeur et de la mémoire. Pour traiter les données des actifs qui représentent des groupes d'appareils, les modèles d'actifs appliquent des informations cohérentes sur plusieurs actifs du même type. Pour de plus amples informations, veuillez consulter [Modéliser des actifs industriels](industrial-asset-models.md).

**Pour créer un modèle de ressource qui représente un périphérique**

1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dans le volet de navigation de gauche, choisissez **Modèles**.

1. Choisissez **Créer un modèle d'actif**.

1. Sous **Détails du modèle**, entrez le nom de votre modèle. Par exemple, **SiteWise Tutorial Device Model**.

1. Sous **Measurement definitions (Définitions de mesure)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **CPU Usage**.

   1. Pour **Unit (Unité)**, saisissez **%**.

   1. Conservez le **type de données** **Double**.

   Les propriétés de mesure représentent les flux de données brutes d'un périphérique. Pour de plus amples informations, veuillez consulter [Définir les flux de données provenant de l'équipement (mesures)](measurements.md).

1. Choisissez **Ajouter une nouvelle mesure** pour ajouter une deuxième propriété de mesure.

1. Dans la deuxième ligne sous **Measurement definitions (Définitions de mesure)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **Memory Usage**.

   1. Pour **Unit (Unité)**, saisissez **%**.

   1. Conservez le **type de données** **Double**.

1. Sous **Metric definitions (Définitions de métrique)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **Average CPU Usage**.

   1. Pour **Formula (Formule)**, saisissez **avg(CPU Usage)**. Choisissez **CPU Usage** dans la liste de saisie semi-automatique lorsqu'elle apparaît.

   1. Dans **Time interval (Intervalle de temps)**, entrez **5 minutes**.

   Les propriétés de métrique définissent les calculs d'agrégation qui traitent tous les points de données en entrée sur un intervalle et qui produisent un point de données unique par intervalle. Cette propriété de métrique calcule l'utilisation moyenne de l'UC de chaque périphérique toutes les 5 minutes. Pour de plus amples informations, veuillez consulter [Données agrégées provenant de propriétés et d'autres actifs (métriques)](metrics.md).

1. Choisissez **Ajouter une nouvelle métrique** pour ajouter une deuxième propriété de métrique.

1. Dans la deuxième ligne sous **Metric definitions (Définitions de métrique)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **Average Memory Usage**.

   1. Pour **Formula (Formule)**, saisissez **avg(Memory Usage)**. Choisissez **Memory Usage** dans la liste de saisie semi-automatique lorsqu'elle apparaît.

   1. Dans **Time interval (Intervalle de temps)**, entrez **5 minutes**.

   Cette propriété de métrique calcule l'utilisation moyenne de la mémoire de chaque périphérique toutes les 5 minutes.

1. (Facultatif) Ajoutez les autres métriques que vous souhaitez calculer pour chaque périphérique. Certaines fonctions intéressantes comprennent `min` et `max`. Pour de plus amples informations, veuillez consulter [Utiliser des expressions de formule](formula-expressions.md). À *l'étape 4 : Création d'un modèle d'actifs de parc d'appareils*, vous créez un actif parent capable de calculer des mesures à l'aide des données de l'ensemble de votre parc d'appareils.

1. Sélectionnez **Créer un modèle**.

## Étape 4 : Création d'un modèle de parc d'appareils
<a name="rule-tutorial-create-fleet-model"></a>

Dans cette procédure, vous créez un modèle de ressource AWS IoT SiteWise pour symboliser votre collection d'appareils. Dans ce modèle d'actifs, vous établissez une structure qui vous permet de relier de nombreux équipements à un actif de flotte global. Ensuite, vous définissez les mesures du modèle d'actifs du parc afin de consolider les données de tous les actifs des appareils connectés. Cette approche vous fournit des informations complètes sur les performances collectives de l'ensemble de votre flotte.

**Pour créer un modèle de ressource qui représente un parc de périphériques**

1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dans le volet de navigation de gauche, choisissez **Modèles**.

1. Choisissez **Créer un modèle d'actif**.

1. Sous **Détails du modèle**, entrez le nom de votre modèle. Par exemple, **SiteWise Tutorial Device Fleet Model**.

1. Sous **Hierarchy definitions (Définitions de hiérarchie)**, procédez comme suit :

   1. Dans **Hierarchy name (Nom de la hiérarchie)**, entrez **Device**.

   1. Dans **Hierarchy model (Modèle de hiérarchie)**, choisissez votre modèle de ressource de périphérique (**SiteWise Tutorial Device Model**).

   Une hiérarchie définit une relation entre un modèle de ressource parent (parc) et un modèle de ressource enfant (périphérique). Les ressources parents peuvent accéder aux données de propriété des ressources enfants. Lorsque vous créerez des ressources par la suite, vous devrez associer des ressources enfants aux ressources parents selon une définition de hiérarchie dans le modèle de ressource parent. Pour de plus amples informations, veuillez consulter [Les hiérarchies des actifs représentent les relations entre les équipements](industrial-asset-models.md#asset-hierarchies).

1. Sous **Metric definitions (Définitions de métrique)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **Average CPU Usage**.

   1. Pour **Formula (Formule)**, saisissez **avg(Device \$1 Average CPU Usage)**. Lorsque la liste de saisie semi-automatique apparaît, choisissez **Device** pour sélectionner une hiérarchie, puis choisissez **Average CPU Usage** pour sélectionner la métrique à partir de la ressource de périphérique que vous avez créée précédemment.

   1. Dans **Time interval (Intervalle de temps)**, entrez **5 minutes**.

   Cette propriété de métrique calcule l'utilisation moyenne de l'UC de toutes les ressources de périphériques associées à une ressource de parc via la hiérarchie **Device**.

1. Choisissez **Ajouter une nouvelle métrique** pour ajouter une deuxième propriété de métrique.

1. Dans la deuxième ligne sous **Metric definitions (Définitions de métrique)**, procédez comme suit :

   1. Pour **Name (Nom)**, entrez **Average Memory Usage**.

   1. Pour **Formula (Formule)**, saisissez **avg(Device \$1 Average Memory Usage)**. Lorsque la liste de saisie semi-automatique apparaît, choisissez **Device** pour sélectionner une hiérarchie, puis choisissez **Average Memory Usage** pour sélectionner la métrique à partir de la ressource de périphérique que vous avez créée précédemment.

   1. Dans **Time interval (Intervalle de temps)**, entrez **5 minutes**.

   Cette propriété de métrique calcule l'utilisation moyenne de la mémoire de toutes les ressources de périphériques associées à une ressource de parc via la hiérarchie **Device**.

1. (Facultatif) Ajoutez les autres métriques que vous souhaitez calculer pour l'ensemble de votre parc de périphériques.

1. Sélectionnez **Créer un modèle**.

## Étape 5 : Création et configuration d'un actif de périphérique
<a name="rule-tutorial-create-device-assets"></a>

Dans cette procédure, vous générez un actif d'appareil basé sur le modèle d'actif de votre appareil. Ensuite, vous définirez des alias de propriété pour chaque propriété de mesure. Un *alias de propriété* est une chaîne unique qui identifie la propriété d'un actif. Plus tard, vous pourrez identifier une propriété pour le téléchargement des données en utilisant les alias au lieu de l'ID de ressource et de l'ID de propriété. Pour de plus amples informations, veuillez consulter [Gérez les flux de données pour AWS IoT SiteWise](manage-data-streams.md). 

**Pour créer une ressource de périphérique et définir des alias de propriété**

1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dans le panneau de navigation de gauche, choisissez **Assets (Ressources)**.

1. Choisissez **Create asset (Créer une ressource)**.

1. Sous **Informations sur le modèle**, choisissez le modèle de ressource de votre appareil,**SiteWise Tutorial Device Model**.

1. Sous **Informations sur l'actif**, entrez le nom de votre actif. Par exemple, **SiteWise Tutorial Device 1**.

1. Choisissez **Create asset (Créer une ressource)**.

1. Pour la nouvelle ressource de périphérique, choisissez **Edit (Modifier)**.

1. Sous **Mesures** :

   1. Sous **CPU Usage**, entrez **/tutorial/device/SiteWiseTutorialDevice1/cpu** comme alias de propriété. Vous incluez le nom de l' AWS IoT objet dans l'alias de propriété, afin de pouvoir ingérer les données de tous vos appareils à l'aide d'une seule AWS IoT règle.

   1. Sous **Memory Usage**, entrez **/tutorial/device/SiteWiseTutorialDevice1/memory** comme alias de propriété.

1. Choisissez **Enregistrer**.

Si vous avez créé plusieurs AWS IoT éléments précédemment, répétez les étapes 3 à 10 pour chaque appareil, puis incrémentez le numéro dans le nom de l'actif et les alias de propriété en conséquence. Par exemple, le nom de la deuxième ressource de périphérique doit être **SiteWise Tutorial Device 2**, et ses alias de propriété doivent être **/tutorial/device/SiteWiseTutorialDevice2/cpu** et **/tutorial/device/SiteWiseTutorialDevice2/memory**.

## Étape 6 : Création et configuration d'un parc d'appareils
<a name="rule-tutorial-create-fleet-asset"></a>

Dans cette procédure, vous créez un actif de parc d'appareils dérivé de votre modèle d'actifs de parc d'appareils. Ensuite, vous associez les actifs de vos appareils individuels à l'actif du parc. Cette association permet aux propriétés métriques de l'actif du parc de compiler et d'analyser les données provenant de plusieurs appareils. Ces données vous fournissent une vue consolidée des performances collectives de l'ensemble de la flotte.

**Pour créer une ressource de parc de périphériques et associer des ressources de périphérique**

1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dans le panneau de navigation de gauche, choisissez **Assets (Ressources)**.

1. Choisissez **Create asset (Créer une ressource)**.

1. Sous **Informations sur le modèle**, choisissez le modèle d'actif de votre parc d'appareils,**SiteWise Tutorial Device Fleet Model**.

1. Sous **Informations sur l'actif**, entrez le nom de votre actif. Par exemple, **SiteWise Tutorial Device Fleet 1**.

1. Choisissez **Create asset (Créer une ressource)**.

1. Pour la nouvelle ressource de parc de périphériques, choisissez **Edit (Modifier)**.

1. Sous **Ressources associées à cette ressource**, choisissez **Ajouter une ressource associée** et procédez comme suit :

   1. Sous **Hierarchy (Hiérarchie)**, choisissez **Device**. Cette hiérarchie identifie la relation hiérarchique entre les ressources de périphériques et de parc de périphériques. Vous avez défini cette hiérarchie dans le modèle de ressource de parc de périphériques précédemment dans ce didacticiel.

   1. Sous **Asset (Ressource)**, sélectionnez votre ressource de périphérique, **SiteWise Tutorial Device 1**.

1. (Facultatif) Si vous avez créé plusieurs actifs d'appareil précédemment, répétez les étapes 8 à 10 pour chaque actif d'appareil que vous avez créé.

1. Choisissez **Enregistrer**.

   Vous devriez maintenant voir les ressources de votre périphérique organisées sous forme de hiérarchie.

## Étape 7 : créer une règle dans AWS IoT Core pour envoyer des données aux actifs de l'appareil
<a name="rule-tutorial-create-iot-rule"></a>

Dans cette procédure, vous établissez une règle dans AWS IoT Core. La règle est conçue pour interpréter les messages de notification provenant de l'ombre de l'appareil et pour transmettre les données aux actifs de votre appareil AWS IoT SiteWise. Chaque fois que le shadow de votre appareil est mis à jour, un message MQTT est AWS IoT envoyé. Vous pouvez créer une règle qui effectue des actions spécifiques lorsque les ombres de périphérique changent en fonction du message MQTT. Dans ce cas, l'objectif est de gérer le message de mise à jour, d'extraire les valeurs des propriétés et de les transmettre aux actifs de votre appareil dans AWS IoT SiteWise. 

**Pour créer une règle avec une AWS IoT SiteWise action**

1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/).

1. Dans le volet de navigation de gauche, choisissez **Routage des messages**, puis sélectionnez **Règles**.

1. Choisissez **Créer une règle**.

1. Entrez un nom et une description pour votre règle, puis choisissez **Next**.

1. Entrez l'instruction SQL suivante, puis choisissez **Next**.

   ```
   SELECT
     *
   FROM
     '$aws/things/+/shadow/update/accepted'
   WHERE
     startsWith(topic(3), "SiteWiseTutorialDevice")
   ```

   Cette instruction de requête de règle fonctionne, car le service d'ombres de périphérique publie les mises à jour des ombres vers `$aws/things/thingName/shadow/update/accepted`. Pour plus d'informations sur le Device Shadow, voir [Device Shadow Service](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) dans le *Guide du AWS IoT développeur*.

   Dans la clause `WHERE`, cette instruction de requête de règle utilise la fonction `topic(3)` pour obtenir le nom de l'objet à partir du troisième segment de la rubrique. Ensuite, l'instruction filtre les périphériques dont les noms ne correspondent pas à ceux des périphériques du didacticiel. Pour plus d'informations sur le AWS IoT SQL, consultez la [référence AWS IoT SQL](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) dans le *Guide du AWS IoT développeur*.

1. Sous **Actions de règle**, choisissez **Envoyer les données des messages aux propriétés des actifs dans AWS IoT SiteWise** et procédez comme suit :

   1. Choisissez **By property alias (Par alias de propriété)**.

   1. Dans **Property alias (Alias de propriété)**, entrez **/tutorial/device/\$1\$1topic(3)\$1/cpu**.

      La `${...}` syntaxe est un modèle de substitution. AWS IoT évalue le contenu à l'intérieur des bretelles. Ce modèle de substitution extrait le nom de l'objet à partir de la rubrique pour créer un alias spécifique à chaque objet. Pour plus d'informations, consultez la section [Modèles de substitution](https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html) dans le *Guide du AWS IoT développeur*.
**Note**  <a name="substitution-template-limitations"></a>
Comme une expression dans un modèle de substitution est évaluée séparément de l'instruction `SELECT`, vous ne pouvez pas utiliser un modèle de substitution pour référencer un alias créé à l'aide d'une clause `AS`. Vous pouvez référencer uniquement les informations présentes dans la charge utile d'origine, en plus des fonctions et opérateurs pris en charge.

   1. Dans **Numéro d'entrée - *facultatif***, entrez**\$1\$1concat(topic(3), "-cpu-", floor(state.reported.timestamp))\$1**.

      L'entrée IDs identifie de manière unique chaque tentative de saisie de valeur. Si une entrée renvoie une erreur, vous pouvez trouver son ID dans l'erreur générée pour résoudre le problème. Le modèle de substitution de cet ID d'entrée combine le nom de l'objet et l'horodatage signalé du périphérique. Par exemple, l'ID d'entrée généré peut ressembler à `SiteWiseTutorialDevice1-cpu-1579808494`.

   1. Dans **Time in seconds (Délai en secondes)**, entrez **\$1\$1floor(state.reported.timestamp)\$1**.

      Ce modèle de substitution calcule le délai en secondes à compter de l'horodatage signalé du périphérique. Dans ce didacticiel, les périphériques signalent l'horodatage en secondes au format d'heure Unix epoch sous la forme d'un nombre à virgule flottante.

   1. Dans **Décalage en nanos - *facultatif***, entrez**\$1\$1floor((state.reported.timestamp % 1) \$1 1E9)\$1**.

      Ce modèle de substitution calcule le décalage en nanoseconde à compter du délai en secondes en convertissant la partie décimale de l'horodatage signalé du périphérique.
**Note**  
AWS IoT SiteWise nécessite que vos données aient un horodatage actuel en temps réel à l'époque Unix. Si vos périphériques n'indiquent pas l'heure avec précision, vous pouvez obtenir l'heure actuelle à partir du moteur de règles AWS IoT avec [timestamp()](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html#iot-function-timestamp). Cette fonction signale le délai en millisecondes. Vous devez donc remplacer les paramètres de délai de l'action de règle par les valeurs suivantes :  
Dans **Time in seconds (Délai en secondes)**, entrez **\$1\$1floor(timestamp() / 1E3)\$1**.
Dans **Offset in nanos (Décalage en nanosecondes)**, entrez **\$1\$1(timestamp() % 1E3) \$1 1E6\$1**.

   1. Dans **Data type (Type de données)**, choisissez **Double**.

      Ce type de données doit correspondre au type de données de la propriété de ressource que vous avez définie dans le modèle de ressource.

   1. Dans **Value (Valeur)**, entrez **\$1\$1state.reported.cpu\$1**. Dans les modèles de substitution, vous utilisez l'opérateur `.` pour récupérer une valeur à partir d'une structure JSON.

   1. Choisissez **Add entry (Ajouter une entrée)** pour ajouter une entrée pour la propriété d'utilisation de la mémoire et suivez à nouveau les étapes ci-dessous pour cette propriété :

      1. Choisissez **By property alias (Par alias de propriété)**.

      1. Dans **Property alias (Alias de propriété)**, entrez **/tutorial/device/\$1\$1topic(3)\$1/memory**.

      1. Dans **Numéro d'entrée - *facultatif***, entrez**\$1\$1concat(topic(3), "-memory-", floor(state.reported.timestamp))\$1**.

      1. Dans **Time in seconds (Délai en secondes)**, entrez **\$1\$1floor(state.reported.timestamp)\$1**.

      1. Dans **Décalage en nanos - *facultatif***, entrez**\$1\$1floor((state.reported.timestamp % 1) \$1 1E9)\$1**.

      1. Dans **Data type (Type de données)**, choisissez **Double**.

      1. Dans **Value (Valeur)**, entrez **\$1\$1state.reported.memory\$1**.

   1. Sous **Rôle IAM**, choisissez **Créer un nouveau rôle** pour créer un rôle IAM pour cette action de règle. Ce rôle permet AWS IoT de transférer les données vers les propriétés de votre parc d'appareils et de sa hiérarchie d'actifs.

   1. Entrez un nom de rôle et choisissez **Create**.

1. (Facultatif) Configurez une action d'erreur que vous pouvez utiliser pour dépanner la règle. Pour de plus amples informations, veuillez consulter [Résoudre les problèmes liés à une règle ()AWS IoT SiteWise](troubleshoot-rule.md#rule-tutorial-troubleshoot-rule).

1. Choisissez **Suivant**.

1. Vérifiez les paramètres et choisissez **Créer** pour créer la règle.

## Étape 8 : Exécuter le script client de l'appareil
<a name="rule-tutorial-run-script"></a>

Dans le cadre de ce didacticiel, vous n'utilisez pas un appareil réel pour communiquer des données. Au lieu de cela, vous exécutez un script pour mettre à jour l'ombre AWS IoT de l'appareil en fonction de l'utilisation du processeur et de la mémoire afin d'imiter les données réelles des capteurs. Pour exécuter le script, vous devez d'abord installer les Python packages requis. Dans cette procédure, vous installez les Python packages requis, puis vous exécutez le script client de l'appareil.

**Pour configurer et exécuter le script client de périphérique**

1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/).

1. En bas du volet de navigation de gauche, choisissez **Settings (Paramètres)**.

1. Enregistrez le point de terminaison personnalisé pour l'utiliser avec le script client de périphérique. Vous utiliserez ce point de terminaison pour interagir avec les ombres de votre objet. Ce point de terminaison est unique à votre compte dans la région actuelle.

   Le point de terminaison personnalisé devrait ressembler à l'exemple suivant.

   ```
   identifier.iot.region.amazonaws.com
   ```

1. Ouvrez une ligne de commande et exécutez la commande suivante pour accéder au répertoire du didacticiel que vous avez créé précédemment.

   ```
   cd iot-sitewise-rule-tutorial
   ```

1. Exécutez la commande suivante pour installer le kit Kit SDK des appareils AWS IoT pour Python.

   ```
   pip3 install AWSIoTPythonSDK
   ```

   Pour plus d'informations, consultez [Kit SDK des appareils AWS IoT pour Python](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html#iot-python-sdk)le *guide du AWS IoT développeur*

1. Exécutez la commande suivante pour installer psutil, bibliothèque d'utilitaires système et de processus multiplateformes.

   ```
   pip3 install psutil
   ```

   Pour plus d'informations, consultez [psutil](https://pypi.org/project/psutil/) dans l'*index des packages Python*.

1. Créez un fichier appelé `thing_performance.py` dans le répertoire `iot-sitewise-rule-tutorial`, puis copiez le code Python suivant dans le fichier.

   ```
   import AWSIoTPythonSDK.MQTTLib as AWSIoTPyMQTT
   
   import json
   import psutil
   import argparse
   import logging
   import time
   
   
   # Configures the argument parser for this program.
   def configureParser():
       parser = argparse.ArgumentParser()
       parser.add_argument(
           "-e",
           "--endpoint",
           action="store",
           required=True,
           dest="host",
           help="Your AWS IoT custom endpoint",
       )
       parser.add_argument(
           "-r",
           "--rootCA",
           action="store",
           required=True,
           dest="rootCAPath",
           help="Root CA file path",
       )
       parser.add_argument(
           "-c",
           "--cert",
           action="store",
           required=True,
           dest="certificatePath",
           help="Certificate file path",
       )
       parser.add_argument(
           "-k",
           "--key",
           action="store",
           required=True,
           dest="privateKeyPath",
           help="Private key file path",
       )
       parser.add_argument(
           "-p",
           "--port",
           action="store",
           dest="port",
           type=int,
           default=8883,
           help="Port number override",
       )
       parser.add_argument(
           "-n",
           "--thingName",
           action="store",
           required=True,
           dest="thingName",
           help="Targeted thing name",
       )
       parser.add_argument(
           "-d",
           "--requestDelay",
           action="store",
           dest="requestDelay",
           type=float,
           default=1,
           help="Time between requests (in seconds)",
       )
       parser.add_argument(
           "-v",
           "--enableLogging",
           action="store_true",
           dest="enableLogging",
           help="Enable logging for the AWS IoT Device SDK for Python",
       )
       return parser
   
   
   # An MQTT shadow client that uploads device performance data to AWS IoT at a regular interval.
   class PerformanceShadowClient:
       def __init__(
           self,
           thingName,
           host,
           port,
           rootCAPath,
           privateKeyPath,
           certificatePath,
           requestDelay,
       ):
           self.thingName = thingName
           self.host = host
           self.port = port
           self.rootCAPath = rootCAPath
           self.privateKeyPath = privateKeyPath
           self.certificatePath = certificatePath
           self.requestDelay = requestDelay
   
       # Updates this thing's shadow with system performance data at a regular interval.
       def run(self):
           print("Connecting MQTT client for {}...".format(self.thingName))
           mqttClient = self.configureMQTTClient()
           mqttClient.connect()
           print("MQTT client for {} connected".format(self.thingName))
           deviceShadowHandler = mqttClient.createShadowHandlerWithName(
               self.thingName, True
           )
   
           print("Running performance shadow client for {}...\n".format(self.thingName))
           while True:
               performance = self.readPerformance()
               print("[{}]".format(self.thingName))
               print("CPU:\t{}%".format(performance["cpu"]))
               print("Memory:\t{}%\n".format(performance["memory"]))
               payload = {"state": {"reported": performance}}
               deviceShadowHandler.shadowUpdate(
                   json.dumps(payload), self.shadowUpdateCallback, 5
               )
               time.sleep(args.requestDelay)
   
       # Configures the MQTT shadow client for this thing.
       def configureMQTTClient(self):
           mqttClient = AWSIoTPyMQTT.AWSIoTMQTTShadowClient(self.thingName)
           mqttClient.configureEndpoint(self.host, self.port)
           mqttClient.configureCredentials(
               self.rootCAPath, self.privateKeyPath, self.certificatePath
           )
           mqttClient.configureAutoReconnectBackoffTime(1, 32, 20)
           mqttClient.configureConnectDisconnectTimeout(10)
           mqttClient.configureMQTTOperationTimeout(5)
           return mqttClient
   
       # Returns the local device's CPU usage, memory usage, and timestamp.
       def readPerformance(self):
           cpu = psutil.cpu_percent()
           memory = psutil.virtual_memory().percent
           timestamp = time.time()
           return {"cpu": cpu, "memory": memory, "timestamp": timestamp}
   
       # Prints the result of a shadow update call.
       def shadowUpdateCallback(self, payload, responseStatus, token):
           print("[{}]".format(self.thingName))
           print("Update request {} {}\n".format(token, responseStatus))
   
   
   # Configures debug logging for the AWS IoT Device SDK for Python.
   def configureLogging():
       logger = logging.getLogger("AWSIoTPythonSDK.core")
       logger.setLevel(logging.DEBUG)
       streamHandler = logging.StreamHandler()
       formatter = logging.Formatter(
           "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
       )
       streamHandler.setFormatter(formatter)
       logger.addHandler(streamHandler)
   
   
   # Runs the performance shadow client with user arguments.
   if __name__ == "__main__":
       parser = configureParser()
       args = parser.parse_args()
       if args.enableLogging:
           configureLogging()
       thingClient = PerformanceShadowClient(
           args.thingName,
           args.host,
           args.port,
           args.rootCAPath,
           args.privateKeyPath,
           args.certificatePath,
           args.requestDelay,
       )
       thingClient.run()
   ```

1. Exécutez **thing\$1performance.py** depuis la ligne de commande avec les paramètres suivants :
   + `-n`, `--thingName` — Le nom de votre objet, tel que**SiteWiseTutorialDevice1**.
   + `-e`, `--endpoint` — Votre point de AWS IoT terminaison personnalisé que vous avez enregistré plus tôt dans cette procédure.
   + `-r`, `--rootCA` — Le chemin d'accès à votre certificat CA AWS IoT racine.
   + `-c`, `--cert` — Le chemin d'accès à votre certificat d' AWS IoT objet.
   + `-k`, `--key` — Le chemin d'accès à la clé privée de votre certificat d' AWS IoT objet.
   + `-d`, `--requestDelay` — (Facultatif) Temps d'attente en secondes entre chaque mise à jour instantanée de l'appareil. Par défaut, il correspond à 1 seconde.
   + `-v`, `--enableLogging` — (Facultatif) Si ce paramètre est présent, le script imprime des messages de débogage à partir du Kit SDK des appareils AWS IoT pour Python.

   La commande doit être similaire à l'exemple suivant :

   ```
   python3 thing_performance.py \
     --thingName SiteWiseTutorialDevice1 \
     --endpoint identifier.iot.region.amazonaws.com \
     --rootCA AmazonRootCA1.pem \
     --cert device1/thing-id-certificate.pem.crt \
     --key device1/thing-id-private.pem.key
   ```

   Si vous exécutez le script pour d'autres AWS IoT éléments, mettez à jour le nom de l'objet et le répertoire des certificats en conséquence.

1. Essayez d'ouvrir et de fermer des programmes sur votre appareil pour voir comment évolue l'utilisation de l'UC et de la mémoire. Le script imprime chaque lecture de l'utilisation de l'UC et de la mémoire. Si le script charge des données vers le service d'ombres de périphérique avec succès, la sortie du script doit ressembler à l'exemple suivant.

   ```
   [SiteWiseTutorialDevice1]
   CPU:    24.6%
   Memory: 85.2%
   
   [SiteWiseTutorialDevice1]
   Update request e6686e44-fca0-44db-aa48-3ca81726f3e3 accepted
   ```

1. Procédez comme suit pour vérifier que le script met à jour l'ombre du périphérique :

   1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/).

   1. Dans le volet de navigation de gauche, choisissez **Tous les appareils**, puis **Objets**.

   1. Choisissez votre truc, **SiteWiseTutorialDevice**.

   1. Choisissez l'onglet **Device Shadows**, choisissez **Classic Shadow** et vérifiez que l'**état Shadow** ressemble à l'exemple suivant.

      ```
      {
        "reported": {
          "cpu": 24.6,
          "memory": 85.2,
          "timestamp": 1579567542.2835066
        }
      }
      ```

      Si l'état fantôme de votre objet est vide ou ne ressemble pas à celui de l'exemple précédent, vérifiez que le script est en cours d'exécution et que vous y êtes connecté correctement AWS IoT. Si le script continue à expirer lors de la connexion à AWS IoT, vérifiez que votre [politique d'objets](#ingestion-tutorial-create-iot-policy) est configurée conformément à ce didacticiel.

1. Procédez comme suit pour vérifier que l'action de règle envoie des données à AWS IoT SiteWise :

   1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

   1. Dans le panneau de navigation de gauche, choisissez **Assets (Ressources)**.

   1. Cliquez sur la flèche à côté de l'actif de votre parc d'appareils (**SiteWise Tutorial Device Fleet 1**) pour étendre sa hiérarchie d'actifs, puis choisissez l'actif de votre parc d'appareils (**SiteWise Tutorial Device1**).

   1. Choisissez **Measurements (Mesures)**.

   1. Vérifiez que les cellules **Latest value (Valeur la plus récente)** ont des valeurs pour les propriétés **CPU Usage** et **Memory Usage**.  
![\[Capture d'écran avec « Mesures » surlignées.\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/images/rule-ingestion/sitewise-view-measurement-values-console.png)

   1. Si les propriétés **CPU Usage** et **Memory Usage** n'ont pas les dernières valeurs, actualisez la page. Si aucune ligne n'apparaît après quelques minutes, consultez [Résoudre les problèmes liés à une règle ()AWS IoT SiteWise](troubleshoot-rule.md#rule-tutorial-troubleshoot-rule).

Vous avez terminé ce didacticiel. Si vous souhaitez explorer les visualisations en direct de vos données, vous pouvez configurer un portail dans AWS IoT SiteWise Monitor. Pour de plus amples informations, veuillez consulter [Surveillez les données avec AWS IoT SiteWise Monitor](monitor-data.md). Sinon, vous pouvez appuyer sur **CTRL\$1C** dans votre invite de commandes pour arrêter le script client du périphérique. Il est peu probable que le programme Python envoie suffisamment de messages pour générer des frais, mais il est recommandé d'arrêter le programme une fois que vous avez terminé.

## Étape 9 : Nettoyer les ressources après le didacticiel
<a name="rule-tutorial-clean-up-resources"></a>

**Note**  
Les ressources créées dans ce didacticiel sont requises pour le didacticiel [Intégrer des données dans SiteWise Edge](integrate_sitewise_edge_mqtt.md). Ne nettoyez pas les ressources au cours de cette étape si vous prévoyez de la terminer.

Après avoir terminé le didacticiel sur l'ingestion de données provenant d' AWS IoT objets, nettoyez vos ressources pour éviter d'encourir des frais supplémentaires.<a name="rule-tutorial-delete-assets"></a>

**Pour supprimer des actifs hiérarchiques dans AWS IoT SiteWise**

1. Accédez à la [AWS IoT SiteWise console](https://console.aws.amazon.com/iotsitewise/)

1. Dans le panneau de navigation de gauche, choisissez **Assets (Ressources)**.

1. Lorsque vous supprimez des actifs AWS IoT SiteWise, vous devez d'abord les dissocier.

   Procédez comme suit pour dissocier les ressources de périphérique de votre parc de périphériques :

   1. Choisissez l'actif de votre parc d'appareils (**SiteWise Tutorial Device Fleet 1**).

   1. Choisissez **Modifier**.

   1. Sous **Assets associated to this asset (Ressources associées à cette ressource)**, choisissez **Disassociate (Dissocier)** pour chaque ressource de périphérique associée à cette ressource de parc de périphériques.

   1. Choisissez **Enregistrer**.

      Désormais, les ressources de votre périphérique ne devraient plus être organisées sous forme de hiérarchie.

1. Choisissez votre ressource de périphérique (**SiteWise Tutorial Device 1**).

1. Sélectionnez **Delete (Supprimer)**.

1. Dans le champ de confirmation, entrez, **Delete**, puis choisissez **Delete (Supprimer)**.

1. Répétez les étapes 4 à 6 pour chaque actif de l'appareil et pour le parc d'appareils (**SiteWise Tutorial Device Fleet 1**).

**Pour supprimer des modèles d'actifs hiérarchiques dans AWS IoT SiteWise**

1. Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Si vous ne l'avez pas déjà fait, supprimez vos périphériques et les ressources de votre parc de périphériques. Pour plus d'informations, consultez la [procédure précédente](#rule-tutorial-delete-assets). Vous ne pouvez pas supprimer un modèle s'il existe des ressources créées à partir de ce modèle.

1. Dans le volet de navigation de gauche, choisissez **Modèles**.

1. Choisissez votre modèle de ressource de parc de périphériques (**SiteWise Tutorial Device Fleet Model**).

   Lorsque vous supprimez des modèles d'actifs hiérarchiques, commencez par supprimer d'abord le modèle d'actif parent.

1. Sélectionnez **Delete (Supprimer)**.

1. Dans le champ de confirmation, entrez, **Delete**, puis choisissez **Delete (Supprimer)**.

1. Répétez les étapes 4 à 6 pour le modèle de ressource de périphérique (**SiteWise Tutorial Device Model Model**).

**Pour désactiver ou supprimer une règle dans AWS IoT Core**

1. Accédez à la [console AWS IoT](https://console.aws.amazon.com/iot/).

1. Dans le volet de navigation de gauche, choisissez **Routage des messages**, puis sélectionnez **Règles**.

1. Sélectionnez votre règle, puis cliquez **sur Supprimer**.

1. Dans la boîte de dialogue de confirmation, entrez le nom de la règle, puis choisissez **Supprimer**.