Cómo reaccionar a los eventos de Amazon Location Service con Amazon EventBridge - Amazon Location Service

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.

Cómo reaccionar a los eventos de Amazon Location Service con Amazon EventBridge

Amazon EventBridge es un bus de eventos sin servidor que conecta las aplicaciones de manera eficiente mediante datos de AWS servicios como Amazon Location. EventBridge recibe eventos de Amazon Location y dirige esos datos a objetivos comoAWS Lambda. Puede configurar reglas de direccionamiento para determinar adónde enviar sus datos a fin de crear arquitecturas de aplicaciones que reaccionen en tiempo real.

De forma predeterminada, solo se envían los EXIT eventos geocercados (ENTERy los eventos cuando los dispositivos entran o salen de las áreas geocercadas). EventBridge También puede activar todos los eventos de actualización de posición filtrados para un recurso de seguimiento. Para obtener más información, consulte Habilitar los eventos de actualización para un rastreador.

Para obtener más información, consulta los eventos y patrones de eventos en la Guía del EventBridge usuario de Amazon.

Habilitar los eventos de actualización para un rastreador

De forma predeterminada, Amazon Location solo ENTER envía eventos EXIT geoperimetrales a. EventBridge Puedes activar todos los UPDATE eventos de posición filtrados a los que se pueda enviar un rastreador. EventBridge Puede hacerlo al crear o actualizar un rastreador.

Por ejemplo, para actualizar un rastreador existente mediante elAWS CLI, puede utilizar el siguiente comando (utilice el nombre del recurso del rastreador en lugar de MyTracker).

aws location update-tracker --tracker-name MyTracker --event-bridge-enabled

Para desactivar los eventos de posición de un rastreador, debe usar la API o la consola de Amazon Location Service.

Crea reglas de eventos para Amazon Location

Puedes crear hasta 300 reglas por bus de eventos EventBridge para configurar las acciones que se tomen en respuesta a un evento de Amazon Location.

Por ejemplo, puede crear una regla para los eventos de geovalla en la que se envíe una notificación automática cuando se detecte un teléfono dentro del límite de una geovalla.

Para crear una regla para los eventos de Amazon Location

Con los siguientes valores, crea una EventBridge regla basada en los eventos de Amazon Location:

  • En Tipo de regla, elija Regla con un patrón de evento.

  • Agregue el siguiente patrón en el cuadro Patrón de evento:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"] }

    Para crear una regla para las actualizaciones de posición del rastreador, puede utilizar este modelo:

    { "source": ["aws.geo"], "detail-type": ["Location Device Position Event"] }

    Si lo desea, puede especificar solo los eventos de ENTER o EXIT añadiendo la etiqueta de detail (si su regla es para las actualizaciones de posición del rastreador, solo hay un EventType, así que, no es necesario filtrarlo):

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"] } }

    Si lo desea, también puede filtrar por propiedades de la posición o la geovalla:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • En Seleccionar objetivos, elija la acción objetivo que se realizará cuando se reciba un evento de Amazon Location Service.

    Por ejemplo, utilice un tema de Amazon Simple Notification Service (SNS) para enviar un correo electrónico o un mensaje de texto cuando se produce un evento. Primero debe crear un tema de Amazon SNS mediante la consola de Amazon SNS. Para obtener más información, consulte Uso de Amazon SNS para notificaciones de usuario.

aviso

Se recomienda confirmar que la regla de los eventos se ha aplicado correctamente o es posible que la acción automatizada no comience tal y como se esperaba. Para verificar la regla de eventos, inicie las condiciones para la regla de eventos. Por ejemplo, simule un dispositivo que entra en un área geovallada.

También puede capturar todos los eventos desde Amazon Location excluyendo la sección de detail-type. Por ejemplo:

{ "source": [ "aws.geo" ] }
nota

El mismo evento puede entregarse más de una vez. Puede usar el identificador del evento para eliminar las duplicaciones de los eventos que reciba.

Ejemplos de EventBridge eventos de Amazon para Amazon Location Service

A continuación, se muestra un ejemplo de un evento de entrada de una geovalla iniciado por una llamada de: BatchUpdateDevicePosition.

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "636103698109", "time": "2020-11-10T23:43:37Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "ENTER", "GeofenceId": "polygon_14", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:43:37.531Z", "Position": [ -123.12390073297821, 49.23433613216247 ], "Accuracy": { "Horizontal": 15.3 }, "GeofenceProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }

A continuación, se muestra un ejemplo de un evento de salida de una geovalla que se inicia con una llamada de: BatchUpdateDevicePosition.

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "123456789012", "time": "2020-11-10T23:41:44Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "EXIT", "GeofenceId": "polygon_10", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:41:43.826Z", "Position": [ -123.08569321875426, 49.23766166742559 ], "Accuracy": { "Horizontal": 15.3 }, "GeofenceProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }

A continuación, se muestra un ejemplo de un evento de actualización de posición que se inicia con una llamada: BatchUpdateDevicePosition.

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Device Position Event", "source": "aws.geo", "account": "123456789012", "time": "2020-11-10T23:41:44Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "UPDATE", "TrackerName": "tracker_2", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:41:43.826Z", "ReceivedTime": "2020-11-10T23:41:39.235Z", "Position": [ -123.08569321875426, 49.23766166742559 ], "Accuracy": { "Horizontal": 15.3 }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }