Definieren Sie Alarme AWS IoT Events - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Definieren Sie Alarme AWS IoT Events

Wenn Sie einen AWS IoT Events Alarm erstellen, AWS IoT SiteWise sendet die Eigenschaftswerte der Anlage an AWS IoT Events , um den Status des Alarms auszuwerten. AWS IoT Events Alarmdefinitionen hängen von einem Alarmmodell ab, in dem Sie sie definieren AWS IoT Events. Um einen AWS IoT Events Alarm anhand eines Anlagenmodells zu definieren, definieren Sie ein zusammengesetztes Alarmmodell, das das AWS IoT Events Alarmmodell als Alarmquelleneigenschaft angibt.

AWS IoT Events Alarme hängen von Eingaben wie Alarmschwellenwerten und Einstellungen für Alarmbenachrichtigungen ab. Sie definieren diese Eingaben als Attribute im Asset-Modell. Sie können diese Eingaben dann für jedes Asset auf der Grundlage des Modells anpassen. Die AWS IoT SiteWise Konsole kann diese Attribute für Sie erstellen. Wenn Sie Alarme mit dem AWS CLI oder definierenAPI, müssen Sie diese Attribute manuell im Asset-Modell definieren.

Sie können auch andere Aktionen definieren, die ausgeführt werden, wenn Ihr Alarm erkannt wird, z. B. benutzerdefinierte Aktionen für Alarmbenachrichtigungen. Sie können beispielsweise eine Aktion konfigurieren, die eine Push-Benachrichtigung an ein SNS Amazon-Thema sendet. Weitere Informationen zu den Aktionen, die Sie definieren können, finden Sie unter Arbeiten mit anderen AWS Diensten im AWS IoT Events Entwicklerhandbuch.

Wenn Sie ein Asset-Modell aktualisieren oder löschen, AWS IoT SiteWise kann überprüft werden, ob ein Alarmmodell eine mit diesem Asset-Modell verknüpfte Anlageneigenschaft überwacht. AWS IoT Events Dadurch wird verhindert, dass Sie eine Anlageneigenschaft löschen, die derzeit von einem AWS IoT Events Alarm verwendet wird. Um diese Funktion in zu aktivieren AWS IoT SiteWise, benötigen Sie die iotevents:ListInputRoutings entsprechende Genehmigung. Mit dieser Berechtigung können AWS IoT SiteWise Sie den ListInputRoutingsAPIVorgang aufrufen, der von unterstützt wird AWS IoT Events. Weitere Informationen finden Sie unter (Optionale) ListInputRoutings Erlaubnis.

Anmerkung

Die Funktion für Alarmbenachrichtigungen ist in der Region China (Peking) nicht verfügbar.

Definieren Sie einen AWS IoT Events Alarm (AWS IoT SiteWise Konsole)

Sie können die AWS IoT SiteWise Konsole verwenden, um einen AWS IoT Events Alarm für ein vorhandenes Anlagenmodell zu definieren. Um einen AWS IoT Events Alarm für ein neues Asset-Modell zu definieren, erstellen Sie das Asset-Modell und führen Sie dann diese Schritte aus. Weitere Informationen finden Sie unter Erstellen Sie Asset-Modelle.

Wichtig

Für jeden Alarm ist ein Attribut erforderlich, das den Schwellenwert angibt, mit dem für den Alarm verglichen werden soll. Sie müssen das Schwellenwertattribut im Asset-Modell definieren, bevor Sie einen Alarm definieren können.

Stellen Sie sich ein Beispiel vor, in dem Sie einen Alarm definieren möchten, der erkennt, wenn eine Windkraftanlage ihre maximale Nennwindgeschwindigkeit von 50 mph überschreitet. Bevor Sie den Alarm definieren, müssen Sie ein Attribut (Maximale Windgeschwindigkeit) mit dem Standardwert definieren50.

