

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éagissez aux événements du service de location Amazon avec Amazon EventBridge
<a name="location-events"></a>

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 que AWS 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 (`ENTER`et 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 de plus amples informations, veuillez consulter [Activer les événements de mise à jour pour un tracker](#enable-update-events).

Pour plus d'informations, consultez [les événements et les modèles d'événements](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) *du guide de EventBridge l'utilisateur Amazon*.

**Topics**
+ [Activer les événements de mise à jour pour un tracker](#enable-update-events)
+ [Création de règles d'événement pour Amazon Location](#create-event-rule)
+ [Exemples EventBridge d'événements Amazon pour Amazon Location Service](#example-event)

## Activer les événements de mise à jour pour un tracker
<a name="enable-update-events"></a>

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](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_CreateTracker.html) ou [mettez à jour](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_UpdateTracker.html) un tracker.

Par exemple, pour mettre à jour un outil de suivi existant à l'aide de AWS 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
<a name="create-event-rule"></a>

Vous pouvez créer [jusqu'à 300 règles par événement dans le bus](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-quota.html) 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-visual.html) 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 seul`EventType`, 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](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html).

**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
<a name="example-event"></a>

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 appel`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"
    }
  }
}
```