Reaja aos eventos do Amazon Location Service com a Amazon EventBridge - Amazon Location Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Reaja aos eventos do Amazon Location Service com a Amazon EventBridge

EventBridge O Amazon é um barramento de eventos sem servidor que conecta aplicativos de forma eficiente usando dados de AWS serviços como o Amazon Location. EventBridge recebe eventos da Amazon Location e encaminha esses dados para alvos como AWS Lambda. É possível configurar regras de roteamento que determinam o destino dos dados para criar arquiteturas de aplicativos que reagem em tempo real.

Somente eventos de delimitação geográfica (ENTERe EXIT eventos, à medida que os dispositivos entram ou saem das áreas cercadas geograficamente) são enviados por padrão. EventBridge Você também pode ativar todos os eventos de atualização de posição filtrados para um recurso de rastreador. Para obter mais informações, consulte Ativar eventos de atualização para um rastreador.

Para obter mais informações, consulte Eventos e padrões de eventos no Guia do EventBridge usuário da Amazon.

Ativar eventos de atualização para um rastreador

Por padrão, a Amazon Location envia somente eventos de ENTER EXIT delimitação geográfica para. EventBridge Você pode ativar todos os UPDATE eventos de posição filtrados para o qual um rastreador seja enviado. EventBridge Você pode fazer isso ao criar ou atualizar um rastreador.

Por exemplo, para atualizar um rastreador existente usando o AWS CLI, você pode usar o comando a seguir (use o nome do seu recurso de rastreador no lugar deMyTracker).

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

Para desativar os eventos de posição de um rastreador, você deve usar a API ou o console do Amazon Location Service.

Crie regras de eventos para o Amazon Location

Você pode criar até 300 regras por barramento de eventos EventBridge para configurar ações tomadas em resposta a um evento de localização da Amazon.

Por exemplo, você pode criar uma regra para eventos de geocercas para os quais uma notificação push será enviada quando um telefone for detectado dentro de um limite de geocerca.

Para criar uma regra para eventos do Amazon Location

Usando os seguintes valores, crie uma EventBridge regra com base nos eventos de localização da Amazon:

  • Em Tipo de regra, escolha Regra com um padrão de evento.

  • Na caixa Padrão de evento, adicione o seguinte padrão:

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

    Para criar uma regra para atualizações da posição do rastreador, use o padrão a seguir:

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

    Você pode optar por especificar somente os eventos ENTER ou EXIT adicionando uma tag detail (se sua regra for para atualizações de posição do rastreador, há apenas uma EventType, então não há necessidade de filtrá-la):

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

    Você também pode optar por filtrar as propriedades da posição ou da geocerca:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • Em Selecionar destinos, escolha a ação alvo a ser tomada quando um evento for recebido a partir do Amazon Location Service.

    Por exemplo, use um tópico do Amazon Simple Notification Service (SNS) para enviar um e-mail ou mensagem de texto quando ocorrer um evento. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Utilizar o Amazon SNS para notificações ao usuário.

Atenção

É uma prática recomendada confirmar se a regra do evento foi aplicada com sucesso ou se sua ação automatizada pode não ser iniciada conforme o esperado. Para verificar sua regra de evento, inicie as condições para a regra de evento. Por exemplo, simule um dispositivo entrando em uma área geocercada.

Você também pode capturar todos os eventos do Amazon Location excluindo a seção detail-type. Por exemplo:

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

O mesmo evento pode ser entregue mais de uma vez. Você pode usar a ID do evento para eliminar a duplicação dos eventos que você recebe.

Exemplos de EventBridge eventos da Amazon para o Amazon Location Service

Veja a seguir um exemplo de um evento para entrar em uma geocerca, iniciada ao chamar 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" } } }

Veja a seguir um exemplo de um evento para sair de uma geocerca, iniciada ao chamar 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" } } }

Veja a seguir um exemplo de um evento para uma atualização de posição, iniciada ao chamar 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" } } }