Um einen AWS IoT Events Alarm für ein Asset-Modell zu definieren
  1. Navigieren Sie zur AWS IoT SiteWise -Konsole.

  2. Klicken Sie im Navigationsbereich auf Models (Modelle).

  3. Wählen Sie das Asset-Modell aus, für das Sie einen Alarm definieren möchten.

  4. Wählen Sie die Registerkarte Alarm.

  5. Wählen Sie Alarm hinzufügen.

  6. Wählen Sie im Bereich Optionen für den Alarmtyp die Option AWS IoT Events Alarm aus.

  7. Gehen Sie im Abschnitt Alarmdetails wie folgt vor:

    1. Geben Sie einen Namen für den Alarm ein.

    2. (Optional) Geben Sie eine Beschreibung für Ihren Alarm ein.

  8. Im Abschnitt Schwellenwertdefinitionen legen Sie fest, wann der Alarm erkannt wird und wie schwerwiegend der Alarm ist. Gehen Sie wie folgt vor:

    1. Wählen Sie die Eigenschaft aus, bei der der Alarm erkannt wird. Jedes Mal, wenn diese Eigenschaft einen neuen Wert erhält, wird der Wert AWS IoT SiteWise an gesendet, AWS IoT Events um den Status des Alarms auszuwerten.

    2. Wählen Sie den Operator aus, der verwendet werden soll, um die Eigenschaft mit dem Schwellenwert zu vergleichen. Wählen Sie aus den folgenden Optionen aus:

      • < weniger als

      • <= kleiner als oder gleich

      • == gleich

      • ! = nicht gleich

      • >= größer als oder gleich

      • > größer als

    3. Wählen Sie unter Wert die Attributeigenschaft aus, die als Schwellenwert verwendet werden soll. AWS IoT Events vergleicht den Wert der Eigenschaft mit dem Wert dieses Attributs.

    4. Geben Sie den Schweregrad des Alarms ein. Verwenden Sie eine Zahl, die Ihr Team versteht, um den Schweregrad dieses Alarms wiederzugeben.

  9. (Optional) Gehen Sie im Abschnitt Benachrichtigungseinstellungen — optional wie folgt vor:

    1. Wählen Sie Aktiv.

      Anmerkung

      Wenn Sie Inaktiv wählen, erhalten Sie und Ihr Team keine Alarmbenachrichtigungen.

    2. Wählen Sie unter Empfänger den Empfänger aus.

      Wichtig

      Sie können Alarmbenachrichtigungen an AWS IAM Identity Center Benutzer senden. Um diese Funktion nutzen zu können, müssen Sie IAM Identity Center aktivieren. Sie können IAM Identity Center jeweils nur in einer AWS Region aktivieren. Das bedeutet, dass Sie Alarmbenachrichtigungen nur in der Region definieren können, in der Sie IAM Identity Center aktivieren. Weitere Informationen finden Sie unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch.

    3. Wählen Sie unter Protokoll eine der folgenden Optionen aus:

      • E-Mail und Text — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer SMS Nachricht und einer E-Mail-Nachricht.

      • E-Mail — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer E-Mail-Nachricht.

      • Text — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer SMS Nachricht.

    4. Wählen Sie unter Absender den Absender aus.

      Wichtig

      Sie müssen die Absender-E-Mail-Adresse in Amazon Simple Email Service (AmazonSES) verifizieren. Weitere Informationen finden Sie unter Verifizieren der Identität einer E-Mail-Adresse im Amazon Simple Email Service Developer Guide.

  10. Im Abschnitt Standard-Asset-Status können Sie den Standardstatus für Alarme festlegen, die mit diesem Asset-Modell erstellt wurden.

    Anmerkung

    Sie aktivieren oder deaktivieren diesen Alarm für Assets, die Sie in einem späteren Schritt anhand dieses Asset-Modells erstellen.

  11. Im Bereich Erweiterte Einstellungen können Sie die Berechtigungen, die zusätzlichen Benachrichtigungseinstellungen, die Alarmstatusaktionen, das Alarmmodell in SiteWise Monitor und den Bestätigungsablauf konfigurieren.

    Anmerkung

    AWS IoT Events Für Alarme sind die folgenden Servicerollen erforderlich:

    • Eine Rolle, die AWS IoT Events davon ausgeht, Alarmstatuswerte an zu senden AWS IoT SiteWise.

    • Eine Rolle, die AWS IoT Events davon ausgeht, Daten an Lambda zu senden. Sie benötigen diese Rolle nur, wenn Ihr Alarm Benachrichtigungen sendet.

    Gehen Sie im Abschnitt Berechtigungen wie folgt vor:

    1. Verwenden Sie als AWS IoT Events Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Diese Rolle erfordert die iotsitewise:BatchPutAssetPropertyValue Erlaubnis und eine Vertrauensbeziehung, die es iotevents.amazonaws.com ermöglicht, die Rolle zu übernehmen.

    2. Verwenden Sie für die AWS IoT Events Lambda-Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Für diese Rolle sind die sso-directory:DescribeUser Berechtigungen lambda:InvokeFunction und sowie eine Vertrauensbeziehung erforderlich, die es ermöglicht, die Rolle iotevents.amazonaws.com zu übernehmen.

  12. (Optional) Gehen Sie im Abschnitt Zusätzliche Benachrichtigungseinstellungen wie folgt vor:

    1. Für das Empfängerattribut definieren Sie ein Attribut, dessen Wert den Empfänger der Benachrichtigung angibt. Sie können IAM Identity Center-Benutzer als Empfänger auswählen.

      Sie können ein Attribut erstellen oder ein vorhandenes Attribut im Asset-Modell verwenden.

      • Wenn Sie Neues Empfängerattribut erstellen wählen, geben Sie den Namen des Empfängerattributs und den Standardwert Empfänger an — optional für das Attribut.

      • Wenn Sie Bestehendes Empfängerattribut verwenden wählen, wählen Sie das Attribut im Feld Name des Empfängerattributs aus. Der Alarm verwendet den Standardwert des von Ihnen ausgewählten Attributs.

      Sie können den Standardwert für jedes Asset, das Sie anhand dieses Asset-Modells erstellen, überschreiben.

    2. Für das benutzerdefinierte Nachrichtenattribut definieren Sie ein Attribut, dessen Wert die benutzerdefinierte Nachricht angibt, die zusätzlich zur Standardnachricht zur Statusänderung gesendet werden soll. Sie können beispielsweise eine Nachricht angeben, die Ihrem Team hilft, zu verstehen, wie mit diesem Alarm umgegangen werden kann.

      Sie können wählen, ob Sie ein Attribut erstellen oder ein vorhandenes Attribut im Asset-Modell verwenden möchten.

      • Wenn Sie sich dafür entscheiden, ein neues benutzerdefiniertes Nachrichtenattribut zu erstellen, geben Sie den Namen des benutzerdefinierten Nachrichtenattributs und den Standardwert für benutzerdefinierte Nachricht an — optional für das Attribut.

      • Wenn Sie Ein vorhandenes benutzerdefiniertes Nachrichtenattribut verwenden wählen, wählen Sie das Attribut unter Name des benutzerdefinierten Nachrichtenattributs aus. Der Alarm verwendet den Standardwert des von Ihnen ausgewählten Attributs.

      Sie können den Standardwert für jedes Asset, das Sie anhand dieses Asset-Modells erstellen, überschreiben.

    3. Führen Sie für Manage your Lambda function einen der folgenden Schritte aus:

      • Um eine neue Lambda-Funktion AWS IoT SiteWise erstellen zu lassen, wählen Sie Create a new lambda from an AWS managed template.

      • Um eine bestehende Lambda-Funktion zu verwenden, wählen Sie Use an existing lambda und wählen Sie den Namen der Funktion.

      Weitere Informationen finden Sie unter Verwaltung von Alarmbenachrichtigungen im AWS IoT Events Entwicklerhandbuch.

  13. (Optional) Gehen Sie im Abschnitt Statusaktion festlegen wie folgt vor:

    1. Wählen Sie Aktion bearbeiten aus.

    2. Fügen Sie unter Aktionen zum Alarmstatus hinzufügen die Aktionen hinzu und wählen Sie dann Speichern aus.

      Sie können bis zu 10 Aktionen hinzufügen.

    AWS IoT Events kann Aktionen ausführen, wenn der Alarm aktiv ist. Sie können integrierte Aktionen definieren, um einen Timer zu verwenden oder eine Variable festzulegen oder Daten an andere AWS Ressourcen zu senden. Weitere Informationen finden Sie im AWS IoT Events Entwicklerhandbuch unter Unterstützte Aktionen.

  14. (Optional) Wählen Sie unter Alarmmodell im SiteWise Monitor verwalten — optional die Option Aktiv oder Inaktiv aus.

    Verwenden Sie diese Option, damit Sie das Alarmmodell in SiteWise Monitoren aktualisieren können. Diese Option ist standardmäßig aktiviert.

  15. Wählen Sie unter Acknowledge-Flow die Option Aktiv oder Inaktiv aus. Weitere Informationen zum Bestätigungsablauf finden Sie unterAlarmzustände.

  16. Wählen Sie „Alarm hinzufügen“.

    Anmerkung

    Die AWS IoT SiteWise Konsole stellt mehrere API Anfragen, um den Alarm zum Asset-Modell hinzuzufügen. Wenn Sie Alarm hinzufügen wählen, öffnet die Konsole ein Dialogfeld, in dem der Status dieser API Anfragen angezeigt wird. Bleiben Sie auf dieser Seite, bis jede API Anfrage erfolgreich ist oder bis eine API Anfrage fehlschlägt. Wenn eine Anfrage fehlschlägt, schließen Sie das Dialogfeld, beheben Sie das Problem und wählen Sie Alarm hinzufügen, um es erneut zu versuchen.

