Amazon EventBridge es un bus de eventos sin servidor que conecta las aplicaciones de manera eficiente mediante datos de servicios de AWS como Amazon Location. EventBridge recibe eventos de Amazon Location y dirige esos datos a objetivos como AWS 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 los eventos de geocerca se envían a EventBridge (los eventos ENTER
y EXIT
tienen lugar cuando los dispositivos entran o salen de las áreas geocercadas). 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, consulte Eventos y patrones de eventos en la Guía del usuario de Amazon EventBridge.
Temas
Habilitar los eventos de actualización para un rastreador
De forma predeterminada, Amazon Location envía solo los eventos ENTER
y EXIT
geocerca a EventBridge. Puede activar todos los eventos UPDATE
de posición filtrados para que se envíe un rastreador a EventBridge. Puede hacerlo al crear o actualizar un rastreador.
Por ejemplo, para actualizar un rastreador existente por medio de la AWS CLI, puede usar el siguiente comando (usa 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
Puede crear hasta 300 reglas por bus de eventos en EventBridge para configurar las acciones que se toman en respuesta a un evento de Amazon Location.
Por ejemplo, puede crear una regla para los eventos de geocerca en la que se envíe una notificación automática cuando se detecte un teléfono dentro del límite de una geocerca.
Para crear una regla para los eventos de Amazon Location
Cree una regla de EventBridge basada en los eventos de Amazon Location con estos valores:
-
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
ENTER
oEXIT
añadiendo la etiquetadetail
(si su regla es para las actualizaciones de posición del rastreador, solo hay unEventType
, 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 geocerca:
{ "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 geocercada.
También puede capturar todos los eventos desde Amazon Location excluyendo la sección 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 eventos de Amazon EventBridge para Amazon Location Service
A continuación, se muestra un ejemplo de un evento de entrada de una geocerca iniciado por una llamada 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 geocerca que se inicia con una llamada 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"
}
}
}