

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.

# Définissez des alarmes sur les modèles d'actifs dans AWS IoT SiteWise
<a name="define-alarms"></a>

Les modèles d'actifs favorisent la standardisation de vos données industrielles et de vos alarmes. Vous pouvez définir des définitions d'alarmes sur les modèles d'actifs afin de standardiser les alarmes pour tous les actifs en fonction d'un modèle d'actif.

Vous utilisez des *modèles d'actifs composites* pour définir des alarmes sur les modèles d'actifs. Les modèles d'actifs composites sont des modèles d'actifs qui normalisent un ensemble spécifique de propriétés sur un autre modèle d'actif. Les modèles d'actifs composites garantissent la présence de certaines propriétés sur un modèle d'actif. Les alarmes ont des propriétés de type, d'état et (facultatives) de source, de sorte que le modèle composite d'alarme garantit l'existence de ces propriétés.

Chaque modèle d'actif composite possède un type qui définit les propriétés de ce modèle composite. Les modèles composites d'alarme définissent les propriétés du type d'alarme, de l'état de l'alarme et de la source d'alarme (en option). Lorsque vous créez un actif à partir d'un modèle d'actif avec des modèles composites, l'actif inclut les propriétés du modèle composite ainsi que les propriétés que vous spécifiez dans le modèle d'actif.

Chaque propriété d'un modèle composite doit porter le nom qui l'identifie pour son type de modèle composite. Les propriétés du modèle composite prennent en charge les propriétés contenant des types de données complexes. Ces propriétés ont le type de `STRUCT` données et un `dataTypeSpec` trait qui spécifie le type de données complexe de la propriété. Les propriétés de type de données complexes contiennent des données JSON sérialisées sous forme de chaînes.

Les modèles composites d'alarme présentent les propriétés suivantes. Chaque propriété doit porter le nom qui l'identifie pour ce type de modèle composite.

**Type d'alarme**  
Type d'alarme. Spécifiez l’un des éléments suivants :  
+ `IOT_EVENTS`— Une AWS IoT Events alarme. AWS IoT SiteWise envoie des données AWS IoT Events à pour évaluer l'état de cette alarme. Vous devez spécifier la propriété de la source d'alarme pour définir le modèle AWS IoT Events d'alarme pour cette définition d'alarme.
**Note**  
Avis de fin de support : AWS fin du support pour AWS IoT Events. Pour plus d'informations, voir [AWS IoT Events fin du support](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).
+ `EXTERNAL`— Une alarme externe. Vous ingérez l'état de l'alarme sous forme de mesure.
Nom de la propriété : `AWS/ALARM_TYPE`  
Type de propriété : [attribut](attributes.md)  
Type de données : `STRING`

**État de l'alarme**  
Les données chronologiques relatives à l'état de l'alarme. Il s'agit d'un objet sérialisé sous la forme d'une chaîne contenant l'état et d'autres informations relatives à l'alarme. Pour de plus amples informations, veuillez consulter [Propriétés de l'état de l'alarme](industrial-alarms.md#alarm-state-properties).  
Nom de la propriété : `AWS/ALARM_STATE`  
Type de propriété : [mesure](measurements.md)  
Type de données : `STRUCT`  
Type de structure de données : `AWS/ALARM_STATE`

**Source d'alarme**  
(Facultatif) Le nom de ressource Amazon (ARN) de la ressource qui évalue l'état de l'alarme. Pour les AWS IoT Events alarmes, il s'agit de l'ARN du modèle d'alarme.  
Nom de la propriété : `AWS/ALARM_SOURCE`  
Type de propriété : [attribut](attributes.md)  
Type de données : `STRING`

**Example Exemple de modèle composite d'alarme**  
Le modèle d'actif suivant représente une chaudière dotée d'une alarme pour surveiller sa température. AWS IoT SiteWise envoie les données de température AWS IoT Events pour détecter l'alarme.  

```
{
  "assetModelName": "Boiler",
  "assetModelDescription": "A boiler that alarms when its temperature exceeds its limit.",
  "assetModelProperties": [
    {
      "name": "Temperature",
      "dataType": "DOUBLE",
      "unit": "Celsius",
      "type": {
        "measurement": {}
      }
    },
    {
      "name": "High Temperature",
      "dataType": "DOUBLE",
      "unit": "Celsius",
      "type": {
        "attribute": {
          "defaultValue": "105.0"
        }
      }
    }
  ],
  "assetModelCompositeModels": [
    {
      "name": "BoilerTemperatureHighAlarm",
      "type": "AWS/ALARM",
      "properties": [
        {
          "name": "AWS/ALARM_TYPE",
          "dataType": "STRING",
          "type": {
            "attribute": {
              "defaultValue": "IOT_EVENTS"
            }
          }
        },
        {
          "name": "AWS/ALARM_STATE",
          "dataType": "STRUCT",
          "dataTypeSpec": "AWS/ALARM_STATE",
          "type": {
            "measurement": {}
          }
        },
        {
          "name": "AWS/ALARM_SOURCE",
          "dataType": "STRING",
          "type": {
            "attribute": {}
          }
        }
      ]
    }
  ]
}
```

**Topics**
+ [Exigences relatives aux notifications d'alarme dans AWS IoT SiteWise](iot-events-alarm-notification-requirements.md)
+ [Définissez des AWS IoT Events alarmes pour AWS IoT SiteWise](define-iot-events-alarms.md)
+ [Définissez les alarmes externes dans AWS IoT SiteWise](define-external-alarms.md)

# Exigences relatives aux notifications d'alarme dans AWS IoT SiteWise
<a name="iot-events-alarm-notification-requirements"></a>

AWS IoT Events utilise une AWS Lambda fonction de votre AWS compte pour envoyer des notifications d'alarme. Vous devez créer cette fonction Lambda dans la même AWS région que vos alarmes pour activer les notifications d'alarme. Cette fonction Lambda utilise [Amazon Simple Notification Service (Amazon SNS) pour envoyer des notifications par SMS et Amazon](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) [Simple Email Service (Amazon SES) pour envoyer des notifications par e-mail.](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) Lorsque vous créez l' AWS IoT Events alarme, vous configurez les protocoles et les paramètres utilisés par l'alarme pour envoyer des notifications.

**Note**  
Avis de fin de support : AWS fin du support pour AWS IoT Events. Pour plus d'informations, voir [AWS IoT Events fin du support](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

AWS IoT Events fournit un modèle de AWS CloudFormation pile que vous pouvez utiliser pour créer cette fonction Lambda dans votre compte. Pour plus d'informations, consultez la section [Fonction Lambda de notification d'alarme](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) dans le Guide du *AWS IoT Events développeur*.

# Définissez des AWS IoT Events alarmes pour AWS IoT SiteWise
<a name="define-iot-events-alarms"></a>

**Note**  
Avis de fin de support : AWS fin du support pour AWS IoT Events. Pour plus d'informations, voir [AWS IoT Events fin du support](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

Lorsque vous créez une AWS IoT Events alarme, AWS IoT SiteWise envoie les valeurs des propriétés des actifs AWS IoT Events à pour évaluer l'état de l'alarme. AWS IoT Events les définitions des alarmes dépendent du modèle d'alarme dans lequel vous les définissez AWS IoT Events. Pour définir une AWS IoT Events alarme sur un modèle d'actif, vous définissez un modèle composite d'alarme qui spécifie le modèle AWS IoT Events d'alarme comme propriété de source d'alarme.

AWS IoT Events les alarmes dépendent d'entrées telles que les seuils d'alarme et les paramètres de notification des alarmes. Vous définissez ces entrées sous forme d'attributs dans le modèle d'actif. Vous pouvez ensuite personnaliser ces entrées pour chaque ressource en fonction du modèle. La AWS IoT SiteWise console peut créer ces attributs pour vous. Si vous définissez des alarmes avec l'API AWS CLI or, vous devez définir manuellement ces attributs sur le modèle d'actif.

Vous pouvez également définir d'autres actions qui se produisent lorsque votre alarme est détectée, telles que des actions de notification d'alarme personnalisées. Par exemple, vous pouvez configurer une action qui envoie une notification push à une rubrique Amazon SNS. Pour plus d'informations sur les actions que vous pouvez définir, consultez la section [Utilisation d'autres AWS services](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-other-aws-services.html) dans le *Guide du AWS IoT Events développeur*.

