Benachrichtigungen über verwaltete Integrationen - Verwaltete Integrationen für AWS IoT Device Management

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.

Benachrichtigungen über verwaltete Integrationen

Benachrichtigungen über verwaltete Integrationen liefern Updates und wichtige Erkenntnisse aus Geräten. Zu den Benachrichtigungen gehören Connector-Ereignisse, Gerätebefehle, Lebenszyklusereignisse, OTA-Updates (Over-the-Air) und Fehlerberichte. Diese Erkenntnisse liefern umsetzbare Informationen, um automatisierte Workflows zu erstellen, sofortige Maßnahmen zu ergreifen oder Ereignisdaten zur Fehlerbehebung zu speichern.

Derzeit werden nur Amazon Kinesis Kinesis-Datenstreams als Ziel für Benachrichtigungen über verwaltete Integrationen unterstützt. Sie müssen zunächst einen Amazon Kinesis Kinesis-Datenstream einrichten und verwalteten Integrationen Zugriff auf den Datenstream gewähren, bevor Sie Benachrichtigungen einrichten können.

Amazon Kinesis für Benachrichtigungen einrichten

Gehen Sie wie folgt vor, um Amazon Kinesis für Benachrichtigungen über verwaltete Integrationen einzurichten:

Schritt 1: Erstellen Sie einen Amazon Kinesis Kinesis-Datenstream

Ein Amazon Kinesis Data Stream kann eine große Datenmenge in Echtzeit aufnehmen, die Daten dauerhaft speichern und sie für Anwendungen verfügbar machen.

So erstellen Sie einen Amazon Kinesis Kinesis-Datenstream

Schritt 2: Erstellen Sie eine Berechtigungsrichtlinie

Erstellen Sie eine Berechtigungsrichtlinie, die verwalteten Integrationen den Zugriff auf Ihren Kinesis-Datenstrom ermöglicht.

Um eine Berechtigungsrichtlinie zu erstellen
  • Um eine Berechtigungsrichtlinie zu erstellen, kopieren Sie die unten stehende Richtlinie und folgen Sie den unter Richtlinien mithilfe des JSON-Editors erstellen beschriebenen Schritte

    { "Version": "2012-10-17", "Statement": [ { "Action": "kinesis:PutRecord", "Resource": "*", "Effect": "Allow" } ] }

Öffnen Sie das IAM-Dashboard und klicken Sie auf Rollen.

Um zum IAM-Dashboard zu navigieren
  • Öffnen Sie das IAM-Dashboard und klicken Sie auf Rollen.

    Weitere Informationen finden Sie unter IAM-Rollenerstellung im AWS Identity and Access ManagementBenutzerhandbuch.

Schritt 4: Verwenden Sie eine benutzerdefinierte Vertrauensrichtlinie

Sie können eine benutzerdefinierte Vertrauensrichtlinie verwenden, um verwalteten Integrationen Zugriff auf den Kinesis-Datenstrom zu gewähren.

Um eine benutzerdefinierte Vertrauensrichtlinie zu verwenden
  • Erstellen Sie eine neue Rolle und wählen Sie Benutzerdefinierte Vertrauensrichtlinie. Klicken Sie auf Weiter.

    Die folgende Richtlinie ermöglicht es verwalteten Integrationen, diese Rolle zu übernehmen, und die Condition Erklärung trägt dazu bei, verwirrende Probleme mit Stellvertretern zu vermeiden.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotmanagedintegrations.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:*" } } } ] }

Schritt 5: Wenden Sie Ihre Berechtigungsrichtlinie an

Fügen Sie der Rolle die in Schritt 2 erstellte Berechtigungsrichtlinie hinzu.

Um eine Berechtigungsrichtlinie hinzuzufügen
  • Suchen Sie auf der Seite „Berechtigungen hinzufügen“ nach der Berechtigungsrichtlinie, die Sie in Schritt 2 erstellt haben, und fügen Sie sie hinzu. Klicken Sie auf Weiter.

Schritt 6: Geben Sie einen Rollennamen ein

  • Geben Sie einen Rollennamen ein und klicken Sie auf Rolle erstellen.

Richten Sie Benachrichtigungen für verwaltete Integrationen ein

Gehen Sie wie folgt vor, um Benachrichtigungen für verwaltete Integrationen einzurichten:

Schritt 1: Erteilen Sie Benutzern die Erlaubnis, die CreateDestination API aufzurufen

