Notificaciones de integraciones gestionadas - Integraciones gestionadas para AWS IoT Device Management

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Notificaciones de integraciones gestionadas

Las notificaciones de integraciones gestionadas gestionan todas las notificaciones que se envían a los clientes, lo que facilita la comunicación en tiempo real para ofrecer actualizaciones e información en sus dispositivos. Ya se trate de notificar a los clientes los eventos del dispositivo, el ciclo de vida o el estado del dispositivo, las notificaciones de las integraciones gestionadas desempeñan un papel fundamental a la hora de mejorar la experiencia general del cliente. Al proporcionar información procesable, los clientes pueden tomar decisiones informadas y optimizar la utilización de los recursos.

Configure las notificaciones de integraciones gestionadas

Para configurar las notificaciones de integraciones gestionadas, sigue estos pasos:

  1. Creación de una transmisión de datos de Amazon Kinesis

    Para crear una transmisión de datos de Kinesis, siga los pasos descritos en Crear y administrar transmisiones de datos de Kinesis.

    Actualmente, solo se admiten las transmisiones de datos de Amazon Kinesis como opción para un destino administrado por el cliente para las notificaciones de integraciones administradas.

  2. Crear un rol de acceso a las transmisiones de Amazon Kinesis

    Cree un rol de AWS Identity and Access Management acceso que tenga permiso para acceder a la transmisión de Kinesis que acaba de crear

    Para obtener más información, consulte la creación de roles de IAM en la Guía del AWS Identity and Access Managementusuario.

  3. Otorgue permisos al usuario para llamar a la API CreateDestination

    La siguiente política define los requisitos para que el usuario llame a la CreateDestinationAPI. Si no se establece, la llamada a la CreateDestination API fallará.

    Consulte Conceder permisos a un usuario para transferir un rol a un AWS servicio en la Guía del AWS Identity and Access Managementusuario para obtener permisos de acceso a las integraciones gestionadas.

    { "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. Llama a la API CreateDestination

    Una vez que haya creado su función de transmisión de datos y acceso a la transmisión de Amazon Kinesis, llame a la CreateDestinationAPI para crear el destino gestionado por el cliente al que se enviarán las notificaciones de las integraciones gestionadas. Para el deliveryDestinationArn parámetro, utilice el arn de su nueva transmisión de datos de Amazon Kinesis.

    { "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken": "Random string" "RoleArn": "arn:aws:iam::accountID:role/kinesis_stream_access_role" }
  5. Llame a la API CreateNotificationConfiguration

    Por último, creará la configuración de notificaciones que le notificará el tipo de evento elegido mediante el envío de una notificación al destino gestionado por el cliente representado por su transmisión de datos de Amazon Kinesis. Llame a la CreateNotificationConfigurationAPI para crear la configuración de notificaciones. En el destinationName parámetro, usa el mismo nombre de destino que creaste inicialmente cuando creaste el destino administrado por el cliente mediante la CreateDestination API.

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

Tipos de eventos monitoreados con integraciones administradas

Los siguientes son los tipos de eventos monitoreados con notificaciones de integraciones administradas:

  • DEVICE_COMMAND

    • El estado del comando de la SendManagedThingAPI. Los valores válidos son succeeded o 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 solicitud de comando de Web Real-Time Communication (WebRTC).

      El estándar WebRTC permite la comunicación entre dos pares. Estos pares pueden transmitir vídeo, audio y datos arbitrarios en tiempo real. Las integraciones gestionadas son compatibles con WebRTC para permitir estos tipos de transmisión entre la aplicación móvil de un cliente y el dispositivo de un usuario final. Para obtener más información sobre el estándar WebRTC, consulte 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

    • El estado de detección del dispositivo.

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

    • Notificación de que se está produciendo un evento en el dispositivo.

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

    • El estado del ciclo de vida del dispositivo.

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

    • Una notificación OTA del dispositivo.

  • DEVICE_STATE

    • Una notificación cuando se ha actualizado el estado de un dispositivo.

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