View a markdown version of this page

Definieren AWS IoT Events Alarme für AWS IoT SiteWise - 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 AWS IoT Events Alarme für AWS IoT SiteWise

Anmerkung

Hinweis zum Ende des Supports: Der Support für AWS wurde beendet AWS IoT Events. Weitere Informationen finden Sie unter AWS IoT Events Ende des Supports.

Wenn Sie einen AWS IoT Events Alarm erstellen, AWS IoT SiteWise sendet Asset-Eigenschaftswerte an AWS IoT Events , um den Status des Alarms auszuwerten. AWS IoT Events Alarmdefinitionen hängen von einem Alarmmodell ab, das Sie in definieren AWS IoT Events. Um einen AWS IoT Events Alarm in einem Anlagenmodell zu definieren, definieren Sie ein zusammengesetztes Alarmmodell, das das AWS IoT Events Alarmmodell als Eigenschaft der Alarmquelle angibt.

AWS IoT Events Alarme hängen von Eingaben wie Alarmschwellenwerten und Einstellungen für Alarmbenachrichtigungen ab. Sie definieren diese Eingaben als Attribute im Anlagenmodell. Anschließend können Sie diese Eingaben 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 der AWS CLI oder API definieren, müssen Sie diese Attribute im Anlagenmodell manuell 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 Amazon SNS-Thema sendet. Weitere Informationen zu den Aktionen, die Sie definieren können, finden Sie im AWS IoT Events Entwicklerhandbuch unter Arbeiten mit anderen AWS Diensten.

Wenn Sie ein Anlagenmodell aktualisieren oder löschen, AWS IoT SiteWise können Sie überprüfen, ob ein Alarmmodell eine mit diesem Anlagenmodell verknüpfte Anlageneigenschaft überwacht. AWS IoT Events Dadurch wird verhindert, dass Sie eine Anlageneigenschaft löschen, die gerade von einem AWS IoT Events Alarm verwendet wird. Um diese Funktion zu aktivieren AWS IoT SiteWise, benötigen Sie die iotevents:ListInputRoutings entsprechende Genehmigung. Diese Berechtigung ermöglicht es AWS IoT SiteWise , den ListInputRoutings API-Vorgang aufzurufen, 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 eine 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 Anlagenmodell zu definieren, erstellen Sie das Anlagenmodell und führen Sie dann die folgenden Schritte aus. Weitere Informationen finden Sie unter Erstellen Sie Objektmodelle in AWS IoT SiteWise.

Wichtig

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

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