Schritt 2: Rufen Sie die API auf CreateDestination

  • Rufen Sie die CreateDestination API auf

    Nachdem Sie Ihren Amazon Kinesis Kinesis-Datenstream und Ihre Stream-Zugriffsrolle erstellt haben, rufen Sie die CreateDestinationAPI auf, um Ihr Benachrichtigungsziel zu erstellen, an das die Benachrichtigungen weitergeleitet werden. Verwenden Sie für den DeliveryDestinationArn Parameter den arn aus Ihrem neuen Amazon Kinesis Kinesis-Datenstream.

    { "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken": "string" "RoleArn": "arn:aws:iam::accountID:role/ROLE_CREATED_IN_PREVIOUS_STEP" }
    Anmerkung

    ClientTokenist ein Idempotenz-Token. Wenn Sie eine Anfrage, die zunächst erfolgreich abgeschlossen wurde, mit demselben Client-Token und denselben Parametern erneut versuchen, ist der Wiederholungsversuch erfolgreich, ohne dass weitere Aktionen ausgeführt werden.

Schritt 3: Rufen Sie die API auf CreateNotificationConfiguration

  • Rufen Sie die CreateNotificationConfiguration API auf

    Verwenden Sie abschließend die CreateNotificationConfigurationAPI, um die Benachrichtigungskonfiguration zu erstellen, die die ausgewählten Ereignistypen an Ihr Ziel weiterleitet, das durch den Kinesis-Datenstrom dargestellt wird. Verwenden Sie im DestinationName Parameter denselben Zielnamen wie beim ersten Aufruf der CreateDestination API.

    { "EventType": "DEVICE_EVENT" "DestinationName" // This name has to be identical to the name in createDestination API "ClientToken": "string" }

Ereignistypen, die mit verwalteten Integrationen überwacht werden

Die folgenden Ereignistypen werden mit Benachrichtigungen über verwaltete Integrationen überwacht:

  • DEVICE_COMMAND

    • Der Status des SendManagedThingCommandAPI-Befehls. Gültige Werte sind entweder succeeded oder failed.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "traceId":"1234567890abcdef0", "receivedAt":"2017-12-22T18:43:48Z", "executedAt":"2017-12-22T18:43:48Z", "result":"failed" } }
  • DEVICE_COMMAND_REQUEST

    • Die Befehlsanforderung von Web Real-Time Communication (WebRTC).

      Der WebRTC-Standard ermöglicht die Kommunikation zwischen zwei Peers. Diese Peers können Video-, Audio- und beliebige Daten in Echtzeit übertragen. Managed Integrations unterstützt WebRTC, um diese Arten von Streaming zwischen einer mobilen Kundenanwendung und dem Gerät eines Endbenutzers zu ermöglichen. Weitere Informationen zum WebRTC-Standard finden Sie unter WebRTC.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND_REQUEST", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0" }] }] } }
  • DEVICE_DISCOVERY_STATUS

    • Der Erkennungsstatus des Geräts.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_DISCOVERY_STATUS", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "deviceCount": 1, "deviceDiscoveryId": "123", "status": "SUCCEEDED" } }
  • DEVICE_EVENT

    • Eine Benachrichtigung über das Eintreten eines Geräteereignisses.

      { "version":"1.0", "messageId":"2ed545027bd347a2b855d28f94559940", "messageType":"DEVICE_EVENT", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731630247280", "resources":[ "/quit/1b15b39992f9460ba82c6c04595d1f4f" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0", "properties":[{ "name":"ActuatorEnabled", "value":"true" }] }] }] } }
  • DEVICE_LIFE_CYCLE

    • Der Status des Gerätelebenszyklus.

      { "version": "1.0.0", "messageId": "8d1e311a473f44f89d821531a0907b05", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657" ], "payload": { "deviceDetails": { "id": "d5c280b423a042f3933eed09cf408657", "arn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657", "createdAt": "2024-11-14T19:55:57.515841147Z", "updatedAt": "2024-11-14T19:55:57.515841559Z" }, "status": "UNCLAIMED" } }
  • DEVICE_OTA

    • Eine OTA-Benachrichtigung für ein Gerät.

  • DEVICE_STATE

    • Eine Benachrichtigung, wenn der Status eines Geräts aktualisiert wurde.

      { "messageType": "DEVICE_STATE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "1731623291671", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/61889008880012345678" ], "payload": { "addedStates": { "endpoints": [{ "endpointId": "nonEndpointId", "capabilities": [{ "id": "aws.OnOff", "name": "On/Off", "version": "1.0", "properties": [{ "name": "OnOff", "value": { "propertyValue": "\"onoff\"", "lastChangedAt": "2024-06-11T01:38:09.000414Z" } } ]} ]} ]} } }