

AWS L'IoT n' FleetWise est plus ouvert aux nouveaux clients. FleetWise Les clients AWS IoT existants peuvent continuer à utiliser le service. Le [guide pour la mobilité connectée AWS fournit des conseils sur](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/) la manière de développer et de déployer des services modulaires pour les solutions de mobilité connectée qui peuvent être utilisées pour atteindre des capacités équivalentes à celles de AWS l'IoT FleetWise.

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.

# Activer et désactiver la collecte de données d'état à l'aide de modèles d'état
<a name="start-stop-data-ingestion"></a>

**Important**  
L'accès à certaines FleetWise fonctionnalités de AWS l'IoT est actuellement restreint. Pour de plus amples informations, veuillez consulter [AWS Disponibilité des régions et des fonctionnalités dans AWS l'IoT FleetWise](fleetwise-regions.md).

Les sections suivantes décrivent comment activer et désactiver l'ingestion de données à l'aide de modèles d'état à l'aide du AWS CLI.

**Important**  
Avant de commencer, assurez-vous que vous avez déjà créé un [modèle d'état](state-templates.md) et que vous l'avez associé, ainsi que sa stratégie de mise à jour, à un véhicule.

Vous devez activer un modèle d'état pour que l'agent Edge puisse envoyer des mises à jour des signaux au cloud.

Pour effectuer ces opérations avec des modèles d'état, créez d'abord une ressource de commande, puis lancez l'exécution des commandes sur le véhicule. La section suivante décrit comment utiliser cette API et comment activer et désactiver l'ingestion de données.

**Topics**
+ [Utilisation de l’API `CreateCommand`](#start-stop-ingestion-create-command)
+ [Exemple : activation d'un modèle d'état](#start-stop-ingestion-activate-template)
+ [Exemple : désactiver un modèle d'état](#start-stop-ingestion-deactivate-template)

## Utilisation de l’API `CreateCommand`
<a name="start-stop-ingestion-create-command"></a>

Créez une ressource de commande dans l'espace de noms `AWS-IoTFleetwise` « » et utilisez les paramètres suivants lorsque vous créez ou envoyez une ressource de commande pour un modèle d'état :
+ `$stateTemplate.name`— Nom du modèle d'état sur lequel effectuer l'opération. Le modèle d'état doit être appliqué au véhicule pour que vous puissiez effectuer une opération. Pour de plus amples informations, veuillez consulter [Associer un modèle FleetWise d'état AWS IoT à un véhicule](state-templates.md#apply-state-templates).
+ `$stateTemplate.operation`— Opération à effectuer sur le modèle d'état. Utilisez l'une des valeurs suivantes pour ce paramètre :
  + `activate`— L'agent Edge commence à envoyer des mises à jour des signaux au cloud en fonction de ce `stateTemplateUpdateStrategy` que vous avez spécifié (en cas de modification ou périodique) lorsque vous avez appliqué le modèle d'état au véhicule. Pour de plus amples informations, veuillez consulter [Associer un modèle FleetWise d'état AWS IoT à un véhicule](state-templates.md#apply-state-templates).

    Vous pouvez également définir un délai de désactivation automatique du modèle d'état pour arrêter les mises à jour après une période spécifiée. Si aucune heure de désactivation automatique n'est fournie, les modèles d'état continueront à envoyer des mises à jour jusqu'à ce qu'un appel de désactivation soit émis. 

    Dès réception de la `activate` commande, l'appareil doit envoyer les signaux spécifiés dans le modèle d'état conformément à la stratégie de mise à jour. AWS L'IoT FleetWise recommande que lorsqu'une commande d'activation est reçue par l'appareil, le premier message qu'il envoie contienne un instantané de tous les signaux du modèle d'état. Les messages suivants doivent être envoyés conformément à la stratégie de mise à jour.
  + `deactivate`— L'agent Edge arrête d'envoyer des mises à jour des signaux au cloud.
  + `fetchSnapshot`— L'agent Edge envoie un instantané unique des signaux définis dans le modèle d'état, indépendamment de ceux que `stateTemplateUpdateStrategy` vous avez spécifiés lorsque vous avez appliqué le modèle d'état au véhicule. 
+ (Facultatif) `$stateTemplate.deactivateAfterSeconds` — Le modèle d'état est automatiquement désactivé après le délai spécifié. Ce paramètre ne peut être utilisé que lorsque sa valeur est « activer ». `$stateTemplate.operation` Si ce paramètre n'est pas spécifié, ou si la valeur de ce paramètre est 0, l'agent Edge continue d'envoyer des mises à jour des signaux au cloud jusqu'à ce qu'une opération de « désactivation » soit reçue pour le modèle d'état. Le modèle d'état n'est jamais automatiquement désactivé.

  Valeur minimale : 0, valeur maximale : 4294967295.

**Note**  
L'API indique le succès en réponse à une demande d'activation pour un modèle déjà actif.
L'API indique le succès en réponse à une demande de désactivation pour un modèle déjà en état de désactivation.
La demande la plus récente que vous faites sur un modèle d'état est celle qui prend effet. Par exemple, si vous demandez la désactivation d'un modèle d'état dans une heure, puis que vous faites une deuxième demande pour que ce même modèle soit désactivé dans quatre heures, la désactivation de quatre heures prend effet car il s'agit de la demande la plus récente. 

**Important**  
Une exception de validation peut se produire dans l'un des scénarios suivants :  
Un modèle d'état qui n'est pas fourni `ASSOCIATED` avec un véhicule est fourni.
Une demande est faite pour activer un modèle d'état mais celui-ci ne figurait pas `DEPLOYED` sur un véhicule.
Une demande est envoyée à un modèle d'État mais elle se trouve `DELETED` sur un véhicule.

## Exemple : activation d'un modèle d'état
<a name="start-stop-ingestion-activate-template"></a>

Pour activer un modèle d'état, créez d'abord une ressource de commande. Vous pouvez ensuite envoyer la commande suivante au véhicule sur lequel vous souhaitez activer le modèle d'état. Cet exemple montre comment vous pouvez spécifier des valeurs par défaut pour les paramètres lors de la création d'une commande. Ces paramètres et leurs valeurs sont utilisés lors du démarrage de l'exécution de la commande pour activer le modèle d'état.

1. 

**Création d'une ressource de commande**

   Avant de pouvoir envoyer une commande au véhicule, vous devez créer une ressource de commande. Vous pouvez spécifier des valeurs alternatives pour les paramètres obligatoires lorsque vous envoyez la commande au véhicule. Pour de plus amples informations, veuillez consulter [Création d'une ressource de commande](create-manage-remote-command-cli.md#create-remote-command-cli).
**Important**  
`$stateTemplate.name`et `$stateTemplate.operation` les paramètres doivent être fournis sous forme de chaîne de données. Si un autre type de données est fourni, ou si l'un de ces deux paramètres est absent, l'exécution de la commande échoue avec une exception de validation. Le `$stateTemplate.deactivateAfterSeconds` paramètre doit être fourni sous forme de type de `Long` données.

   ```
   aws iot create-command \
       --description "This command activates a state template on a vehicle"
       --command-id ActivateStateTemplate \
       --display-name "Activate State Template" \
       --namespace AWS-IoTFleetWise \
       --mandatory-parameters '[
       {
           "name": "$stateTemplate.name",
           "defaultValue": {"S": "ST123"}
       },
       {
           "name": "$stateTemplate.operation",
           "defaultValue": {"S": "activate"}
       },
       {
           "name": "$stateTemplate.deactivateAfterSeconds",
           "defaultValue": {"L": "120"}
       } 
   ]'
   ```

1. 

**Lancer l'exécution de la commande sur le véhicule**

   Une fois la commande créée, envoyez-la au véhicule. Si vous n'avez pas spécifié de valeurs pour les paramètres obligatoires lors de la création de la ressource de commande, vous devez les spécifier maintenant. Pour de plus amples informations, veuillez consulter [Envoyer une commande (AWS CLI)](send-monitor-remote-command-cli.md#send-remote-command-cli).
**Important**  
Assurez-vous d'utiliser le point de terminaison de l'API du plan de données des AWS IoT tâches spécifique au compte pour le fonctionnement de l'API.

   ```
   aws iot-jobs-data start-command-execution \
       --endpoint-url <endpoint-url> \
       --command-arn arn:aws:iot:{{region}}:{{111122223333}}:command/ActivateStateTemplate \
       --target-arn arn:aws:iot:{{region}}:{{111122223333}}:thing/{{<VEHICLE_NAME>}}
   ```

1. 

**Récupère le statut de l'opération du modèle d'état**

   Après avoir lancé l'exécution de la commande, vous pouvez utiliser l'`GetCommandExecution`API pour récupérer le modèle d'état.

   ```
   aws iot get-command-execution --execution-id {{<EXECUTION_ID>}} 
   ```

## Exemple : désactiver un modèle d'état
<a name="start-stop-ingestion-deactivate-template"></a>

Pour désactiver un modèle d'état, créez d'abord une ressource de commande. Vous pouvez ensuite envoyer la commande suivante au véhicule sur lequel vous souhaitez désactiver le modèle d'état. Cet exemple montre comment vous pouvez spécifier des valeurs par défaut pour les paramètres lors de la création d'une commande. Ces paramètres et leurs valeurs sont utilisés lors du démarrage de l'exécution de la commande pour désactiver le modèle d'état.

1. 

**Création d'une ressource de commande**

   Avant de pouvoir envoyer une commande au véhicule, vous devez créer une ressource de commande. Vous pouvez spécifier des valeurs alternatives pour les paramètres obligatoires lorsque vous envoyez la commande au véhicule. Pour de plus amples informations, veuillez consulter [Création d'une ressource de commande](create-manage-remote-command-cli.md#create-remote-command-cli).

   ```
   aws iot create-command \
       --description "This command deactivates a state template on a vehicle"
       --command-id DeactivateStateTemplate \
       --display-name "Deactivate State Template" \
       --namespace AWS-IoTFleetWise \
       --mandatory-parameters '[
       {
           "name": "$stateTemplate.name",
           "defaultValue": {"S": "ST123"}
       },
       {
           "name": "$stateTemplate.operation",
           "defaultValue": {"S": "deactivate"}
       }    
   ]'
   ```

1. 

**Lancer l'exécution de la commande sur le véhicule**

   Une fois la commande créée, envoyez-la au véhicule. Si vous n'avez pas spécifié de valeurs pour les paramètres obligatoires lors de la création de la ressource de commande, vous devez les spécifier maintenant. Pour de plus amples informations, veuillez consulter [Envoyer une commande (AWS CLI)](send-monitor-remote-command-cli.md#send-remote-command-cli).

   ```
   aws iot-jobs-data start-command-execution \
       --endpoint-url <endpoint-url> \
       --command-arn arn:aws:iot:{{region}}:{{111122223333}}:command/DeactivateStateTemplate \
       --target-arn arn:aws:iot:{{region}}:{{111122223333}}:thing/{{<VEHICLE_NAME>}}
   ```

1. 

**Récupère le statut de l'opération du modèle d'état**

   Après avoir lancé l'exécution de la commande, vous pouvez utiliser l'`GetCommandExecution`API pour récupérer le modèle d'état.

   ```
   aws iot get-command-execution  --execution-id {{<EXECUTION_ID>}} 
   ```