Um eine zu definieren AWS IoT Events Alarm für ein Anlagenmodell
  1. Navigieren Sie zur AWS IoT SiteWise -Konsole.

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

  3. Wählen Sie das Anlagenmodell, 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 Abschnitt 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 definieren Sie, wann der Alarm erkannt wird und welchen Schweregrad der Alarm hat. Gehen Sie wie folgt vor:

    1. Wählen Sie die Eigenschaft aus, auf der der Alarm erkannt wird. Jedes Mal, wenn diese Eigenschaft einen neuen Wert empfängt, 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 für 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 widerzuspiegeln.

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

    1. Wählen Sie Aktiv.

      Anmerkung

      Wenn du Inaktiv auswählst, erhalten du und dein 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 verwenden zu können, müssen Sie IAM Identity Center aktivieren. Sie können IAM Identity Center nur in einer AWS Region gleichzeitig 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 für 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 E-Mail-Adresse des Absenders in Amazon Simple Email Service (Amazon SES) verifizieren. Weitere Informationen finden Sie unter Überprüfung 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 anhand dieses Asset-Modells erstellt wurden.

    Anmerkung

    Sie aktivieren oder deaktivieren diesen Alarm für Assets, die Sie in einem späteren Schritt aus diesem Asset-Modell erstellen.

  11. Im Abschnitt Erweiterte Einstellungen können Sie die Berechtigungen, die zusätzlichen Benachrichtigungseinstellungen, die Aktionen für den Alarmstatus, 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 für die AWS IoT Events Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Für diese Rolle sind die iotsitewise:BatchPutAssetPropertyValue Erlaubnis und eine Vertrauensbeziehung erforderlich, 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 für den Empfänger an — optional für das Attribut.

      • Wenn Sie Bestehendes Empfängerattribut verwenden wählen, wählen Sie das Attribut unter 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 überschreiben, das Sie aus diesem Asset-Modell erstellen.

    2. Für das benutzerdefinierte Nachrichtenattribut definieren Sie ein Attribut, dessen Wert die benutzerdefinierte Nachricht angibt, die zusätzlich zur Standardmeldung über Statusänderungen 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 Anlagenmodell verwenden möchten.

      • Wenn Sie ein neues benutzerdefiniertes Nachrichtenattribut erstellen möchten, geben Sie den Namen des benutzerdefinierten Nachrichtenattributs und den Standardwert für die 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 überschreiben, das Sie aus diesem Asset-Modell erstellen.

    3. Führen Sie für die Funktion „Lambda verwalten“ einen der folgenden Schritte aus:

      • Um eine neue Lambda-Funktion zu AWS IoT SiteWise erstellen, wählen Sie Neues Lambda aus einer von AWS verwalteten Vorlage erstellen aus.

      • Um eine vorhandene Lambda-Funktion zu verwenden, wählen Sie Ein vorhandenes Lambda verwenden und wählen Sie den Namen der Funktion.

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

  13. (Optional) Gehen Sie im Abschnitt Aktion „Status festlegen“ wie folgt vor:

    1. Wählen Sie Aktion bearbeiten aus.

    2. Fügen Sie unter Aktionen für den Alarmstatus hinzufügen die Option Aktionen hinzu und wählen Sie dann Speichern.

      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, eine Variable zu setzen 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 verwalten in SiteWise Monitor — optional die Option Aktiv oder Inaktiv aus.

    Verwenden Sie diese Option, um das Alarmmodell in SiteWise Monitoren zu aktualisieren. Diese Option ist standardmäßig aktiviert.

  15. Wählen Sie unter Ablauf bestätigen die Option Aktiv oder Inaktiv aus. Weitere Informationen zum Bestätigungsablauf finden Sie unterAlarm-Zustä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 Fortschritt 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 eine 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 Anlagenmodell zu definieren, erstellen Sie das Anlagenmodell und führen Sie dann die folgenden Schritte aus. Weitere Informationen finden Sie unter Erstellen Sie Objektmodelle in AWS IoT SiteWise.

Wichtig

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

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

