Notifications d'intégrations gérées - Intégrations gérées pour AWS IoT Device Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Notifications d'intégrations gérées

Les notifications d'intégrations gérées gèrent toutes les notifications adressées aux clients, facilitant ainsi la communication en temps réel pour fournir des mises à jour et des informations sur leurs appareils. Qu'il s'agisse d'informer les clients des événements, du cycle de vie ou de l'état de l'appareil, les notifications relatives aux intégrations gérées jouent un rôle essentiel dans l'amélioration de l'expérience client globale. En fournissant des informations exploitables, les clients peuvent prendre des décisions éclairées et optimiser l'utilisation des ressources.

Configurer les notifications d'intégrations gérées

Pour configurer les notifications d'intégrations gérées, procédez comme suit :

  1. Création d'un flux de données Amazon Kinesis

    Pour créer un flux de données Kinesis, suivez les étapes décrites dans la section Création et gestion des flux de données Kinesis.

    Actuellement, seuls les flux de données Amazon Kinesis sont pris en charge en tant qu'option pour une destination gérée par le client pour les notifications d'intégrations gérées.

  2. Création d'un rôle d'accès au flux Amazon Kinesis

    Créez un rôle d' AWS Identity and Access Management accès autorisé à accéder au flux Kinesis que vous venez de créer

    Pour plus d'informations, consultez la section Création de rôles IAM dans le guide de l'AWS Identity and Access Managementutilisateur.

  3. Autoriser l'utilisateur à appeler l'CreateDestinationAPI

    La politique suivante définit les conditions requises pour que l'utilisateur appelle l'CreateDestinationAPI. S'il n'est pas défini, l'appel à CreateDestination l'API échouera.

    Consultez la section Accorder à un utilisateur l'autorisation de transmettre un rôle à un AWS service dans le Guide de AWS Identity and Access Managementl'utilisateur pour obtenir des autorisations de transfert pour les intégrations gérées.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::accountID:role/kinesis_stream_access_role", "Condition":{ "StringEquals":{ "iam:PassedToService":"iotmanagedintegrations.amazonaws.com" } } }, { "Effect":"Allow", "Action":"iotmanagedintegrations:CreateDestination", "Resource":"*" } ] }
  4. Appelez l'CreateDestinationAPI

    Après avoir créé votre flux de données Amazon Kinesis et votre rôle d'accès au flux, appelez l'CreateDestinationAPI pour créer votre destination gérée par le client vers laquelle les notifications d'intégrations gérées seront acheminées. Pour le deliveryDestinationArn paramètre, utilisez celui arn de votre nouveau flux de données Amazon Kinesis.

    { "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken": "Random string" "RoleArn": "arn:aws:iam::accountID:role/kinesis_stream_access_role" }
  5. Appelez l'CreateNotificationConfigurationAPI

    Enfin, vous allez créer la configuration des notifications qui vous informera du type d'événement choisi en acheminant une notification vers votre destination gérée par le client, représentée par votre flux de données Amazon Kinesis. Appelez l'CreateNotificationConfigurationAPI pour créer la configuration des notifications. Dans le destinationName paramètre, utilisez le même nom de destination que celui initialement créé lorsque vous avez créé la destination gérée par le client à l'aide de l'CreateDestinationAPI.

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

Types d'événements surveillés avec des intégrations gérées

Les types d'événements surveillés à l'aide des notifications d'intégrations gérées sont les suivants :

  • DEVICE_COMMAND

    • État de la commande SendManagedThingAPI. Les valeurs valides sont succeeded ou failed.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_EVENT", "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

    • La demande de commande de Web Real-Time Communication (WebRTC).

      La norme WebRTC permet la communication entre deux pairs. Ces pairs peuvent transmettre des données vidéo, audio et arbitraires en temps réel. Les intégrations gérées prennent en charge le WebRTC pour permettre ce type de streaming entre l'application mobile d'un client et l'appareil de l'utilisateur final. Pour plus d'informations sur la norme WebRTC, voir 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

    • État de découverte de l'appareil.

      { "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

    • Notification d'un événement survenant sur un appareil.

      { "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

    • État du cycle de vie de l'appareil.

      { "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

    • Une notification OTA de l'appareil.

  • DEVICE_STATE

    • Une notification lorsque l'état d'un appareil a été mis à jour.

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