Réagir aux événements d'Amazon Location Service avec Amazon EventBridge - Amazon Location Service

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.

Réagir aux événements d'Amazon Location Service avec Amazon EventBridge

Amazon EventBridge est un bus d'événements sans serveur qui connecte efficacement les applications entre elles à l'aide de données provenant de AWS services tels qu'Amazon Location. EventBridge reçoit les événements d'Amazon Location et achemine ces données vers des cibles telles queAWS Lambda. Vous pouvez configurer des règles de routage pour déterminer où envoyer vos données afin de créer des architectures d'applications qui réagissent en temps réel.

Seuls les événements de géofence (ENTERet les EXIT événements lorsque les appareils entrent ou sortent des zones géo-clôturées) sont envoyés par défaut. EventBridge Vous pouvez également activer tous les événements de mise à jour de position filtrés pour une ressource de suivi. Pour plus d’informations, consultez Activer les événements de mise à jour pour un tracker.

Pour plus d'informations, consultez les événements et les modèles d'événements du guide de EventBridge l'utilisateur Amazon.

Activer les événements de mise à jour pour un tracker

Par défaut, Amazon Location envoie uniquement des événements ENTER et EXIT géofence à. EventBridge Vous pouvez activer tous les UPDATE événements de position filtrés auxquels un tracker doit être envoyé EventBridge. Vous pouvez le faire lorsque vous créez ou mettez à jour un outil de suivi.

Par exemple, pour mettre à jour un outil de suivi existant à l'aide deAWS CLI, vous pouvez utiliser la commande suivante (utilisez le nom de votre ressource de suivi à la place de MyTracker).

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

Pour désactiver les événements de position pour un tracker, vous devez utiliser l'API ou la console Amazon Location Service.

Création de règles d'événement pour Amazon Location

Vous pouvez créer jusqu'à 300 règles par bus d'événement EventBridge pour configurer les actions entreprises en réponse à un événement Amazon Location.

Par exemple, vous pouvez créer une règle pour les événements de géolocalisation selon laquelle une notification push sera envoyée lorsqu'un téléphone est détecté à l'intérieur d'une limite de géolocalisation.

Pour créer une règle pour les événements Amazon Location

À l'aide des valeurs suivantes, créez une EventBridge règle basée sur les événements Amazon Location :

  • Pour Type de règle, choisissez Règle avec un modèle d’événement.

  • Dans la zone Modèle d'événement, ajoutez le modèle suivant :

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

    Pour créer une règle pour les mises à jour de la position du tracker, vous pouvez plutôt utiliser le modèle suivant :

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

    Vous pouvez éventuellement spécifier uniquement ENTER EXIT des événements en ajoutant un detail tag (si votre règle concerne les mises à jour de la position du tracker, il n'y en a qu'un seulEventType, il n'est donc pas nécessaire de filtrer sur celui-ci) :

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

    Vous pouvez également éventuellement filtrer sur les propriétés de la position ou de la géofence :

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • Pour Select targets, choisissez l'action cible à effectuer lorsqu'un événement est reçu d'Amazon Location Service.

    Par exemple, utilisez une rubrique Amazon Simple Notification Service (SNS) pour envoyer un e-mail ou un SMS lorsqu'un événement se produit. Vous devez d’abord créer une rubrique Amazon SNS à l’aide de la console Amazon SNS. Pour plus d'informations, consultez la section Utilisation d'Amazon SNS pour les notifications aux utilisateurs.

Avertissement

Il est recommandé de vérifier que la règle de l'événement a été correctement appliquée, faute de quoi votre action automatisée risque de ne pas démarrer comme prévu. Pour vérifier votre règle d'événement, initiez les conditions de la règle d'événement. Par exemple, simulez l'entrée d'un appareil dans une zone géo-clôturée.

Vous pouvez également capturer tous les événements depuis Amazon Location, en excluant simplement la detail-type section. Par exemple :

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

Le même événement peut être organisé plusieurs fois. Vous pouvez utiliser l'identifiant d'événement pour dédupliquer les événements que vous recevez.

Exemples EventBridge d'événements Amazon pour Amazon Location Service

Voici un exemple d'événement permettant de saisir une géofence initiée par un appel. 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" } } }

Voici un exemple d'événement de sortie d'une géofence initié par un appel. 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" } } }

Voici un exemple d'événement pour une mise à jour de position, initiée par un appelBatchUpdateDevicePosition.

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