Um eine zu definieren AWS IoT Events Alarm für ein Anlagenmodell
  1. Navigieren Sie zur AWS IoT Events -Konsole.

  2. Wählen Sie im Navigationsbereich 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 Abschnitt Alarmziel wie folgt vor:

    1. Wählen Sie für 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 definieren Sie, wann der Alarm erkannt wird und welchen Schweregrad der Alarm hat. Gehen Sie wie folgt vor:

    1. Wählen Sie die Eigenschaft aus, auf der der Alarm erkannt wird. Jedes Mal, wenn diese Eigenschaft einen neuen Wert empfängt, 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 für 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 widerzuspiegeln.

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

    1. Wählen Sie für 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 E-Mail-Adresse des Absenders in Amazon Simple Email Service (Amazon SES) verifizieren. Weitere Informationen finden Sie unter Überprüfen von E-Mail-Adressen in Amazon SES im Amazon Simple Email Service Developer Guide.

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

    4. Wählen Sie das Attribut unter Benutzerdefiniertes Nachrichtenattribut — optional . 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 für alle Assets aktivieren oder deaktivieren, die Sie in einem späteren Schritt aus diesem Asset-Modell erstellen.

  10. In den erweiterten Einstellungen können Sie die Berechtigungen, die zusätzlichen Benachrichtigungseinstellungen, die Aktionen für den Alarmstatus, 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 „Ablauf bestätigen“ die Option Aktiviert oder Deaktiviert aus. Weitere Informationen zum Bestätigungsablauf finden Sie unterAlarm-Zustände.

    2. Gehen Sie im Abschnitt Berechtigungen wie folgt vor:

      1. Verwenden Sie für die AWS IoT Events Rolle eine vorhandene Rolle oder erstellen Sie eine Rolle mit den erforderlichen Berechtigungen. Für diese Rolle sind die iotsitewise:BatchPutAssetPropertyValue Erlaubnis und eine Vertrauensbeziehung erforderlich, 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 die Funktion „Lambda verwalten“ einen der folgenden Schritte aus:

        • Um eine neue Lambda-Funktion zu AWS IoT Events erstellen, wählen Sie Neue Lambda-Funktion erstellen.

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

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

    4. (Optional) Gehen Sie im Abschnitt Aktion „Status festlegen — optional“ wie folgt vor:

      1. Fügen Sie unter Aktionen für den Alarmstatus Aktionen hinzu und wählen Sie dann Speichern.

        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, eine Variable zu setzen 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 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, das den Fortschritt dieser API-Anfragen anzeigt. 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 eine 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 vorhandenes Anlagenmodell definieren. Nachdem Sie den Alarm im Anlagenmodell definiert haben, erstellen Sie einen Alarm AWS IoT Events und verbinden ihn mit dem Anlagenmodell. In diesem Prozess gehen Sie wie folgt vor:

Schritt 1: Definieren Sie einen Alarm für ein Anlagenmodell

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