Definieren Sie einen AWS IoT Events Alarm (AWS IoT Events Konsole)

Sie können die AWS IoT Events Konsole verwenden, um einen AWS IoT Events Alarm für ein vorhandenes Anlagenmodell zu definieren. Um einen AWS IoT Events Alarm für ein neues Asset-Modell zu definieren, erstellen Sie das Asset-Modell und führen Sie dann diese Schritte aus. Weitere Informationen finden Sie unter Erstellen Sie Asset-Modelle.

Wichtig

Für jeden Alarm ist ein Attribut erforderlich, das den Schwellenwert angibt, mit dem für den Alarm verglichen werden soll. Sie müssen das Schwellenwertattribut im Asset-Modell definieren, bevor Sie einen Alarm definieren können.

Stellen Sie sich ein Beispiel vor, in dem Sie einen Alarm definieren möchten, der erkennt, wenn eine Windkraftanlage ihre maximale Nennwindgeschwindigkeit von 50 mph überschreitet. Bevor Sie den Alarm definieren, müssen Sie ein Attribut (Maximale Windgeschwindigkeit) mit dem Standardwert definieren50.

Um einen AWS IoT Events Alarm für ein Asset-Modell zu definieren
  1. Navigieren Sie zur AWS IoT Events -Konsole.

  2. Wählen Sie im Navigationsbereich die Option Alarmmodelle aus.

  3. Wählen Sie Alarmmodell erstellen aus.

  4. Geben Sie einen Namen für den Alarm ein.

  5. (Optional) Geben Sie eine Beschreibung für Ihren Alarm ein.

  6. Gehen Sie im Bereich Alarmziel wie folgt vor:

    1. Wählen Sie unter Zieloptionen die Option AWS IoT SiteWise Asset-Eigenschaft aus.

    2. Wählen Sie das Asset-Modell aus, für das Sie den Alarm hinzufügen möchten.

  7. Im Abschnitt Schwellenwertdefinitionen legen Sie fest, wann der Alarm erkannt wird und wie schwerwiegend der Alarm ist. Gehen Sie wie folgt vor:

    1. Wählen Sie die Eigenschaft aus, bei der der Alarm erkannt wird. Jedes Mal, wenn diese Eigenschaft einen neuen Wert erhält, wird der Wert AWS IoT SiteWise an gesendet, AWS IoT Events um den Status des Alarms auszuwerten.

    2. Wählen Sie den Operator aus, der verwendet werden soll, um die Eigenschaft mit dem Schwellenwert zu vergleichen. Wählen Sie aus den folgenden Optionen aus:

      • < weniger als

      • <= kleiner als oder gleich

      • == gleich

      • ! = nicht gleich

      • >= größer als oder gleich

      • > größer als

    3. Wählen Sie unter Wert die Attributeigenschaft aus, die als Schwellenwert verwendet werden soll. AWS IoT Events vergleicht den Wert der Eigenschaft mit dem Wert dieses Attributs.

    4. Geben Sie den Schweregrad des Alarms ein. Verwenden Sie eine Zahl, die Ihr Team versteht, um den Schweregrad dieses Alarms wiederzugeben.

  8. (Optional) Gehen Sie im Abschnitt Benachrichtigungseinstellungen — optional wie folgt vor:

    1. Wählen Sie unter Protokoll eine der folgenden Optionen aus:

      • E-Mail und Text — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer SMS Nachricht und einer E-Mail-Nachricht.

      • E-Mail — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer E-Mail-Nachricht.

      • Text — Der Alarm benachrichtigt IAM Identity Center-Benutzer mit einer SMS Nachricht.

    2. Wählen Sie unter Absender den Absender aus.

      Wichtig

      Sie müssen die Absender-E-Mail-Adresse in Amazon Simple Email Service (AmazonSES) verifizieren. Weitere Informationen finden Sie unter Verifizieren von E-Mail-Adressen bei Amazon im Amazon SES Simple Email Service Developer Guide.

    3. Wählen Sie das Attribut unter Empfängerattribut — optional aus. Der Alarm verwendet den Standardwert des von Ihnen ausgewählten Attributs.

    4. Wählen Sie das Attribut unter Benutzerdefiniertes Nachrichtenattribut — optional aus. Der Alarm verwendet den Standardwert des von Ihnen ausgewählten Attributs.

  9. Geben Sie im Abschnitt Instanz den Standardstatus für diesen Alarm an. Sie können diesen Alarm in einem späteren Schritt für alle Assets aktivieren oder deaktivieren, die Sie anhand dieses Asset-Modells erstellen.

  10. In den erweiterten Einstellungen können Sie die Berechtigungen, die zusätzlichen Benachrichtigungseinstellungen, die Alarmstatusaktionen, das Alarmmodell in SiteWise Monitor und den Bestätigungsablauf konfigurieren.

    Anmerkung

    AWS IoT Events Für Alarme sind die folgenden Servicerollen erforderlich:

    • Eine Rolle, die AWS IoT Events davon ausgeht, Alarmstatuswerte an zu senden AWS IoT SiteWise.

    • Eine Rolle, die AWS IoT Events davon ausgeht, Daten an Lambda zu senden. Sie benötigen diese Rolle nur, wenn Ihr Alarm Benachrichtigungen sendet.

    1. Wählen Sie im Abschnitt Bestätigungsablauf die Option Aktiviert oder Deaktiviert aus. Weitere Informationen zum Bestätigungsablauf finden Sie unterAlarmzustände.

    2. Gehen Sie im Abschnitt Berechtigungen wie folgt vor:

      1. Verwenden Sie als AWS IoT Events Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Diese Rolle erfordert die iotsitewise:BatchPutAssetPropertyValue Erlaubnis und eine Vertrauensbeziehung, die es iotevents.amazonaws.com ermöglicht, die Rolle zu übernehmen.

      2. Verwenden Sie für die Lambda-Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Für diese Rolle sind die sso-directory:DescribeUser Berechtigungen lambda:InvokeFunction und sowie eine Vertrauensbeziehung erforderlich, die es ermöglicht, die Rolle iotevents.amazonaws.com zu übernehmen.

    3. (Optional) Gehen Sie im Bereich Zusätzliche Benachrichtigungseinstellungen wie folgt vor:

      1. Führen Sie für Manage your Lambda function einen der folgenden Schritte aus:

        • Um eine neue Lambda-Funktion AWS IoT Events erstellen zu lassen, wählen Sie Create a new Lambda-Funktion.

        • Um eine bestehende Lambda-Funktion zu verwenden, wählen Sie Bestehende Lambda-Funktion verwenden und wählen Sie den Namen der Funktion.

        Weitere Informationen finden Sie unter Verwaltung von Alarmbenachrichtigungen im AWS IoT Events Entwicklerhandbuch.

    4. (Optional) Gehen Sie im Abschnitt Statusaktion festlegen — optional wie folgt vor:

      1. Fügen Sie unter Aktionen zum Alarmstatus die Aktionen hinzu und wählen Sie dann Speichern aus.

        Sie können bis zu 10 Aktionen hinzufügen.

      AWS IoT Events kann Aktionen ausführen, wenn der Alarm aktiv ist. Sie können integrierte Aktionen definieren, um einen Timer zu verwenden oder eine Variable festzulegen oder Daten an andere AWS Ressourcen zu senden. Weitere Informationen finden Sie im AWS IoT Events Entwicklerhandbuch unter Unterstützte Aktionen.

  11. Wählen Sie Create (Erstellen) aus.

    Anmerkung

    Die AWS IoT Events Konsole stellt mehrere API Anfragen, um den Alarm zum Asset-Modell hinzuzufügen. Wenn Sie Alarm hinzufügen wählen, öffnet die Konsole ein Dialogfeld, in dem der Status dieser API Anfragen angezeigt wird. Bleiben Sie auf dieser Seite, bis jede API Anfrage erfolgreich ist oder bis eine API Anfrage fehlschlägt. Wenn eine Anfrage fehlschlägt, schließen Sie das Dialogfeld, beheben Sie das Problem und wählen Sie Alarm hinzufügen, um es erneut zu versuchen.