Lorsque vous mettez à jour ou supprimez un modèle d'actif, vous AWS IoT SiteWise pouvez vérifier si un modèle d'alarme AWS IoT Events surveille une propriété d'actif associée à ce modèle d'actif. Cela vous empêche de supprimer une propriété de ressource actuellement AWS IoT Events utilisée par une alarme. Pour activer cette fonctionnalité dans AWS IoT SiteWise, vous devez avoir l'`iotevents:ListInputRoutings`autorisation. Cette autorisation permet AWS IoT SiteWise d'appeler l'opération d'[ListInputRoutings](https://docs.aws.amazon.com/iotevents/latest/apireference/API_ListInputRoutings.html)API prise en charge par AWS IoT Events. Pour de plus amples informations, veuillez consulter [ListInputRoutings Autorisation (facultative)](alarms-iam-permissions.md#alarms-listInputRoutings-permissions).

**Note**  
La fonction de notification d'alarme n'est pas disponible dans la région Chine (Pékin).

**Topics**
+ [Définir une AWS IoT Events alarme (AWS IoT SiteWise console)](#define-iot-events-alarm-console)
+ [Définir une AWS IoT Events alarme (AWS IoT Events console)](#define-iot-events-alarm-console-ite-console)
+ [Définir une AWS IoT Events alarme (AWS CLI)](#define-iot-events-alarm-cli)

## Définir une AWS IoT Events alarme (AWS IoT SiteWise console)
<a name="define-iot-events-alarm-console"></a>

Vous pouvez utiliser la AWS IoT SiteWise console pour définir une AWS IoT Events alarme sur un modèle d'actif existant. Pour définir une AWS IoT Events alarme sur un nouveau modèle d'actif, créez le modèle d'actif, puis procédez comme suit. Pour de plus amples informations, veuillez consulter [Créez des modèles d'actifs dans AWS IoT SiteWise](create-asset-models.md).

**Important**  
Chaque alarme nécessite un attribut qui spécifie la valeur de seuil à comparer pour l'alarme. Vous devez définir l'attribut de valeur seuil sur le modèle d'actif avant de pouvoir définir une alarme.  
Prenons un exemple où vous souhaitez définir une alarme qui détecte lorsqu'une éolienne dépasse sa vitesse nominale maximale de 50 mi/h. Avant de définir l'alarme, vous devez définir un attribut (**Vitesse maximale du vent**) avec une valeur par défaut de`50`.

**Pour définir une AWS IoT Events alarme sur un modèle d'actif**

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

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

1. Choisissez le modèle d'actif pour lequel vous souhaitez définir une alarme.

1. Choisissez l'onglet **Alarme**.

1. Choisissez **Ajouter une alarme**.

1. Dans la section **Options du type d'alarme**, choisissez **AWS IoT Events alarme**.

1. Dans la section **Détails de l'alarme**, procédez comme suit :

   1. Saisissez un nom pour votre alarme.

   1. (Facultatif) Entrez une description pour votre alarme.

1. Dans la section **Définitions des seuils**, vous définissez le moment où l'alarme est détectée et la gravité de l'alarme. Procédez comme suit :

   1. Sélectionnez la **propriété** sur laquelle l'alarme est détectée. Chaque fois que cette propriété reçoit une nouvelle valeur, AWS IoT SiteWise envoie la valeur AWS IoT Events à pour évaluer l'état de l'alarme.

   1. Sélectionnez l'**opérateur** à utiliser pour comparer la propriété à la valeur de seuil. Sélectionnez l’une des options suivantes :
      + **< inférieur à**
      + **<= inférieur ou égal**
      + **== égal**
      + **\$1 = différent**
      + **>= supérieur ou égal**
      + **> supérieur à**

   1. Pour **Valeur**, sélectionnez la propriété d'attribut à utiliser comme valeur de seuil. AWS IoT Events compare la valeur de la propriété avec la valeur de cet attribut.

   1. Entrez le niveau de **gravité** de l'alarme. Utilisez un chiffre que votre équipe comprend pour refléter la gravité de cette alarme.

1. (Facultatif) Dans la section **Paramètres de notification - *facultatif***, procédez comme suit :

   1. Choisissez **Active**.
**Note**  
Si vous choisissez **Inactif**, vous et votre équipe ne recevrez aucune notification d'alarme.

   1. Dans **Destinataire**, choisissez le destinataire.
**Important**  <a name="alarm-notifications-sso-requirement"></a>
Vous pouvez envoyer des notifications d'alarme aux AWS IAM Identity Center utilisateurs. Pour utiliser cette fonctionnalité, vous devez activer IAM Identity Center. Vous ne pouvez activer IAM Identity Center que dans une seule AWS région à la fois. Cela signifie que vous ne pouvez définir des notifications d'alarme que dans la région où vous activez IAM Identity Center. Pour plus d'informations, consultez [Démarrer](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) dans le *Guide de l'utilisateur AWS IAM Identity Center *.

   1. Pour **Protocole**, choisissez l'une des options suivantes :
      + **Courrier électronique et texto** : l'alarme avertit les utilisateurs de l'IAM Identity Center par SMS et e-mail.
      + **E-mail** : l'alarme avertit les utilisateurs de l'IAM Identity Center par un message électronique.
      + **Texte** — L'alarme avertit les utilisateurs de l'IAM Identity Center par un message SMS.

   1. Pour **Expéditeur**, choisissez l'expéditeur.
**Important**  
Vous devez vérifier l'adresse e-mail de l'expéditeur dans Amazon Simple Email Service (Amazon SES). Pour plus d'informations, consultez [Vérifier l'identité d'une adresse e-mail](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#just-verify-email-proc) dans le manuel *Amazon Simple Email Service Developer Guide*.

1. Dans la section **État de l'actif par défaut**, vous pouvez définir l'état par défaut des alarmes créées à partir de ce modèle d'actif.
**Note**  
Vous activerez ou désactivez cette alarme pour les actifs que vous créez à partir de ce modèle d'actif lors d'une étape ultérieure.

1. Dans la section **Paramètres avancés**, vous pouvez configurer les autorisations, les paramètres de notification supplémentaires, les actions relatives à l'état de l'alarme, le modèle d'alarme dans SiteWise Monitor et le flux d'accusé de réception.
**Note**  
AWS IoT Events les alarmes nécessitent les rôles de service suivants :  
Rôle censé envoyer AWS IoT Events des valeurs d'état d'alarme à AWS IoT SiteWise.
Un rôle qui AWS IoT Events suppose d'envoyer des données à Lambda. Vous n'avez besoin de ce rôle que si votre alarme envoie des notifications.

   Dans la section **Autorisations**, procédez comme suit :

   1. Pour **AWS IoT Events le rôle**, utilisez un rôle existant ou créez-en un avec les autorisations requises. Ce rôle nécessite l'`iotsitewise:BatchPutAssetPropertyValue`autorisation et une relation de confiance qui permettent à iotevents.amazonaws.com d'assumer le rôle.

   1. Pour le **rôle AWS IoT Events Lambda**, utilisez un rôle existant ou créez-en un avec les autorisations requises. Ce rôle nécessite les `sso-directory:DescribeUser` autorisations `lambda:InvokeFunction` et une relation de confiance qui permet `iotevents.amazonaws.com` d'assumer le rôle.

1. (Facultatif) Dans la section **Paramètres de notification supplémentaires**, procédez comme suit :

   1. Pour **l'attribut Recipient**, vous définissez un attribut dont la valeur indique le destinataire de la notification. Vous pouvez choisir les utilisateurs d'IAM Identity Center comme destinataires.

      Vous pouvez créer un attribut ou utiliser un attribut existant dans le modèle d'actif.
      + Si vous choisissez **Créer un nouvel attribut de destinataire**, spécifiez le **nom de l'attribut de destinataire** **et la valeur par défaut du destinataire **(facultatif)**** pour l'attribut.
      + Si vous choisissez **Utiliser un attribut de destinataire existant**, sélectionnez l'attribut dans **Nom de l'attribut du destinataire**. L'alarme utilise la valeur par défaut de l'attribut que vous avez choisi.

      Vous pouvez remplacer la valeur par défaut de chaque actif que vous créez à partir de ce modèle d'actif.

   1. Pour **l'attribut de message personnalisé**, vous définissez un attribut dont la valeur indique le message personnalisé à envoyer en plus du message de changement d'état par défaut. Par exemple, vous pouvez spécifier un message qui aidera votre équipe à comprendre comment traiter cette alarme.

      Vous pouvez choisir de créer un attribut ou d'utiliser un attribut existant dans le modèle d'actif.
      + Si vous choisissez de **créer un nouvel attribut de message personnalisé**, spécifiez le **nom de l'attribut de message personnalisé** **et la valeur par défaut du message personnalisé *(facultatif)*** pour l'attribut.
      + Si vous choisissez **Utiliser un attribut de message personnalisé existant**, sélectionnez l'attribut dans **Nom de l'attribut de message personnalisé**. L'alarme utilise la valeur par défaut de l'attribut que vous avez choisi.

      Vous pouvez remplacer la valeur par défaut de chaque actif que vous créez à partir de ce modèle d'actif.

   1. Pour **Gérer votre fonction Lambda, effectuez** l'une des opérations suivantes :
      + Pour AWS IoT SiteWise créer une nouvelle fonction Lambda, choisissez **Create a new Lambda from a AWS managed template**.
      + Pour utiliser une fonction Lambda existante, choisissez **Utiliser une fonction Lambda existante** et choisissez le nom de la fonction.

      Pour plus d'informations, consultez [la section Gestion des notifications d'alarme](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) dans le *Guide du AWS IoT Events développeur*.

1. (Facultatif) Dans la section **Définir l'action d'état**, procédez comme suit :

   1. Choisissez l'**action Modifier**.

   1. Sous **Ajouter des actions d'état d'alarme**, ajoutez des actions, puis choisissez **Enregistrer**.

      Vous pouvez ajouter jusqu'à 10 actions.

   AWS IoT Events peut effectuer des actions lorsque l'alarme est active. Vous pouvez définir des actions intégrées pour utiliser un temporisateur ou définir une variable, ou envoyer des données à d'autres AWS ressources. Pour plus d'informations, consultez la section [Actions prises en charge](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-supported-actions.html) dans le *Guide du AWS IoT Events développeur*.

1. (Facultatif) Sous **Gérer le modèle d'alarme dans le SiteWise moniteur - *facultatif***, choisissez **Actif ou **Inactif****.

   Utilisez cette option pour mettre à jour le modèle d'alarme dans SiteWise Monitorss. Cette option est activée par défaut.

1. Sous **Accusation du flux**, sélectionnez **Actif ou **Inactif****. Pour plus d'informations sur le flux d'accusé de réception, consultez[États d'alarme](industrial-alarms.md#alarm-states).

1. Choisissez **Ajouter une alarme**.
**Note**  
La AWS IoT SiteWise console envoie plusieurs demandes d'API pour ajouter l'alarme au modèle d'actif. Lorsque vous choisissez **Ajouter une alarme**, la console ouvre une boîte de dialogue qui indique la progression de ces demandes d'API. Restez sur cette page jusqu'à ce que chaque demande d'API aboutisse ou jusqu'à ce qu'une demande d'API échoue. Si une demande échoue, fermez la boîte de dialogue, corrigez le problème et choisissez **Ajouter une alarme** pour réessayer.

## Définir une AWS IoT Events alarme (AWS IoT Events console)
<a name="define-iot-events-alarm-console-ite-console"></a>

Vous pouvez utiliser la AWS IoT Events console pour définir une AWS IoT Events alarme sur un modèle d'actif existant. Pour définir une AWS IoT Events alarme sur un nouveau modèle d'actif, créez le modèle d'actif, puis procédez comme suit. Pour de plus amples informations, veuillez consulter [Créez des modèles d'actifs dans AWS IoT SiteWise](create-asset-models.md).

**Important**  
Chaque alarme nécessite un attribut qui spécifie la valeur de seuil à comparer pour l'alarme. Vous devez définir l'attribut de valeur seuil sur le modèle d'actif avant de pouvoir définir une alarme.  
Prenons un exemple où vous souhaitez définir une alarme qui détecte lorsqu'une éolienne dépasse sa vitesse nominale maximale de 50 mi/h. Avant de définir l'alarme, vous devez définir un attribut (**Vitesse maximale du vent**) avec une valeur par défaut de`50`.

**Pour définir une AWS IoT Events alarme sur un modèle d'actif**

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

1. Dans le volet de navigation, sélectionnez **Modèles d'alarme**.

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

1. Saisissez un nom pour votre alarme.

1. (Facultatif) Entrez une description pour votre alarme.

1. Dans la section **Cible de l'alarme**, procédez comme suit :

   1. Pour les **options Target**, choisissez la **propriété de l'AWS IoT SiteWise actif**.

   1. Choisissez le modèle d'actif pour lequel vous souhaitez ajouter l'alarme.

1. Dans la section **Définitions des seuils**, vous définissez le moment où l'alarme est détectée et la gravité de l'alarme. Procédez comme suit :

   1. Sélectionnez la **propriété** sur laquelle l'alarme est détectée. Chaque fois que cette propriété reçoit une nouvelle valeur, AWS IoT SiteWise envoie la valeur AWS IoT Events à pour évaluer l'état de l'alarme.

   1. Sélectionnez l'**opérateur** à utiliser pour comparer la propriété à la valeur de seuil. Sélectionnez l’une des options suivantes :
      + **< inférieur à**
      + **<= inférieur ou égal**
      + **== égal**
      + **\$1 = différent**
      + **>= supérieur ou égal**
      + **> supérieur à**

   1. Pour **Valeur**, sélectionnez la propriété d'attribut à utiliser comme valeur de seuil. AWS IoT Events compare la valeur de la propriété avec la valeur de cet attribut.

   1. Entrez le niveau de **gravité** de l'alarme. Utilisez un chiffre que votre équipe comprend pour refléter la gravité de cette alarme.

1. (Facultatif) Dans la section **Paramètres de notification - *facultatif***, procédez comme suit :

   1. Pour **Protocole**, choisissez l'une des options suivantes :
      + **Courrier électronique et texto** : l'alarme avertit les utilisateurs de l'IAM Identity Center par SMS et e-mail.
      + **E-mail** : l'alarme avertit les utilisateurs de l'IAM Identity Center par un message électronique.
      + **Texte** — L'alarme avertit les utilisateurs de l'IAM Identity Center par un message SMS.

   1. Pour **Expéditeur**, choisissez l'expéditeur.
**Important**  
Vous devez vérifier l'adresse e-mail de l'expéditeur dans Amazon Simple Email Service (Amazon SES). Pour plus d'informations, consultez la section [Vérification des adresses e-mail dans Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html), dans le manuel *Amazon Simple Email Service Developer Guide*.

   1. Choisissez l'attribut dans **Attribut du destinataire *(facultatif)***. L'alarme utilise la valeur par défaut de l'attribut que vous avez choisi.

   1. Choisissez l'attribut dans **Attribut de message personnalisé - *facultatif***. L'alarme utilise la valeur par défaut de l'attribut que vous avez choisi.

1. Dans la section **Instance**, spécifiez l'**état par défaut** pour cette alarme. Vous pouvez activer ou désactiver cette alarme pour tous les actifs que vous créez à partir de ce modèle d'actif lors d'une étape ultérieure.

1. Dans les **paramètres avancés**, vous pouvez configurer les autorisations, les paramètres de notification supplémentaires, les actions relatives à l'état de l'alarme, le modèle d'alarme dans SiteWise Monitor et le flux d'accusé de réception.
**Note**  
AWS IoT Events les alarmes nécessitent les rôles de service suivants :  
Rôle censé envoyer AWS IoT Events des valeurs d'état d'alarme à AWS IoT SiteWise.
Un rôle qui AWS IoT Events suppose d'envoyer des données à Lambda. Vous n'avez besoin de ce rôle que si votre alarme envoie des notifications.

   1. Dans la section **Accusation** de réception, choisissez **Activé** **ou Désactivé**. Pour plus d'informations sur le flux d'accusé de réception, consultez[États d'alarme](industrial-alarms.md#alarm-states).

   1. Dans la section **Autorisations**, procédez comme suit :

      1. Pour **AWS IoT Events le rôle**, utilisez un rôle existant ou créez-en un avec les autorisations requises. Ce rôle nécessite l'`iotsitewise:BatchPutAssetPropertyValue`autorisation et une relation de confiance qui permettent à iotevents.amazonaws.com d'assumer le rôle.

      1. Pour le **rôle Lambda**, utilisez un rôle existant ou créez-en un avec les autorisations requises. Ce rôle nécessite les `sso-directory:DescribeUser` autorisations `lambda:InvokeFunction` et une relation de confiance qui permet `iotevents.amazonaws.com` d'assumer le rôle.

   1. (Facultatif) Dans le volet **Paramètres de notification supplémentaires**, procédez comme suit :

      1. Pour **Gérer votre fonction Lambda, effectuez** l'une des opérations suivantes :
        + Pour AWS IoT Events créer une nouvelle fonction Lambda, choisissez **Create a new Lambda** function.
        + Pour utiliser une fonction Lambda existante, choisissez **Utiliser une fonction Lambda existante et choisissez le nom de la fonction**.

        Pour plus d'informations, consultez [la section Gestion des notifications d'alarme](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html) dans le *Guide du AWS IoT Events développeur*.

   1. (Facultatif) Dans la section **Définir l'action d'état - *facultatif***, procédez comme suit :

      1. Sous **Actions relatives à l'état d'alarme**, ajoutez des actions, puis choisissez **Enregistrer**.

        Vous pouvez ajouter jusqu'à 10 actions.

      AWS IoT Events peut effectuer des actions lorsque l'alarme est active. Vous pouvez définir des actions intégrées pour utiliser un temporisateur ou définir une variable, ou envoyer des données à d'autres AWS ressources. Pour plus d'informations, consultez la section [Actions prises en charge](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-supported-actions.html) dans le *Guide du AWS IoT Events développeur*.

1. Choisissez **Créer**.
**Note**  
La AWS IoT Events console envoie plusieurs demandes d'API pour ajouter l'alarme au modèle d'actif. Lorsque vous choisissez **Ajouter une alarme**, la console ouvre une boîte de dialogue qui indique la progression de ces demandes d'API. Restez sur cette page jusqu'à ce que chaque demande d'API aboutisse ou jusqu'à ce qu'une demande d'API échoue. Si une demande échoue, fermez la boîte de dialogue, corrigez le problème et choisissez **Ajouter une alarme** pour réessayer.

## Définir une AWS IoT Events alarme (AWS CLI)
<a name="define-iot-events-alarm-cli"></a>

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour définir une AWS IoT Events alarme qui surveille la propriété d'un actif. Vous pouvez définir l'alarme sur un modèle d'actif nouveau ou existant. Après avoir défini l'alarme sur le modèle d'actif, vous créez une alarme AWS IoT Events et vous la connectez au modèle d'actif. Au cours de ce processus, vous devez effectuer les opérations suivantes :

**Topics**
+ [Étape 1 : définir une alarme sur un modèle d'actif](#define-iot-events-alarm-definition-cli)
+ [Étape 2 : Définition d'un modèle AWS IoT Events d'alarme](#define-iot-events-alarm-model-cli)
+ [Étape 3 : Activer le flux de données entre AWS IoT SiteWise et AWS IoT Events](#define-iot-events-alarm-data-flow-cli)

### Étape 1 : définir une alarme sur un modèle d'actif
<a name="define-iot-events-alarm-definition-cli"></a>

Ajoutez une définition d'alarme et les propriétés associées à un modèle d'actif nouveau ou existant.

**Pour définir une alarme sur un modèle d'actif (CLI)**

1. Créez un fichier, appelé `asset-model-payload.json`. Suivez les étapes décrites dans ces autres sections pour ajouter les détails de votre modèle d'actif au fichier, mais ne soumettez pas de demande de création ou de mise à jour du modèle d'actif. Dans cette section, vous ajoutez une définition d'alarme aux détails du modèle d'actif dans le `asset-model-payload.json` fichier.
   + Pour plus d'informations sur la création d'un modèle d'actifs, consultez[Création d'un modèle d'actifs (AWS CLI)](create-asset-models.md#create-asset-model-cli).
   + Pour plus d'informations sur la mise à jour d'un modèle d'actif existant, consultez[Mettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI)](update-asset-models.md#update-asset-model-cli).
**Note**  
Votre modèle d'actif doit définir au moins une propriété d'actif, y compris la propriété d'actif à surveiller avec l'alarme.

1. Ajoutez un modèle composite d'alarme (`assetModelCompositeModels`) au modèle d'actif. Un modèle composite AWS IoT Events d'alarme indique le `IOT_EVENTS` type et spécifie une propriété de source d'alarme. Vous ajoutez la propriété source d'alarme après avoir créé le modèle d'alarme dans AWS IoT Events.
**Important**  
Le modèle composite d'alarme doit porter le même nom que le modèle AWS IoT Events d'alarme que vous créerez ultérieurement. Les noms des modèles d'alarme ne peuvent contenir que des caractères alphanumériques. Spécifiez un nom alphanumérique unique afin de pouvoir utiliser le même nom pour le modèle d'alarme.

   ```
   {
     ...
     "assetModelCompositeModels": [
       {
         "name": "BoilerTemperatureHighAlarm",
         "type": "AWS/ALARM",
         "properties": [
           {
             "name": "AWS/ALARM_TYPE",
             "dataType": "STRING",
             "type": {
               "attribute": {
                 "defaultValue": "IOT_EVENTS"
               }
             }
           },
           {
             "name": "AWS/ALARM_STATE",
             "dataType": "STRUCT",
             "dataTypeSpec": "AWS/ALARM_STATE",
             "type": {
               "measurement": {}
             }
           }
         ]
       }
     ]
   }
   ```

1. Ajoutez un attribut de seuil d'alarme au modèle d'actif. Spécifiez la valeur par défaut à utiliser pour ce seuil. Vous pouvez remplacer cette valeur par défaut pour chaque actif en fonction de ce modèle.
**Note**  
L'attribut du seuil d'alarme doit être a `INTEGER` ou `DOUBLE` a.

   ```
   {
     ...
     "assetModelProperties": [
       ...
       {
         "name": "Temperature Max Threshold",
         "dataType": "DOUBLE",
         "type": {
           "attribute": {
             "defaultValue": "105.0"
           }
         }
       }
     ]
   }
   ```

1. (Facultatif) Ajoutez des attributs de notification d'alarme au modèle d'actif. Ces attributs indiquent le destinataire du centre d'identité IAM et les autres entrées AWS IoT Events utilisées pour envoyer des notifications lorsque l'alarme change d'état. Vous pouvez remplacer ces valeurs par défaut pour chaque actif en fonction de ce modèle.
**Important**  <a name="alarm-notifications-sso-requirement"></a>
Vous pouvez envoyer des notifications d'alarme aux AWS IAM Identity Center utilisateurs. Pour utiliser cette fonctionnalité, vous devez activer IAM Identity Center. Vous ne pouvez activer IAM Identity Center que dans une seule AWS région à la fois. Cela signifie que vous ne pouvez définir des notifications d'alarme que dans la région où vous activez IAM Identity Center. Pour plus d'informations, consultez [Démarrer](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) dans le *Guide de l'utilisateur AWS IAM Identity Center *.

   Procédez comme suit :

   1. Ajoutez un attribut qui spécifie l'ID de votre banque d'identités IAM Identity Center. Vous pouvez utiliser l'opération d'[ListInstances](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html)API IAM Identity Center pour répertorier vos magasins d'identités. Cette opération ne fonctionne que dans la région où vous activez IAM Identity Center.

      ```
      aws sso-admin list-instances
      ```

      Spécifiez ensuite l'ID du magasin d'identités (par exemple,`d-123EXAMPLE`) comme valeur par défaut pour l'attribut.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "identityStoreId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "d-123EXAMPLE"
              }
            }
          }
        ]
      }
      ```

   1. Ajoutez un attribut qui spécifie l'ID de l'utilisateur IAM Identity Center qui reçoit les notifications. Pour définir un destinataire de notification par défaut, ajoutez un ID utilisateur IAM Identity Center comme valeur par défaut. Procédez de l'une des manières suivantes pour obtenir un ID utilisateur IAM Identity Center :

      1. Vous pouvez utiliser l'[ListUsers](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_ListUsers.html)API IAM Identity Center pour obtenir l'identifiant d'un utilisateur dont vous connaissez le nom d'utilisateur. Remplacez *d-123EXAMPLE* par l'ID de votre banque d'identités et remplacez *Name* par le nom d'utilisateur de l'utilisateur.

         ```
         aws identitystore list-users \
           --identity-store-id d-123EXAMPLE \
           --filters AttributePath=UserName,AttributeValue=Name
         ```

      1. Utilisez la [console IAM Identity Center](https://console.aws.amazon.com/singlesignon) pour parcourir vos utilisateurs et trouver un ID utilisateur.

      Spécifiez ensuite l'ID utilisateur (par exemple,`123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE`) comme valeur par défaut pour l'attribut, ou définissez l'attribut sans valeur par défaut.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "userId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE"
              }
            }
          }
        ]
      }
      ```

   1. (Facultatif) Ajoutez un attribut qui spécifie l'ID d'expéditeur par défaut pour les notifications par SMS (texte). L'identifiant de l'expéditeur s'affiche en tant qu'expéditeur du message sur les messages envoyés par Amazon Simple Notification Service (Amazon SNS). Pour plus d'informations, consultez la section [Demander un identifiant d'expéditeur AWS End User Messaging SMS dans](https://docs.aws.amazon.com/sms-voice/latest/userguide/sender-id-request.html) le *guide de AWS End User Messaging SMS l'utilisateur*.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "senderId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "MyFactory"
              }
            }
          }
        ]
      }
      ```

   1. (Facultatif) Ajoutez un attribut qui spécifie l'adresse e-mail par défaut à utiliser comme adresse *d'expéditeur* dans les notifications par e-mail.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "fromAddress",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "my.factory@example.com"
              }
            }
          }
        ]
      }
      ```

   1. (Facultatif) Ajoutez un attribut qui indique le sujet par défaut à utiliser dans les notifications par e-mail.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "emailSubject",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "[ALERT] High boiler temperature"
              }
            }
          }
        ]
      }
      ```

   1. (Facultatif) Ajoutez un attribut qui spécifie un message supplémentaire à inclure dans les notifications. Par défaut, les messages de notification incluent des informations sur l'alarme. Vous pouvez également inclure un message supplémentaire fournissant plus d'informations à l'utilisateur.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "additionalMessage",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "Turn off the power before you check the alarm."
              }
            }
          }
        ]
      }
      ```