Um einen Alarm in einem Anlagenmodell (CLI) zu definieren
  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. Senden Sie jedoch nicht die Anfrage, das Asset-Modell zu erstellen oder zu aktualisieren. In diesem Abschnitt fügen Sie den Anlagenmodelldetails 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 spezifiziert eine Eigenschaft der Alarmquelle. 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, damit 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 Anlagenmodell ein Alarmschwellenattribut 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 Alarmschwellenattribut muss ein INTEGER oder ein seinDOUBLE.

    { ... "assetModelProperties": [ ... { "name": "Temperature Max Threshold", "dataType": "DOUBLE", "type": { "attribute": { "defaultValue": "105.0" } } } ] }
  4. (Optional) Fügen Sie dem Anlagenmodell Attribute für Alarmbenachrichtigungen hinzu. Diese Attribute geben den IAM Identity Center-Empfänger und andere Eingaben an, die zum Senden von Benachrichtigungen AWS IoT Events verwendet werden, wenn sich der Alarmstatus ändert. Sie können diese Standardwerte für jedes Asset, das auf diesem Modell basiert, außer Kraft setzen.

    Wichtig

    Sie können Alarmbenachrichtigungen an AWS IAM Identity Center Benutzer senden. Um diese Funktion verwenden zu können, müssen Sie IAM Identity Center aktivieren. Sie können IAM Identity Center nur in einer AWS Region gleichzeitig 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 ListInstances Center-API-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 ID des Identitätsspeichers (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 die IAM Identity ListUsers Center-API verwenden, um die ID eines Benutzers abzurufen, dessen Benutzernamen Sie kennen. d-123EXAMPLEErsetzen Sie sie durch die ID Ihres Identitätsspeichers und Name ersetzen Sie sie durch den Benutzernamen des Benutzers.

        aws identitystore list-users \ --identity-store-id d-123EXAMPLE \ --filters AttributePath=UserName,AttributeValue=Name
      2. Verwenden Sie die IAM Identity 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 einen 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-Benachrichtigungen (Textnachrichten) angibt. Die Absender-ID wird in Nachrichten, die Amazon Simple Notification Service (Amazon SNS) sendet, als Nachrichtenabsender angezeigt. Weitere Informationen finden Sie AWS End User Messaging SMS im AWS End User Messaging SMS Benutzerhandbuch unter Eine Absender-ID anfordern.

      { ... "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 Standardbetreff 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 Meldung 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 vorhandene Asset-Modell. Führen Sie eine der folgenden Aktionen aus:

    • Führen Sie den folgenden Befehl aus, um das Anlagenmodell 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 Anlagenmodell zu aktualisieren. asset-model-idErsetzen Sie es durch die 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 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 eine AWS IoT Events Alarm-Modell

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 Werte von Anlageneigenschaften an das Alarmmodell AWS IoT SiteWise gesendet werden, AWS IoT Events wertet es den Ausdruck aus, um den Wert der Eigenschaft oder die ID des Objekts abzurufen. Sie können die folgenden Ausdrücke im Alarmmodell verwenden:

  • Werte der Anlageneigenschaften

    Verwenden Sie den folgenden Ausdruck, um den Wert einer Anlageneigenschaft abzurufen. assetModelIdErsetzen Sie es durch die ID des Asset-Modells und propertyId ersetzen Sie es durch die ID der Eigenschaft.

    $sitewise.assetModel.`assetModelId`.`propertyId`.propertyValue.value
  • Asset-IDs

    Verwenden Sie den folgenden Ausdruck, um die ID des Assets abzurufen. assetModelIdErsetzen Sie es durch die ID des Asset-Modells und propertyId ersetzen Sie es durch die ID der Eigenschaft.

    $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 Anlagenmodell definieren, reduziert werden. Wenn Sie jedoch einen Wert als Literal definieren, können Sie diesen Wert für Vermögenswerte nicht auf der Grundlage des Asset-Modells anpassen. Ihre AWS IoT SiteWise Monitor Benutzer können den Alarm auch nicht anpassen, da sie Alarmeinstellungen nur für Assets konfigurieren können.

Um eine zu erstellen AWS IoT Events Alarmmodell (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 ID-Attribut für den IAM Identity Center-Identitätsspeicher

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

    • (Optional) Das SMS-Absender-ID-Attribut

    • (Optional) Das Adressattribut für den E-Mail-Absender

    • (Optional) Das Betreffattribut der E-Mail

    • (Optional) Das zusätzliche Nachrichtenattribut

    Führen Sie den folgenden Befehl aus, um die IDs dieser Eigenschaften im Asset-Modell abzurufen. asset-model-idErsetzen Sie durch die 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 diese IDs, 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 in Ihrem 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).

      • assetModelIdErsetzen Sie durch die ID des Asset-Modells.

      • alarmPropertyIdErsetzen Sie es durch die ID der Eigenschaft, die der Alarm überwacht.

      • thresholdAttributeIdErsetzen Sie es durch die ID der Eigenschaft für das Schwellenwertattribut.

      • GREATERErsetzen Sie durch den 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 zu senden, AWS IoT SiteWise wenn sich der Status des Alarms ändert.

      Anmerkung

      Für eine erweiterte Konfiguration können Sie zusätzliche Aktionen definieren, die ausgeführt werden, wenn sich der Alarmstatus ä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.

      • assetModelIdErsetzen Sie durch die ID des Asset-Modells.

      • alarmPropertyIdErsetzen Sie es durch die ID der Eigenschaft, die der Alarm überwacht.

      • alarmStatePropertyIdErsetzen Sie es durch die 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 Alarmbenachrichtigungen. Die Aktion „Alarmbenachrichtigung“ verwendet eine Lambda-Funktion in Ihrem Konto, um Alarmbenachrichtigungen zu senden. Weitere Informationen finden Sie unter Anforderungen für Alarmmeldungen in AWS IoT SiteWise. In den Einstellungen für Alarmbenachrichtigungen können Sie SMS- und E-Mail-Benachrichtigungen konfigurieren, die an IAM Identity Center-Benutzer gesendet werden. Gehen Sie wie folgt vor:

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

        • alarmNotificationFunctionArnErsetzen Sie ihn durch den ARN der Lambda-Funktion, die Alarmbenachrichtigungen 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) so, dass sie an einen IAM Identity Center-Benutzer gesendet werden, wenn sich der Status des Alarms ändert.

        • identityStoreIdAttributeIdErsetzen Sie es durch die ID des Attributs, das die ID des IAM Identity Center-Identitätsspeichers enthält.

        • userIdAttributeIdErsetzen Sie es durch die ID des Attributs, das die ID des IAM Identity Center-Benutzers enthält.

        • senderIdAttributeIdErsetzen Sie es durch die ID des Attributs, das die Amazon SNS-Absender-ID enthält, oder entfernen Sie es senderId aus der Payload.

        • additionalMessageAttributeIdErsetzen Sie es durch die ID des Attributs, das die zusätzliche Nachricht enthält, oder entfernen Sie es additionalMessage aus der Payload.

        { "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 Alarmstatus ändert.

        • identityStoreIdAttributeIdErsetzen Sie es durch die ID der ID-Attributeigenschaft des IAM Identity Center-Identitätsspeichers.

        • userIdAttributeIdErsetzen Sie es durch die ID der IAM Identity Center-Benutzer-ID-Attributeigenschaft.

        • fromAddressAttributeIdErsetzen Sie es durch die ID der Adressattributeigenschaft „Von“, oder entfernen Sie es from aus der Payload.

        • emailSubjectAttributeIdErsetzen Sie es durch die ID der Eigenschaft des E-Mail-Betreff-Attributs, oder entfernen Sie es subject aus der Payload.

        • additionalMessageAttributeIdErsetzen Sie es durch die ID der zusätzlichen Nachrichtenattributeigenschaft oder entfernen Sie sie additionalMessage aus der Payload.

        { "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) zum Payload-In 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 angeben. Weitere Informationen zum Bestätigungsablauf finden Sie unterAlarm-Zustä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-Servicerolle (roleArn) hinzu, von der angenommen AWS IoT Events werden kann, dass Daten an AWS IoT SiteWise sie gesendet werden. Für diese Rolle sind die iotsitewise:BatchPutAssetPropertyValue Genehmigung und eine Vertrauensstellung erforderlich, die es ermöglicht, die Rolle iotevents.amazonaws.com zu übernehmen. Zum Senden von Benachrichtigungen benötigt diese Rolle auch die sso-directory:DescribeUser Berechtigungen lambda:InvokeFunction und. Weitere Informationen finden Sie unter Alarmservice-Rollen im AWS IoT Events Entwicklerhandbuch.

      • Ersetzen Sie den roleArn durch den ARN der 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 dem Payload-In alarm-model-payload.json zu erstellen.

      aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
    10. Die Operation gibt eine Antwort zurück, die den ARN des Alarmmodells enthält,alarmModelArn. Kopieren Sie diesen ARN, um ihn im nächsten Schritt in der Alarmdefinition in Ihrem Anlagenmodell 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 Anlagenmodell, um das Alarmmodell zu verwenden, das Sie im vorherigen Schritt erstellt haben.

Um den Datenfluss zwischen zu ermöglichen AWS IoT SiteWise und AWS IoT Events (CLI)
  • 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. asset-model-idErsetzen Sie es durch die 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. alarmModelArnErsetzen Sie ihn durch den ARN des Alarmmodells, der den Wert der Alarmquelleneigenschaft 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 Anlagenmodell mit der in der update-asset-model-payload.json Datei gespeicherten Definition zu aktualisieren. asset-model-idErsetzen Sie es durch die 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 in erkannt wird AWS IoT Events. Der Alarm überwacht die Zielimmobilie in allen Anlagen, die auf diesem Asset-Modell 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 anzupassen. Weitere Informationen finden Sie unter Konfigurieren Sie Alarme für Anlagen in AWS IoT SiteWise.