Definieren Sie einen AWS IoT Events Alarm (AWS CLI)

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um einen AWS IoT Events Alarm zu definieren, der eine Anlageneigenschaft überwacht. Sie können den Alarm für ein neues oder ein vorhandenes Asset-Modell definieren. Nachdem Sie den Alarm für das Asset-Modell definiert haben, erstellen Sie einen Alarm im Asset-Modell AWS IoT Events und verbinden ihn mit dem Asset-Modell. In diesem Prozess gehen Sie wie folgt vor:

Schritt 1: Definieren Sie einen Alarm für ein Asset-Modell

Fügen Sie eine Alarmdefinition und zugehörige Eigenschaften zu einem neuen oder vorhandenen Anlagenmodell hinzu.

Um einen Alarm für ein Asset-Modell zu definieren (CLI)
  1. Erstellen Sie eine Datei mit dem Namen asset-model-payload.json. Folgen Sie den Schritten in diesen anderen Abschnitten, um die Details Ihres Asset-Modells zur Datei hinzuzufügen, reichen Sie aber nicht die Anfrage zur Erstellung oder Aktualisierung des Asset-Modells ein. In diesem Abschnitt fügen Sie den Asset-Modelldetails in der asset-model-payload.json Datei eine Alarmdefinition hinzu.

    Anmerkung

    Ihr Anlagenmodell muss mindestens eine Anlageneigenschaft definieren, einschließlich der Anlageneigenschaft, die mit dem Alarm überwacht werden soll.

  2. Fügen Sie dem Anlagenmodell ein zusammengesetztes Alarmmodell (assetModelCompositeModels) hinzu. Ein zusammengesetztes AWS IoT Events Alarmmodell spezifiziert den IOT_EVENTS Typ und gibt eine Alarmquelleneigenschaft an. Sie fügen die Eigenschaft Alarmquelle hinzu, nachdem Sie das Alarmmodell in erstellt haben AWS IoT Events.

    Wichtig

    Das zusammengesetzte Alarmmodell muss denselben Namen haben wie das AWS IoT Events Alarmmodell, das Sie später erstellen. Namen von Alarmmodellen dürfen nur alphanumerische Zeichen enthalten. Geben Sie einen eindeutigen, alphanumerischen Namen an, sodass Sie denselben Namen für das Alarmmodell verwenden können.

    { ... "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": {} } } ] } ] }
  3. Fügen Sie dem Asset-Modell ein Alarmschwellenwertattribut hinzu. Geben Sie den Standardwert an, der für diesen Schwellenwert verwendet werden soll. Sie können diesen Standardwert für jedes Asset, das auf diesem Modell basiert, überschreiben.

    Anmerkung

    Das Alarmschwellenwertattribut muss ein INTEGER oder a seinDOUBLE.

    { ... "assetModelProperties": [ ... { "name": "Temperature Max Threshold", "dataType": "DOUBLE", "type": { "attribute": { "defaultValue": "105.0" } } } ] }
  4. (Optional) Fügen Sie dem Asset-Modell Attribute für Alarmbenachrichtigungen hinzu. Diese Attribute geben den IAM Identity Center-Empfänger und andere Eingaben an, über die AWS IoT Events Benachrichtigungen gesendet werden, wenn sich der Status des Alarms ändert. Sie können diese Standardeinstellungen für jedes Asset, das auf diesem Modell basiert, überschreiben.

    Wichtig

    Sie können Alarmbenachrichtigungen an AWS IAM Identity Center Benutzer senden. Um diese Funktion nutzen zu können, müssen Sie IAM Identity Center aktivieren. Sie können IAM Identity Center jeweils nur in einer AWS Region aktivieren. Das bedeutet, dass Sie Alarmbenachrichtigungen nur in der Region definieren können, in der Sie IAM Identity Center aktivieren. Weitere Informationen finden Sie unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch.

    Gehen Sie wie folgt vor:

    1. Fügen Sie ein Attribut hinzu, das die ID Ihres IAM Identity Center-Identitätsspeichers angibt. Sie können den IAM Identity ListInstancesAPICenter-Vorgang verwenden, um Ihre Identitätsspeicher aufzulisten. Dieser Vorgang funktioniert nur in der Region, in der Sie IAM Identity Center aktivieren.

      aws sso-admin list-instances

      Geben Sie dann die Identitätsspeicher-ID (z. B.d-123EXAMPLE) als Standardwert für das Attribut an.

      { ... "assetModelProperties": [ ... { "name": "identityStoreId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "d-123EXAMPLE" } } } ] }
    2. Fügen Sie ein Attribut hinzu, das die ID des IAM Identity Center-Benutzers angibt, der Benachrichtigungen erhält. Um einen Standardempfänger für Benachrichtigungen zu definieren, fügen Sie eine IAM Identity Center-Benutzer-ID als Standardwert hinzu. Gehen Sie wie folgt vor, um eine IAM Identity Center-Benutzer-ID zu erhalten:

      1. Sie können das IAM Identity Center verwenden ListUsersAPI, um die ID eines Benutzers abzurufen, dessen Benutzernamen Sie kennen. Ersetzen d-123EXAMPLE mit der ID Ihres Identitätsspeichers und ersetzen Name mit dem Benutzernamen des Benutzers.

        aws identitystore list-users \ --identity-store-id d-123EXAMPLE \ --filters AttributePath=UserName,AttributeValue=Name
      2. Verwenden Sie die IAMIdentity Center-Konsole, um Ihre Benutzer zu durchsuchen und eine Benutzer-ID zu finden.

      Geben Sie dann die Benutzer-ID (z. B.123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE) als Standardwert für das Attribut an, oder definieren Sie das Attribut ohne Standardwert.

      { ... "assetModelProperties": [ ... { "name": "userId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE" } } } ] }
    3. (Optional) Fügen Sie ein Attribut hinzu, das die Standard-Absender-ID für SMS (Text-) Nachrichtenbenachrichtigungen angibt. Die Absender-ID wird in Nachrichten, die Amazon Simple Notification Service (AmazonSNS) sendet, als Nachrichtenabsender angezeigt. Weitere Informationen finden Sie unter Absender IDs für SMS Nachrichten bei Amazon anfordern SNS im Amazon Simple Notification Service Developer Guide.

      { ... "assetModelProperties": [ ... { "name": "senderId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "MyFactory" } } } ] }
    4. (Optional) Fügen Sie ein Attribut hinzu, das die Standard-E-Mail-Adresse angibt, die als Absenderadresse in E-Mail-Benachrichtigungen verwendet werden soll.

      { ... "assetModelProperties": [ ... { "name": "fromAddress", "dataType": "STRING", "type": { "attribute": { "defaultValue": "my.factory@example.com" } } } ] }
    5. (Optional) Fügen Sie ein Attribut hinzu, das den Standard-Betreff für E-Mail-Benachrichtigungen angibt.

      { ... "assetModelProperties": [ ... { "name": "emailSubject", "dataType": "STRING", "type": { "attribute": { "defaultValue": "[ALERT] High boiler temperature" } } } ] }
    6. (Optional) Fügen Sie ein Attribut hinzu, das eine zusätzliche Nachricht angibt, die in Benachrichtigungen aufgenommen werden soll. Standardmäßig enthalten Benachrichtigungen Informationen über den Alarm. Sie können auch eine zusätzliche Nachricht hinzufügen, die dem Benutzer weitere Informationen gibt.

      { ... "assetModelProperties": [ ... { "name": "additionalMessage", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Turn off the power before you check the alarm." } } } ] }
  5. Erstellen Sie das Asset-Modell oder aktualisieren Sie das bestehende Asset-Modell. Führen Sie eine der folgenden Aktionen aus:

    • Führen Sie den folgenden Befehl aus, um das Asset-Modell zu erstellen.

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • Führen Sie den folgenden Befehl aus, um das vorhandene Asset-Modell zu aktualisieren. Ersetzen asset-model-id mit der ID des Asset-Modells.

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

    Nachdem Sie den Befehl ausgeführt haben, notieren Sie sich das assetModelId in der Antwort.

Das folgende Anlagenmodell stellt einen Kessel dar, der Temperaturdaten meldet. Dieses Anlagenmodell definiert einen Alarm, der erkennt, wenn der Kessel überhitzt.

{ "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": {} } } ] } ] }

Schritt 2: Definieren Sie ein Alarmmodell AWS IoT Events

Erstellen Sie das Alarmmodell in AWS IoT Events. In AWS IoT Events verwenden Sie Ausdrücke, um Werte in Alarmmodellen anzugeben. Sie können Ausdrücke verwenden, um Werte anzugeben AWS IoT SiteWise , die ausgewertet und als Eingaben für den Alarm verwendet werden sollen. Wenn die Eigenschaftswerte einer Anlage AWS IoT SiteWise an das Alarmmodell sendet, AWS IoT Events wertet sie den Ausdruck aus, um den Wert der Eigenschaft oder die ID der Anlage zu ermitteln. Sie können die folgenden Ausdrücke im Alarmmodell verwenden:

  • Werte der Eigenschaften von Vermögenswerten

    Verwenden Sie den folgenden Ausdruck, um den Wert einer Anlageneigenschaft zu ermitteln. Ersetzen assetModelId mit der ID des Asset-Modells und ersetzen propertyId mit der ID der Immobilie.

    $sitewise.assetModel.`assetModelId`.`propertyId`.propertyValue.value
  • Vermögenswert IDs

    Verwenden Sie den folgenden Ausdruck, um die ID des Assets abzurufen. Ersetzen assetModelId mit der ID des Asset-Modells und ersetzen propertyId mit der ID der Immobilie.

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

Wenn Sie das Alarmmodell erstellen, können Sie Literale anstelle von Ausdrücken definieren, die zu AWS IoT SiteWise Werten ausgewertet werden. Dadurch kann die Anzahl der Attribute, die Sie in Ihrem Asset-Modell definieren, reduziert werden. Wenn Sie jedoch einen Wert als Literalwert definieren, können Sie diesen Wert nicht für Anlagen anpassen, die auf dem Anlagemodell basieren. Ihre AWS IoT SiteWise Monitor Benutzer können den Alarm auch nicht anpassen, da sie Alarmeinstellungen nur für Assets konfigurieren können.

Um ein AWS IoT Events Alarmmodell zu erstellen (CLI)
  1. Wenn Sie das Alarmmodell in erstellen AWS IoT Events, müssen Sie die ID jeder Eigenschaft angeben, die der Alarm verwendet. Dazu gehören:

    • Die Eigenschaft „Alarmstatus“ im zusammengesetzten Objektmodell

    • Die Eigenschaft, die der Alarm überwacht

    • Das Schwellenwertattribut

    • (Optional) Das IAM Identity Center-ID-Attribut für den Identitätsspeicher

    • (Optional) Das IAM Identity Center-Benutzer-ID-Attribut

    • (Optional) Das SMS Absender-ID-Attribut

    • (Optional) Das E-Mail-Absender-Adressattribut

    • (Optional) Das E-Mail-Betreff-Attribut

    • (Optional) Das zusätzliche Nachrichtenattribut

    Führen Sie den folgenden Befehl aus, um die IDs dieser Eigenschaften für das Asset-Modell abzurufen. Ersetzen asset-model-id mit der ID des Asset-Modells aus dem vorherigen Schritt.

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

    Die Operation gibt eine Antwort zurück, die Details des Komponentenmodells enthält. Notieren Sie sich die ID jeder Eigenschaft, die der Alarm verwendet. Sie verwenden dieseIDs, wenn Sie im nächsten Schritt das AWS IoT Events Alarmmodell erstellen.

  2. Erstellen Sie das Alarmmodell in AWS IoT Events. Gehen Sie wie folgt vor:

    1. Erstellen Sie eine Datei mit dem Namen alarm-model-payload.json.

    2. Kopieren Sie das folgende JSON Objekt in die Datei.

    3. Geben Sie einen Namen (alarmModelName), eine Beschreibung (alarmModelDescription) und einen Schweregrad (severity) für Ihren Alarm ein. Geben Sie für den Schweregrad eine Ganzzahl an, die den Schweregrad Ihres Unternehmens widerspiegelt.

      Wichtig

      Das Alarmmodell muss denselben Namen haben wie das zusammengesetzte Alarmmodell, das Sie zuvor für Ihr Anlagenmodell definiert haben.

      Namen von Alarmmodellen dürfen nur alphanumerische Zeichen enthalten.

      { "alarmModelName": "BoilerTemperatureHighAlarm", "alarmModelDescription": "Detects when the boiler temperature is high.", "severity": 3 }
    4. Fügen Sie dem Alarm die Vergleichsregel (alarmRule) hinzu. Diese Regel definiert die zu überwachende Eigenschaft (inputProperty), den zu vergleichenden Schwellenwert (threshold) und den zu verwendenden Vergleichsoperator (comparisonOperator).

      • Ersetzen assetModelId mit der ID des Asset-Modells.

      • Ersetzen alarmPropertyId mit der ID der Immobilie, die der Alarm überwacht.

      • Ersetzen thresholdAttributeId mit der ID der Eigenschaft des Threshold-Attributs.

      • Ersetzen GREATER mit dem Operator, der verwendet werden soll, um die Eigenschaftswerte mit dem Schwellenwert zu vergleichen. Wählen Sie aus den folgenden Optionen aus:

        • 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" } } }
    5. Fügen Sie eine Aktion (alarmEventActions) hinzu, um den Alarmstatus an den AWS IoT SiteWise Zeitpunkt zu senden, an dem der Alarm seinen Status ändert.

      Anmerkung

      Für eine erweiterte Konfiguration können Sie zusätzliche Aktionen definieren, die ausgeführt werden, wenn sich der Zustand des Alarms ändert. Sie können beispielsweise eine AWS Lambda Funktion aufrufen oder zu einem MQTT Thema veröffentlichen. Weitere Informationen finden Sie im AWS IoT Events Entwicklerhandbuch unter Arbeiten mit anderen AWS Diensten.

      • Ersetzen assetModelId mit der ID des Asset-Modells.

      • Ersetzen alarmPropertyId mit der ID der Immobilie, die der Alarm überwacht.

      • Ersetzen alarmStatePropertyId mit der ID der Eigenschaft „Alarmstatus“ im zusammengesetzten Alarmmodell.

      { "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'" } } ] } }
    6. (Optional) Konfigurieren Sie die Einstellungen für die Alarmbenachrichtigung. Die Alarmbenachrichtigungsaktion verwendet eine Lambda-Funktion in Ihrem Konto, um Alarmbenachrichtigungen zu senden. Weitere Informationen finden Sie unter Anforderungen für Alarmmeldungen. In den Einstellungen für Alarmbenachrichtigungen können Sie festlegenSMS, dass Benachrichtigungen per E-Mail an IAM Identity Center-Benutzer gesendet werden. Gehen Sie wie folgt vor:

      1. Fügen Sie die Konfiguration für Alarmbenachrichtigungen (alarmNotification) zur Payload in alarm-model-payload.json hinzu.

        • Ersetzen alarmNotificationFunctionArn mit ARN der Lambda-Funktion, die Alarmmeldungen verarbeitet.

        { "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" } } } ] } }
      2. (Optional) Konfigurieren Sie die SMS Benachrichtigungen (smsConfigurations), die an einen IAM Identity Center-Benutzer gesendet werden, wenn sich der Status des Alarms ändert.

        • Ersetzen identityStoreIdAttributeId mit der ID des Attributs, das die ID des IAM Identity Center-Identitätsspeichers enthält.

        • Ersetzen userIdAttributeId mit der ID des Attributs, das die ID des IAM Identity Center-Benutzers enthält.

        • Ersetzen senderIdAttributeId mit der ID des Attributs, das die SNS Amazon-Absender-ID enthält, oder senderId aus der Payload entfernen.

        • Ersetzen additionalMessageAttributeId mit der ID des Attributs, das die zusätzliche Nachricht enthält, oder additionalMessage aus der Payload entfernen.

        { "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" } ] } ] } }
      3. (Optional) Konfigurieren Sie die E-Mail-Benachrichtigungen (emailConfigurations), die an einen IAM Identity Center-Benutzer gesendet werden, wenn sich der Status des Alarms ändert.

        • Ersetzen identityStoreIdAttributeId mit der ID der IAM Identity Center-Identity Store-ID-Attributeigenschaft.

        • Ersetzen userIdAttributeId mit der ID der IAM Identity Center-Benutzer-ID-Attributeigenschaft.

        • Ersetzen fromAddressAttributeId mit der ID der Adressattributeigenschaft „Von“ oder from aus der Payload entfernen.

        • Ersetzen emailSubjectAttributeId mit der ID der Eigenschaft des E-Mail-Betreff-Attributs oder subject aus der Payload entfernen.

        • Ersetzen additionalMessageAttributeId mit der ID der zusätzlichen Nachrichtenattributeigenschaft oder additionalMessage aus der Payload entfernen.

        { "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" } } ] } ] } }
    7. (Optional) Fügen Sie die Alarmfunktionen (alarmCapabilities) zur Payload-Eingabe hinzu. alarm-model-payload.json In diesem Objekt können Sie angeben, ob der Bestätigungsfluss aktiviert ist, und den standardmäßigen Aktivierungsstatus für Anlagen auf der Grundlage des Asset-Modells festlegen. Weitere Informationen zum Bestätigungsfluss finden Sie unterAlarmzustände.

      { "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 } } }
    8. Fügen Sie die IAM Dienstrolle (roleArn) hinzu, die davon ausgehen AWS IoT Events kann, Daten an sie zu senden AWS IoT SiteWise. Für diese Rolle sind die iotsitewise:BatchPutAssetPropertyValue Erlaubnis und eine Vertrauensbeziehung erforderlich, die es ermöglicheniotevents.amazonaws.com, die Rolle zu übernehmen. Um Benachrichtigungen zu senden, benötigt diese Rolle auch die sso-directory:DescribeUser Berechtigungen lambda:InvokeFunction und. Weitere Informationen finden Sie unter Alarm-Dienstrollen im AWS IoT Events Entwicklerhandbuch.

      • Ersetzen Sie die roleArn durch ARN die Rolle, die diese Aktionen ausführen AWS IoT Events kann.

      { "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" }
    9. Führen Sie den folgenden Befehl aus, um das AWS IoT Events Alarmmodell aus der Payload in alarm-model-payload.json zu erstellen.

      aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
    10. Der Vorgang gibt eine Antwort zurück, die die ARN des Alarmmodells, alarmModelArn enthält. Kopieren Sie diesARN, um es im nächsten Schritt in der Alarmdefinition Ihres Asset-Modells festzulegen.

Schritt 3: Aktivieren Sie den Datenfluss zwischen AWS IoT SiteWise und AWS IoT Events

Nachdem Sie die erforderlichen Ressourcen in AWS IoT SiteWise und erstellt haben AWS IoT Events, können Sie den Datenfluss zwischen den Ressourcen aktivieren, um Ihren Alarm zu aktivieren. In diesem Abschnitt aktualisieren Sie die Alarmdefinition im Asset-Modell, um das Alarmmodell zu verwenden, das Sie im vorherigen Schritt erstellt haben.

Um den Datenfluss zwischen AWS IoT SiteWise und AWS IoT Events (CLI) zu aktivieren
  • Stellen Sie das Alarmmodell als Quelle des Alarms im Asset-Modell ein. Gehen Sie wie folgt vor:

    1. Führen Sie den folgenden Befehl aus, um die vorhandene Komponentenmodelldefinition abzurufen. Ersetzen asset-model-id mit der ID des Asset-Modells.

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

      Die Operation gibt eine Antwort zurück, die Details des Komponentenmodells enthält.

    2. Erstellen Sie eine Datei namens update-asset-model-payload.json und kopieren Sie die Antwort des vorherigen Befehls in die Datei.

    3. Entfernen Sie die folgenden Schlüssel-Wert-Paare aus der update-asset-model-payload.json Datei:

      • assetModelId

      • assetModelArn

      • assetModelCreationDate

      • assetModelLastUpdateDate

      • assetModelStatus

    4. Fügen Sie dem zuvor definierten zusammengesetzten Alarmmodell die Eigenschaft Alarmquelle (AWS/ALARM_SOURCE) hinzu. Ersetzen alarmModelArn mit der ARN des Alarmmodells, das den Wert der Eigenschaft Alarmquelle festlegt.

      { ... "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" } } } ] } ] }
    5. Führen Sie den folgenden Befehl aus, um das Asset-Modell mit der in der update-asset-model-payload.json Datei gespeicherten Definition zu aktualisieren. Ersetzen asset-model-id mit der ID des Asset-Modells.

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

Ihr Anlagenmodell definiert jetzt einen Alarm, der eindringt AWS IoT Events. Der Alarm überwacht die Zielimmobilie in allen Anlagen, die auf diesem Anlagenmodell basieren. Sie können den Alarm für jedes Asset konfigurieren, um Eigenschaften wie den Schwellenwert oder den IAM Identity Center-Empfänger für jedes Asset individuell anzupassen. Weitere Informationen finden Sie unter Konfigurieren Sie Alarme für Anlagen.