1. Créez le modèle d'actif ou mettez à jour le modèle d'actif existant. Effectuez l’une des actions suivantes :
   + Pour créer le modèle d'actif, exécutez la commande suivante.

     ```
     aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
     ```
   + Pour mettre à jour le modèle d'actif existant, exécutez la commande suivante. 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://asset-model-payload.json
     ```

   Après avoir exécuté la commande, notez le `assetModelId` dans la réponse.

#### Exemple : modèle d'actif de chaudière
<a name="alarm-asset-model-example"></a>

Le modèle d'actif suivant représente une chaudière qui fournit des données de température. Ce modèle d'équipement définit une alarme qui détecte la surchauffe de la chaudière.

```
{
  "assetModelName": "Boiler Model",
  "assetModelDescription": "Represents a boiler.",
  "assetModelProperties": [
    {
      "name": "Temperature",
      "dataType": "DOUBLE",
      "unit": "C",
      "type": {
        "measurement": {}
      }
    },
    {
      "name": "Temperature Max Threshold",
      "dataType": "DOUBLE",
      "type": {
        "attribute": {
          "defaultValue": "105.0"
        }
      }
    },
    {
      "name": "identityStoreId",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "d-123EXAMPLE"
        }
      }
    },
    {
      "name": "userId",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE"
        }
      }
    },
    {
      "name": "senderId",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "MyFactory"
        }
      }
    },
    {
      "name": "fromAddress",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "my.factory@example.com"
        }
      }
    },
    {
      "name": "emailSubject",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "[ALERT] High boiler temperature"
        }
      }
    },
    {
      "name": "additionalMessage",
      "dataType": "STRING",
      "type": {
        "attribute": {
          "defaultValue": "Turn off the power before you check the alarm."
        }
      }
    }
  ],
  "assetModelHierarchies": [
  
  ],
  "assetModelCompositeModels": [
    {
      "name": "BoilerTemperatureHighAlarm",
      "type": "AWS/ALARM",
      "properties": [
        {
          "name": "AWS/ALARM_TYPE",
          "dataType": "STRING",
          "type": {
            "attribute": {
              "defaultValue": "IOT_EVENTS"
            }
          }
        },
        {
          "name": "AWS/ALARM_STATE",
          "dataType": "STRUCT",
          "dataTypeSpec": "AWS/ALARM_STATE",
          "type": {
            "measurement": {}
          }
        }
      ]
    }
  ]
}
```

### Étape 2 : Définition d'un modèle AWS IoT Events d'alarme
<a name="define-iot-events-alarm-model-cli"></a>

Créez le modèle d'alarme dans AWS IoT Events. Dans AWS IoT Events, vous utilisez des *expressions* pour spécifier des valeurs dans les modèles d'alarme. Vous pouvez utiliser des expressions pour spécifier des valeurs de AWS IoT SiteWise à évaluer et à utiliser comme entrées pour l'alarme. Lorsque les valeurs des propriétés de l'actif sont AWS IoT SiteWise envoyées au modèle d'alarme, il AWS IoT Events évalue l'expression pour obtenir la valeur de la propriété ou l'ID de l'actif. Vous pouvez utiliser les expressions suivantes dans le modèle d'alarme :
+ **Valeurs des propriétés des actifs**

  Pour obtenir la valeur d'une propriété d'actif, utilisez l'expression suivante. Remplacez *assetModelId* par l'ID du modèle d'actif et remplacez *propertyId* par l'ID de la propriété.

  ```
  $sitewise.assetModel.`assetModelId`.`propertyId`.propertyValue.value
  ```
+ **Actif IDs**

  Pour obtenir l'ID de la ressource, utilisez l'expression suivante. Remplacez *assetModelId* par l'ID du modèle d'actif et remplacez *propertyId* par l'ID de la propriété.

  ```
  $sitewise.assetModel.`assetModelId`.`propertyId`.assetId
  ```

**Note**  
Lorsque vous créez le modèle d'alarme, vous pouvez définir des littéraux plutôt que des expressions dont l'évaluation est basée sur des AWS IoT SiteWise valeurs. Cela peut réduire le nombre d'attributs que vous définissez dans votre modèle d'actifs. Toutefois, si vous définissez une valeur au sens littéral, vous ne pouvez pas personnaliser cette valeur sur les actifs en fonction du modèle d'actif. Vos AWS IoT SiteWise Monitor utilisateurs ne peuvent pas non plus personnaliser l'alarme, car ils ne peuvent configurer les paramètres d'alarme que sur les actifs.

**Pour créer un modèle AWS IoT Events d'alarme (CLI)**

1. Lorsque vous créez le modèle d'alarme dans AWS IoT Events, vous devez spécifier l'ID de chaque propriété utilisée par l'alarme, notamment les éléments suivants :
   + La propriété d'état d'alarme dans le modèle d'actif composite
   + La propriété surveillée par l'alarme
   + L'attribut de seuil
   + (Facultatif) L'attribut ID de la banque d'identités IAM Identity Center
   + (Facultatif) L'attribut d'ID utilisateur IAM Identity Center
   + (Facultatif) L'attribut d'identifiant de l'expéditeur du SMS
   + (Facultatif) L'attribut *d'*adresse e-mail
   + (Facultatif) L'attribut d'objet de l'e-mail
   + (Facultatif) L'attribut de message supplémentaire

   Exécutez la commande suivante pour récupérer IDs ces propriétés sur le modèle d'actif. Remplacez *asset-model-id* par l'ID du modèle d'actif de l'étape précédente.

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

   L'opération renvoie une réponse qui contient les détails du modèle de ressource. Notez l'ID de chaque propriété utilisée par l'alarme. Vous les utiliserez IDs lorsque vous créerez le modèle AWS IoT Events d'alarme à l'étape suivante.

1. Créez le modèle d'alarme dans AWS IoT Events. Procédez comme suit :

   1. Créez un fichier, appelé `alarm-model-payload.json`.

   1. Copiez l'objet JSON suivant dans le fichier.

   1. Entrez le nom (`alarmModelName`), la description (`alarmModelDescription`) et la gravité (`severity`) de votre alarme. Pour ce qui est de la gravité, spécifiez un entier qui reflète les niveaux de gravité de votre entreprise.
**Important**  
Le modèle d'alarme doit porter le même nom que le modèle composite d'alarme que vous avez défini précédemment dans votre modèle d'équipement.  
Les noms des modèles d'alarme ne peuvent contenir que des caractères alphanumériques.

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3
      }
      ```

   1. Ajoutez la règle de comparaison (`alarmRule`) à l'alarme. Cette règle définit la propriété à surveiller (`inputProperty`), la valeur de seuil à comparer (`threshold`) et l'opérateur de comparaison à utiliser (`comparisonOperator`).
      + Remplacez *assetModelId* par l'ID du modèle d'actif.
      + Remplacez *alarmPropertyId* par l'identifiant de la propriété surveillée par l'alarme.
      + Remplacez *thresholdAttributeId* par l'ID de la propriété de l'attribut threshold.
      + Remplacez *GREATER* par l'opérateur à utiliser pour comparer les valeurs des propriétés avec le seuil. Sélectionnez l’une des options suivantes :
        + `LESS`
        + `LESS_OR_EQUAL`
        + `EQUAL`
        + `NOT_EQUAL`
        + `GREATER_OR_EQUAL`
        + `GREATER`

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3,
        "alarmRule": {
          "simpleRule": {
            "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
            "comparisonOperator": "GREATER",
            "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
          }
        }
      }
      ```

   1. Ajoutez une action (`alarmEventActions`) pour envoyer l'état de l'alarme au AWS IoT SiteWise moment où l'alarme change d'état.
**Note**  
Pour une configuration avancée, vous pouvez définir des actions supplémentaires à effectuer lorsque l'alarme change d'état. Par exemple, vous pouvez appeler une AWS Lambda fonction ou publier sur un sujet MQTT. Pour plus d'informations, consultez la section [Utilisation d'autres AWS services](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-other-aws-services.html) dans le *Guide du AWS IoT Events développeur*.
      + Remplacez *assetModelId* par l'ID du modèle d'actif.
      + Remplacez *alarmPropertyId* par l'identifiant de la propriété surveillée par l'alarme.
      + Remplacez *alarmStatePropertyId* par l'ID de la propriété d'état de l'alarme dans le modèle composite d'alarme.

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3,
        "alarmRule": {
          "simpleRule": {
            "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
            "comparisonOperator": "GREATER",
            "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
          }
        },
        "alarmEventActions": {
          "alarmActions": [
            {
              "iotSiteWise": {
                "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                "propertyId": "'alarmStatePropertyId'"
              }
            }
          ]
        }
      }
      ```

   1. (Facultatif) Configurez les paramètres de notification d'alarme. L'action de notification d'alarme utilise une fonction Lambda de votre compte pour envoyer des notifications d'alarme. Pour de plus amples informations, veuillez consulter [Exigences relatives aux notifications d'alarme dans AWS IoT SiteWise](iot-events-alarm-notification-requirements.md). Dans les paramètres de notification d'alarme, vous pouvez configurer les notifications par SMS et e-mail à envoyer aux utilisateurs d'IAM Identity Center. Procédez comme suit :

      1. Ajoutez la configuration de notification d'alarme (`alarmNotification`) à la charge utile dans`alarm-model-payload.json`.
         + *alarmNotificationFunctionArn*Remplacez-le par l'ARN de la fonction Lambda qui gère les notifications d'alarme. 

         ```
         {
           "alarmModelName": "BoilerTemperatureHighAlarm",
           "alarmModelDescription": "Detects when the boiler temperature is high.",
           "severity": 3,
           "alarmRule": {
             "simpleRule": {
               "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
               "comparisonOperator": "GREATER",
               "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
             }
           },
           "alarmEventActions": {
             "alarmActions": [
               {
                 "iotSiteWise": {
                   "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                   "propertyId": "'alarmStatePropertyId'"
                 }
               }
             ]
           },
           "alarmNotification": {
             "notificationActions": [
               {
                 "action": {
                   "lambdaAction": {
                     "functionArn": "alarmNotificationFunctionArn"
                   }
                 }
               }
             ]
           }
         }
         ```

      1. (Facultatif) Configurez les notifications par SMS (`smsConfigurations`) à envoyer à un utilisateur du IAM Identity Center lorsque l'alarme change d'état.
         + *identityStoreIdAttributeId*Remplacez-le par l'ID de l'attribut qui contient l'ID de la banque d'identités IAM Identity Center.
         + Remplacez *userIdAttributeId* par l'ID de l'attribut qui contient l'ID de l'utilisateur IAM Identity Center.
         + *senderIdAttributeId*Remplacez-le par l'ID de l'attribut qui contient l'identifiant de l'expéditeur Amazon SNS, ou supprimez-le `senderId` de la charge utile.
         + *additionalMessageAttributeId*Remplacez-le par l'ID de l'attribut qui contient le message supplémentaire, ou supprimez-le `additionalMessage` de la charge utile.

         ```
         {
           "alarmModelName": "BoilerTemperatureHighAlarm",
           "alarmModelDescription": "Detects when the boiler temperature is high.",
           "severity": 3,
           "alarmRule": {
             "simpleRule": {
               "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
               "comparisonOperator": "GREATER",
               "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
             }
           },
           "alarmEventActions": {
             "alarmActions": [
               {
                 "iotSiteWise": {
                   "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                   "propertyId": "'alarmStatePropertyId'"
                 }
               }
             ]
           },
           "alarmNotification": {
             "notificationActions": [
               {
                 "action": {
                   "lambdaAction": {
                     "functionArn": "alarmNotificationFunctionArn"
                   }
                 },
                 "smsConfigurations": [
                   {
                     "recipients": [
                       {
                         "ssoIdentity": {
                           "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                           "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                         }
                       }
                     ],
                     "senderId": "$sitewise.assetModel.`assetModelId`.`senderIdAttributeId`.propertyValue.value",
                     "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                   }
                 ]
               }
             ]
           }
         }
         ```

      1. (Facultatif) Configurez les notifications par e-mail (`emailConfigurations`) à envoyer à un utilisateur du IAM Identity Center lorsque l'alarme change d'état.
         + *identityStoreIdAttributeId*Remplacez-le par l'ID de la propriété d'attribut ID de la banque d'identités IAM Identity Center.
         + Remplacez *userIdAttributeId* par l'ID de la propriété d'attribut d'ID utilisateur d'IAM Identity Center.
         + *fromAddressAttributeId*Remplacez-le par l'ID de la propriété d'attribut d'adresse « from » ou supprimez-le `from` de la charge utile.
         + *emailSubjectAttributeId*Remplacez-le par l'ID de la propriété d'attribut de l'objet de l'e-mail ou `subject` supprimez-le de la charge utile.
         + *additionalMessageAttributeId*Remplacez-le par l'ID de la propriété d'attribut de message supplémentaire ou supprimez-le `additionalMessage` de la charge utile.

         ```
         {
           "alarmModelName": "BoilerTemperatureHighAlarm",
           "alarmModelDescription": "Detects when the boiler temperature is high.",
           "severity": 3,
           "alarmRule": {
             "simpleRule": {
               "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
               "comparisonOperator": "GREATER",
               "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
             }
           },
           "alarmEventActions": {
             "alarmActions": [
               {
                 "iotSiteWise": {
                   "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                   "propertyId": "'alarmStatePropertyId'"
                 }
               }
             ]
           },
           "alarmNotification": {
             "notificationActions": [
               {
                 "action": {
                   "lambdaAction": {
                     "functionArn": "alarmNotificationFunctionArn"
                   }
                 },
                 "smsConfigurations": [
                   {
                     "recipients": [
                       {
                         "ssoIdentity": {
                           "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                           "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                         }
                       }
                     ],
                     "senderId": "$sitewise.assetModel.`assetModelId`.`senderIdAttributeId`.propertyValue.value",
                     "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                   }
                 ],
                 "emailConfigurations": [
                   {
                     "from": "$sitewise.assetModel.`assetModelId`.`fromAddressAttributeId`.propertyValue.value",
                     "recipients": {
                       "to": [
                         {
                           "ssoIdentity": {
                             "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                             "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                           }
                         }
                       ]
                     },
                     "content": {
                       "subject": "$sitewise.assetModel.`assetModelId`.`emailSubjectAttributeId`.propertyValue.value",
                       "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                     }
                   }
                 ]
               }
             ]
           }
         }
         ```

   1. (Facultatif) Ajoutez les capacités d'alarme (`alarmCapabilities`) à la charge utile. `alarm-model-payload.json` Dans cet objet, vous pouvez spécifier si le flux d'accusé de réception est activé et l'état d'activation par défaut pour les actifs en fonction du modèle d'actif. Pour plus d'informations sur le flux d'accusé de réception, consultez[États d'alarme](industrial-alarms.md#alarm-states).

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3,
        "alarmRule": {
          "simpleRule": {
            "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
            "comparisonOperator": "GREATER",
            "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
          }
        },
        "alarmEventActions": {
          "alarmActions": [
            {
              "iotSiteWise": {
                "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                "propertyId": "'alarmStatePropertyId'"
              }
            }
          ]
        },
        "alarmNotification": {
          "notificationActions": [
            {
              "action": {
                "lambdaAction": {
                  "functionArn": "alarmNotificationFunctionArn"
                }
              },
              "smsConfigurations": [
                {
                  "recipients": [
                    {
                      "ssoIdentity": {
                        "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                        "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                      }
                    }
                  ],
                  "senderId": "$sitewise.assetModel.`assetModelId`.`senderIdAttributeId`.propertyValue.value",
                  "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                }
              ],
              "emailConfigurations": [
                {
                  "from": "$sitewise.assetModel.`assetModelId`.`fromAddressAttributeId`.propertyValue.value",
                  "recipients": {
                    "to": [
                      {
                        "ssoIdentity": {
                          "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                          "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                        }
                      }
                    ]
                  },
                  "content": {
                    "subject": "$sitewise.assetModel.`assetModelId`.`emailSubjectAttributeId`.propertyValue.value",
                    "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                  }
                }
              ]
            }
          ]
        },
        "alarmCapabilities": {
          "initializationConfiguration": {
            "disabledOnInitialization": false
          },
          "acknowledgeFlow": {
            "enabled": true
          }
        }
      }
      ```

   1. Ajoutez le rôle de service IAM (`roleArn`) qui AWS IoT Events peut assumer d'envoyer des données à AWS IoT SiteWise. Ce rôle nécessite l'`iotsitewise:BatchPutAssetPropertyValue`autorisation et une relation de confiance qui permettent `iotevents.amazonaws.com` d'assumer le rôle. Pour envoyer des notifications, ce rôle nécessite également les `sso-directory:DescribeUser` autorisations `lambda:InvokeFunction` et. Pour plus d'informations, consultez la section [Rôles du service Alarm](https://docs.aws.amazon.com/iotevents/latest/developerguide/security-iam.html) dans le *guide du AWS IoT Events développeur*.
      + Remplacez le `roleArn` par l'ARN du rôle qui AWS IoT Events peut assumer ces actions.

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3,
        "alarmRule": {
          "simpleRule": {
            "inputProperty": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.propertyValue.value",
            "comparisonOperator": "GREATER",
            "threshold": "$sitewise.assetModel.`assetModelId`.`thresholdAttributeId`.propertyValue.value"
          }
        },
        "alarmEventActions": {
          "alarmActions": [
            {
              "iotSiteWise": {
                "assetId": "$sitewise.assetModel.`assetModelId`.`alarmPropertyId`.assetId",
                "propertyId": "'alarmStatePropertyId'"
              }
            }
          ]
        },
        "alarmNotification": {
          "notificationActions": [
            {
              "action": {
                "lambdaAction": {
                  "functionArn": "alarmNotificationFunctionArn"
                }
              },
              "smsConfigurations": [
                {
                  "recipients": [
                    {
                      "ssoIdentity": {
                        "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                        "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                      }
                    }
                  ],
                  "senderId": "$sitewise.assetModel.`assetModelId`.`senderIdAttributeId`.propertyValue.value",
                  "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                }
              ],
              "emailConfigurations": [
                {
                  "from": "$sitewise.assetModel.`assetModelId`.`fromAddressAttributeId`.propertyValue.value",
                  "recipients": {
                    "to": [
                      {
                        "ssoIdentity": {
                          "identityStoreId": "$sitewise.assetModel.`assetModelId`.`identityStoreIdAttributeId`.propertyValue.value",
                          "userId": "$sitewise.assetModel.`assetModelId`.`userIdAttributeId`.propertyValue.value"
                        }
                      }
                    ]
                  },
                  "content": {
                    "subject": "$sitewise.assetModel.`assetModelId`.`emailSubjectAttributeId`.propertyValue.value",
                    "additionalMessage": "$sitewise.assetModel.`assetModelId`.`additionalMessageAttributeId`.propertyValue.value"
                  }
                }
              ]
            }
          ]
        },
        "alarmCapabilities": {
          "initializationConfiguration": {
            "disabledOnInitialization": false
          },
          "acknowledgeFlow": {
            "enabled": false
          }
        },
        "roleArn": "arn:aws:iam::123456789012:role/MyIoTEventsAlarmRole"
      }
      ```

   1. Exécutez la commande suivante pour créer le modèle AWS IoT Events d'alarme à partir de la charge utile. `alarm-model-payload.json` 

      ```
      aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
      ```

   1. L'opération renvoie une réponse qui inclut l'ARN du modèle d'alarme,`alarmModelArn`. Copiez cet ARN pour définir la définition de l'alarme sur votre modèle d'actif à l'étape suivante.

### Étape 3 : Activer le flux de données entre AWS IoT SiteWise et AWS IoT Events
<a name="define-iot-events-alarm-data-flow-cli"></a>

Après avoir créé les ressources requises dans AWS IoT SiteWise et AWS IoT Events, vous pouvez activer le flux de données entre les ressources pour activer votre alarme. Dans cette section, vous allez mettre à jour la définition d'alarme dans le modèle d'actif pour utiliser le modèle d'alarme que vous avez créé à l'étape précédente.

**Pour activer le flux de données entre AWS IoT SiteWise et AWS IoT Events (CLI)**
+ Définissez le modèle d'alarme comme source de l'alarme dans le modèle d'actif. Procédez comme suit :

  1. Exécutez la commande suivante pour récupérer la définition de modèle de ressource existante. Remplacez *asset-model-id* par l'ID du modèle d'actif.

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

     L'opération renvoie une réponse qui contient les détails du modèle de ressource.

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

  1. Supprimez les paires clé-valeur suivantes du `update-asset-model-payload.json` fichier :
     + `assetModelId`
     + `assetModelArn`
     + `assetModelCreationDate`
     + `assetModelLastUpdateDate`
     + `assetModelStatus`

  1. Ajoutez la propriété de source d'alarme (`AWS/ALARM_SOURCE`) au modèle composite d'alarme que vous avez défini précédemment. *alarmModelArn*Remplacez-le par l'ARN du modèle d'alarme, qui définit la valeur de la propriété de la source d'alarme.

     ```
     {
       ...
       "assetModelCompositeModels": [
         ...
         {
           "name": "BoilerTemperatureHighAlarm",
           "type": "AWS/ALARM",
           "properties": [
             {
               "id": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "name": "AWS/ALARM_TYPE",
               "dataType": "STRING",
               "type": {
                 "attribute": {
                   "defaultValue": "IOT_EVENTS"
                 }
               }
             },
             {
               "id": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
               "name": "AWS/ALARM_STATE",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/ALARM_STATE",
               "type": {
                 "measurement": {}
               }
             },
             {
               "name": "AWS/ALARM_SOURCE",
               "dataType": "STRING",
               "type": {
                 "attribute": {
                   "defaultValue": "alarmModelArn"
                 }
               }
             }
           ]
         }
       ]
     }
     ```

  1. Exécutez la commande suivante pour mettre à jour le modèle d'actif avec la définition stockée dans le `update-asset-model-payload.json` fichier. 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://update-asset-model-payload.json
     ```

Votre modèle d'équipement définit désormais une alarme qui détecte AWS IoT Events. L'alarme surveille la propriété cible dans tous les actifs sur la base de ce modèle d'actif. Vous pouvez configurer l'alarme sur chaque actif afin de personnaliser les propriétés telles que le seuil ou le destinataire du IAM Identity Center pour chaque actif. Pour de plus amples informations, veuillez consulter [Configurer les alarmes sur les actifs dans AWS IoT SiteWise](configure-alarms.md).

# Définissez les alarmes externes dans AWS IoT SiteWise
<a name="define-external-alarms"></a>

Les alarmes externes contiennent l'état d'une alarme que vous détectez à l'extérieur AWS IoT SiteWise.

## Définir une alarme externe (console)
<a name="define-external-alarm-console"></a>

Vous pouvez utiliser la AWS IoT SiteWise console pour définir une alarme externe sur un modèle d'actif existant. Pour définir une alarme externe sur un nouveau modèle d'actif, créez le modèle d'actif, puis procédez comme suit. Pour de plus amples informations, veuillez consulter [Créez des modèles d'actifs dans AWS IoT SiteWise](create-asset-models.md).

**Pour définir une alarme sur un modèle d'actif**

1. <a name="sitewise-open-console"></a>Accédez à la [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-models"></a>Dans le panneau de navigation, choisissez **Models (Modèles)**.

1. Choisissez le modèle d'actif pour lequel vous souhaitez définir une alarme.

1. Choisissez l'onglet **Définitions des alarmes**.

1. Choisissez **Ajouter une alarme**.

1. Dans les **options de type d'alarme**, choisissez **Alarme externe**.

1. Saisissez un nom pour votre alarme.

1. (Facultatif) Entrez une description pour votre alarme.

1. Choisissez **Ajouter une alarme**.

## Définir une alarme externe (CLI)
<a name="define-external-alarm-cli"></a>

Vous pouvez utiliser le AWS CLI pour définir une alarme externe sur un modèle d'actif nouveau ou existant.

Pour ajouter une alarme externe à un modèle d'actif, vous devez ajouter un modèle composite d'alarme au modèle d'actif. Un modèle composite d'alarme externe spécifie le `EXTERNAL` type et ne spécifie aucune propriété de source d'alarme. L'exemple d'alarme composite suivant définit une alarme de température externe.

```
{
  ...
  "assetModelCompositeModels": [
    {
      "name": "BoilerTemperatureHighAlarm",
      "type": "AWS/ALARM",
      "properties": [
        {
          "name": "AWS/ALARM_TYPE",
          "dataType": "STRING",
          "type": {
            "attribute": {
              "defaultValue": "EXTERNAL"
            }
          }
        },
        {
          "name": "AWS/ALARM_STATE",
          "dataType": "STRUCT",
          "dataTypeSpec": "AWS/ALARM_STATE",
          "type": {
            "measurement": {}
          }
        }
      ]
    }
  ]
}
```

Pour plus d'informations sur la façon d'ajouter un modèle composite à un modèle d'actif nouveau ou existant, consultez ce qui suit :
+ [Création d'un modèle d'actifs (AWS CLI)](create-asset-models.md#create-asset-model-cli)
+ [Mettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI)](update-asset-models.md#update-asset-model-cli)

Après avoir défini l'alarme externe, vous pouvez intégrer l'état de l'alarme aux actifs en fonction du modèle de l'actif. Pour de plus amples informations, veuillez consulter [Ingérer un état d'alarme externe dans AWS IoT SiteWise](ingest-external-alarm-state.md).