Commencez le suivi avec Amazon Location - 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.

Commencez le suivi avec Amazon Location

Cette section vous explique comment créer une application de suivi qui capture la position des appareils.

Création d'un tracker

Créez une ressource de suivi pour stocker et traiter les mises à jour de position à partir de vos appareils. Vous pouvez utiliser la console Amazon Location Service AWS CLI, le ou Amazon LocationAPIs.

Chaque mise à jour de position stockée dans vos ressources de suivi peut inclure une mesure de la précision de la position et jusqu'à trois champs de métadonnées concernant la position ou l'appareil que vous souhaitez stocker. Les métadonnées sont stockées sous forme de paires clé-valeur et peuvent stocker des informations telles que la vitesse, la direction, la pression des pneus ou la température du moteur.

Les trackers filtrent les mises à jour de position au fur et à mesure de leur réception. Cela réduit le bruit visuel sur les trajectoires de votre appareil (appelé instabilité) et le nombre de faux événements d'entrée et de sortie de barrières géographiques. Cela permet également de gérer les coûts en réduisant le nombre d'évaluations de géofences lancées.

Les trackers proposent trois options de filtrage des positions pour vous aider à gérer les coûts et à réduire l'agitation lors des mises à jour de votre position.

  • Basé sur la précision — À utiliser avec n'importe quel appareil fournissant une mesure précise. La plupart des appareils mobiles fournissent ces informations. La précision de chaque mesure de position dépend de nombreux facteurs environnementaux, notamment la réception GPS satellite, le paysage et la proximité des appareils Wi-Fi et Bluetooth. La plupart des appareils, y compris la plupart des appareils mobiles, peuvent fournir une estimation de la précision de la mesure en même temps que la mesure. Grâce au AccuracyBased filtrage, Amazon Location ignore les mises à jour de localisation si le déplacement de l'appareil est inférieur à la précision mesurée. Par exemple, si deux mises à jour consécutives provenant d'un appareil ont une plage de précision de 5 m et 10 m, Amazon Location ignore la deuxième mise à jour si l'appareil s'est déplacé de moins de 15 m. Amazon Location n'évalue pas les mises à jour ignorées par rapport aux géofences et ne les stocke pas.

    Lorsque la précision n'est pas fournie, elle est considérée comme nulle et la mesure est considérée comme parfaitement précise.

    Note

    Vous pouvez également utiliser le filtrage basé sur la précision pour supprimer tous les filtres. Si vous sélectionnez le filtrage basé sur la précision, mais que vous remplacez toutes les données de précision à zéro, ou que vous omettez complètement la précision, Amazon Location ne filtrera aucune mise à jour.

  • Basé sur la distance : à utiliser lorsque vos appareils ne fournissent pas de mesure précise, mais que vous souhaitez tout de même tirer parti du filtrage pour réduire l'instabilité et gérer les coûts. DistanceBasedle filtrage ignore les mises à jour de localisation dans lesquelles les appareils se sont déplacés à moins de 30 m (98,4 pieds). Lorsque vous utilisez le filtrage de DistanceBased position, Amazon Location n'évalue pas ces mises à jour ignorées par rapport aux géofences et ne stocke pas les mises à jour.

    La précision de la plupart des appareils mobiles, y compris la précision moyenne des appareils iOS et Android, est inférieure à 15 m. Dans la plupart des applications, le DistanceBased filtrage permet de réduire l'effet des inexactitudes de localisation lors de l'affichage de la trajectoire des appareils sur une carte, ainsi que l'effet de rebond de plusieurs événements consécutifs d'entrée et de sortie lorsque les appareils se trouvent à proximité de la limite d'une géofence. Cela peut également contribuer à réduire le coût de votre application, en effectuant moins d'appels pour effectuer une évaluation par rapport à des géofences liées ou pour récupérer les positions des appareils.

  • Basé sur le temps — (par défaut) À utiliser lorsque vos appareils envoient des mises à jour de position très fréquemment (plus d'une fois toutes les 30 secondes) et que vous souhaitez réaliser des évaluations de géofences en temps quasi réel sans enregistrer chaque mise à jour.Dans le cadre du TimeBased filtrage, chaque mise à jour de localisation est évaluée par rapport à des collections de géofences liées, mais toutes les mises à jour de localisation ne sont pas stockées. Si votre fréquence de mise à jour est supérieure à 30 secondes, une seule mise à jour toutes les 30 secondes est enregistrée pour chaque ID d'appareil unique.

Note

Tenez compte des coûts de votre application de suivi lorsque vous décidez de votre méthode de filtrage et de la fréquence des mises à jour de position. Vous êtes facturé pour chaque mise à jour de position et une fois pour l'évaluation de la mise à jour de position par rapport à chaque collection de géofences liée. Par exemple, lorsque vous utilisez le filtrage basé sur le temps, si votre traceur est lié à deux collections de géofences, chaque mise à jour de position comptera comme une demande de mise à jour de localisation et deux évaluations de collections de géofences. Si vous signalez des mises à jour de position toutes les 5 secondes pour vos appareils et que vous utilisez un filtrage basé sur le temps, 720 mises à jour de localisation et 1 440 évaluations de géofences par heure vous seront facturées pour chaque appareil.

Votre facture n'est pas affectée par le nombre de géofences dans chaque collection. Étant donné que chaque collection de géofences peut contenir jusqu'à 50 000 géofences, vous souhaiterez peut-être combiner vos géofences en un moins grand nombre de collections, dans la mesure du possible, afin de réduire le coût des évaluations de géofences.

Par défaut, vous recevrez EventBridge des événements chaque fois qu'un appareil suivi entre ou sort d'une géofence liée. Pour de plus amples informations, veuillez consulter Tutoriel : associer un traceur à une collection de géofences dans Amazon Location.

Vous pouvez activer des événements pour toutes les mises à jour de position filtrées pour une ressource de suivi. Pour de plus amples informations, veuillez consulter Activer les événements de mise à jour pour un tracker.

Note

Si vous souhaitez chiffrer vos données à l'aide de votre propre clé gérée par le AWS KMS client, la fonctionnalité Bounding Polygon Queries sera désactivée par défaut. En effet, en utilisant cette fonctionnalité de requêtes polygonales de délimitation, aucune représentation des positions de votre appareil ne sera cryptée à l'aide de votre clé AWS KMS gérée. Cependant, la position exacte de l'appareil est toujours cryptée à l'aide de votre clé gérée.

Vous pouvez choisir d'activer la fonctionnalité Bounding Polygon Queries en définissant le KmsKeyEnableGeospatialQueries paramètre sur true lors de la création ou de la mise à jour d'un outil de suivi.

Console

Pour créer un outil de suivi à l'aide de la console Amazon Location

  1. Ouvrez la console Amazon Location Service à l'adresse https://console.aws.amazon.com/location/.

  2. Dans le volet de navigation de gauche, choisissez Trackers.

  3. Choisissez Créer un tracker.

  4. Remplissez les champs suivants :

    • Nom — Entrez un nom unique. Par exemple, ExampleTracker. 100 caractères maximum. Les entrées valides incluent les caractères alphanumériques, les traits d'union, les points et les traits de soulignement.

    • Description — Entrez une description facultative.

  5. Sous Filtrage des positions, choisissez l'option qui correspond le mieux à la manière dont vous avez l'intention d'utiliser votre ressource de suivi. Si vous ne définissez pas le filtrage de position, le paramètre par défaut estTimeBased. Pour plus d'informations, consultez En savoir plus sur les traceurs dans Amazon Location Service ce guide et PositionFiltering le manuel Amazon Location Service Trackers API Reference.

  6. (Facultatif) Sous Tags (Balises), entrez des paramètres Key (Clé) et Value (Valeur) de balise. Cela ajoute un tag à votre nouvelle collection de géofences. Pour plus d'informations, veuillez consulter la rubrique Balisage de vos ressources.

  7. (Facultatif) Sous Chiffrement de clé géré par le client, vous pouvez choisir d'ajouter une clé gérée par le client. Cela ajoute une clé symétrique gérée par le client que vous créez, détenez et gérez par rapport au chiffrement AWS détenu par défaut. Pour plus d'informations, consultez la section Chiffrement des données au repos.

  8. (Facultatif) Sous KmsKeyEnableGeospatialQueries, vous pouvez choisir d'activer les requêtes géospatiales. Cela vous permet d'utiliser la fonctionnalité Bounding Polygon Queries, tout en chiffrant vos données à l'aide d'une clé gérée par le client AWSKMS.

    Note

    Lorsque vous utilisez la fonctionnalité Bounding Polygon Queries, la représentation des positions de votre appareil n'est pas cryptée à l'aide de votre clé AWS KMS gérée. Cependant, la position exacte de l'appareil est toujours cryptée à l'aide de votre clé gérée.

  9. (Facultatif) Dans le cadre EventBridge de la configuration, vous pouvez choisir d'activer les EventBridge événements pour les mises à jour de position filtrées. Cela enverra un événement chaque fois qu'une mise à jour de position d'un appareil dans ce tracker répond à l'évaluation du filtrage de position.

  10. Choisissez Créer un tracker.

API

Pour créer un outil de suivi à l'aide de l'Amazon Location APIs

Utilisez l'CreateTrackeropération des Amazon Location TrackersAPIs.

L'exemple suivant utilise une API demande pour créer un outil de suivi appelé ExampleTracker. La ressource de suivi est associée à une AWS KMS clé gérée par le client pour chiffrer les données du client et ne permet pas les mises à jour de position dans EventBridge.

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": false, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }

Créez un tracker avec KmsKeyEnableGeospatialQueries activé

Dans l'exemple suivant, le paramètre est KmsKeyEnableGeospatialQueries défini sur true. Cela vous permet d'utiliser la fonctionnalité Bounding Polygon Queries, tout en chiffrant vos données à l'aide d'une clé gérée par le client AWS KMS .

Pour plus d'informations sur l'utilisation de la fonctionnalité Bounding Polygon Requêtes, voir Listez les positions de votre appareil

Note

Lorsque vous utilisez la fonctionnalité Bounding Polygon Queries, la représentation des positions de votre appareil n'est pas cryptée à l'aide de votre clé AWS KMS gérée. Cependant, la position exacte de l'appareil est toujours cryptée à l'aide de votre clé gérée.

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": true, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }
AWS CLI

Pour créer un tracker à l'aide de AWS CLI commandes

Utilisez la commande create-tracker.

L'exemple suivant utilise le AWS CLI pour créer un outil de suivi appelé ExampleTracker. La ressource de suivi est associée à une AWS KMS clé gérée par le client pour chiffrer les données du client et ne permet pas les mises à jour de position dans EventBridge.

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries false \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"

Créez un tracker avec KmsKeyEnableGeospatialQueries activé

Dans l'exemple suivant, le paramètre est KmsKeyEnableGeospatialQueries défini sur true. Cela vous permet d'utiliser la fonctionnalité Bounding Polygon Queries, tout en chiffrant vos données à l'aide d'une clé gérée par le client AWS KMS .

Pour plus d'informations sur l'utilisation de la fonctionnalité Bounding Polygon Requêtes, voir Listez les positions de votre appareil

Note

Lorsque vous utilisez la fonctionnalité Bounding Polygon Queries, la représentation des positions de votre appareil n'est pas cryptée à l'aide de votre clé AWS KMS gérée. Cependant, la position exacte de l'appareil est toujours cryptée à l'aide de votre clé gérée.

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries true \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
Note

La facturation dépend de votre utilisation. L'utilisation d'autres AWS services peut entraîner des frais. Pour plus d'informations, consultez la tarification d'Amazon Location Service.

Vous pouvez modifier la description, le filtrage des positions et la EventBridge configuration une fois le tracker créé en choisissant Modifier le tracker.

Authentification de vos demandes

Une fois que vous avez créé une ressource de suivi et que vous êtes prêt à commencer à évaluer les positions des appareils par rapport aux géofences, choisissez la manière dont vous souhaitez authentifier vos demandes :

  • Pour découvrir comment accéder aux services, consultez la section Accès à Amazon Location Service.

  • Si vous souhaitez publier les positions des appareils à l'aide de demandes non authentifiées, vous pouvez utiliser Amazon Cognito.

    Exemple

    L'exemple suivant montre l'utilisation d'un pool d'identités Amazon Cognito pour l'autorisation, à l'aide de la AWS JavaScript SDKversion 3 et de l'emplacement Amazon. JavaScript Aide à l'authentification

    import { LocationClient, BatchUpdateDevicePositionCommand } from "@aws-sdk/client-location"; import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; // Unauthenticated identity pool you created const identityPoolId = "us-east-1:1234abcd-5678-9012-abcd-sample-id"; // Create an authentication helper instance using credentials from Cognito const authHelper = await withIdentityPoolId(identityPoolId); const client = new LocationClient({ region: "us-east-1", // The region containing both the identity pool and tracker resource ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const input = { TrackerName: "ExampleTracker", Updates: [ { DeviceId: "ExampleDevice-1", Position: [-123.4567, 45.6789], SampleTime: new Date("2020-10-02T19:09:07.327Z"), }, { DeviceId: "ExampleDevice-2", Position: [-123.123, 45.123], SampleTime: new Date("2020-10-02T19:10:32Z"), }, ], }; const command = new BatchUpdateDevicePositionCommand(input); // Send device position updates const response = await client.send(command);

Mettez à jour votre traceur avec la position de l'appareil

Pour suivre vos appareils, vous pouvez publier des mises à jour de position des appareils sur votre traceur. Vous pouvez ensuite récupérer ces positions de l'appareil ou l'historique des positions de l'appareil à partir de votre ressource de suivi.

Chaque mise à jour de position doit inclure l'identifiant de l'appareil, un horodatage et une position. Vous pouvez éventuellement inclure d'autres métadonnées, notamment la précision et jusqu'à 3 paires clé-valeur pour votre propre usage.

Si votre traceur est lié à une ou plusieurs collections de géofences, les mises à jour seront évaluées par rapport à ces géofences (conformément aux règles de filtrage que vous avez spécifiées pour le traceur). Si un appareil franchit une zone géo-clôturée (en se déplaçant de l'intérieur de la zone vers l'extérieur, ou vice versa), vous recevrez des événements à l'intérieur. EventBridge Ces EXIT événements ENTER ou événements incluent les détails de mise à jour de la position, y compris l'identifiant de l'appareil, l'horodatage et toutes les métadonnées associées.

Note

Pour plus d'informations sur le filtrage des positions, consultezCréation d'un tracker.

Pour plus d'informations sur les événements de géofence, consultez. Réagir aux événements d'Amazon Location Service avec Amazon EventBridge

Utilisez l'une des méthodes suivantes pour envoyer les mises à jour de l'appareil :

  • Envoyez MQTT des mises à jour à une ressource AWS IoT Core et associez-la à votre ressource de suivi.

  • Envoyez des mises à jour de localisation à l'aide des Amazon Location TrackersAPI, en utilisant le AWS CLI, ou l'Amazon LocationAPIs. Vous pouvez utiliser le AWS SDKspour appeler APIs depuis votre application iOS ou Android.

API

Pour envoyer une mise à jour de position à l'aide de l'Amazon Location APIs

Utilisez l'BatchUpdateDevicePositionopération des Amazon Location TrackersAPIs.

L'exemple suivant utilise une API demande pour publier une mise à jour de la position de l'appareil pour ExampleDevice vers un traceur ExampleTracker.

POST /tracking/v0/trackers/ExampleTracker/positions Content-type: application/json { "Updates": [ { "DeviceId": "1", "Position": [ -123.12245146162303, 49.27521118043802 ], "SampleTime": "2022-10-24T19:09:07.327Z", "PositionProperties": { "name" : "device1" }, "Accuracy": { "Horizontal": 10 } }, { "DeviceId": "2", "Position": [ -123.1230104928471, 49.27752402723152 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "3", "Position": [ -123.12325592118916, 49.27340530543111 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "4", "Position": [ -123.11958813096311, 49.27774641063121 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "5", "Position": [ -123.1277418058896, 49.2765989015285 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "6", "Position": [ -123.11964267059481, 49.274188155916534 ], "SampleTime": "2022-10-02T19:09:07.327Z" } ] }
AWS CLI

Pour envoyer une mise à jour de position à l'aide de AWS CLI commandes

Utilisez la commande batch-update-device-position.

L'exemple suivant utilise un AWS CLI pour publier une mise à jour de la position de l'appareil pour ExampleDevice-1 and ExampleDevice-2 vers un traceur ExampleTracker.

aws location batch-update-device-position \ --tracker-name ExampleTracker \ --updates '[{"DeviceId":"ExampleDevice-1","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z"},{"DeviceId":"ExampleDevice-2","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'

Obtenir l'historique de localisation d'un appareil à partir d'un traceur

Votre ressource Amazon Location Tracker conserve l'historique de localisation de tous vos appareils suivis pendant une période de 30 jours. Vous pouvez récupérer l'historique de localisation de l'appareil, y compris toutes les métadonnées associées, à partir de votre ressource de suivi. Les exemples suivants utilisent le AWS CLI, ou l'emplacement AmazonAPIs.

API

Pour obtenir l'historique de localisation de l'appareil à partir d'un traceur à l'aide d'Amazon Location APIs

Utilisez l'GetDevicePositionHistoryopération des Amazon Location TrackersAPIs.

L'exemple suivant utilise une API URI demande pour obtenir l'historique de localisation de l'appareil de ExampleDevice à partir d'un traceur appelé ExampleTracker à partir de 19:05:07 (inclus) et se termine à 19:20:07 (exclusif)2020–10–02.

POST /tracking/v0/trackers/ExampleTracker/devices/ExampleDevice/list-positions Content-type: application/json { "StartTimeInclusive": "2020-10-02T19:05:07.327Z", "EndTimeExclusive": "2020-10-02T19:20:07.327Z" }
AWS CLI

Pour obtenir l'historique de localisation de l'appareil à partir d'un traceur à l'aide de AWS CLI commandes

Utilisez la commande get-device-position-history.

L'exemple suivant utilise un AWS CLI pour obtenir l'historique de localisation de l'appareil de ExampleDevice à partir d'un traceur appelé ExampleTracker à partir de 19:05:07 (inclus) et se termine à 19:20:07 (exclusif)2020–10–02.

aws location \ get-device-position-history \ --device-id "ExampleDevice" \ --start-time-inclusive "2020-10-02T19:05:07.327Z" \ --end-time-exclusive "2020-10-02T19:20:07.327Z" \ --tracker-name "ExampleTracker"

Listez les positions de votre appareil

Vous pouvez consulter la liste des positions des appareils d'un appareil de suivi en utilisant le AWS CLI, ou l'emplacement AmazonAPIs, avec le ListDevicePositions API. Lorsque vous appelez le ListDevicePositions API, une liste des dernières positions de tous les appareils associés à un traceur donné est renvoyée. Par défaut, cela API renvoie 100 des dernières positions des appareils par page de résultats pour un tracker donné. Pour renvoyer uniquement des appareils situés dans une région spécifique, utilisez le FilterGeometry paramètre pour créer une requête de polygone de délimitation. Ainsi, lorsque vous appelez ListDevicePositions, seuls les appareils situés à l'intérieur du polygone seront renvoyés.

Note

Si vous souhaitez chiffrer vos données à l'aide de votre propre clé gérée par le AWS KMS client, la fonctionnalité Bounding Polygon Queries sera désactivée par défaut. En effet, en utilisant cette fonctionnalité, aucune représentation des positions de votre appareil ne sera cryptée à l'aide de votre clé AWS KMS gérée. Cependant, la position exacte de l'appareil est toujours cryptée à l'aide de votre clé gérée.

Vous pouvez choisir d'activer la fonctionnalité Bounding Polygon Queries. Pour ce faire, définissez le KmsKeyEnableGeospatialQueries paramètre sur true lors de la création ou de la mise à jour d'un Tracker.

API

Utilisez l'ListDevicePositionsopération des Amazon Location TrackersAPIs.

L'exemple suivant est une API demande visant à obtenir une liste des positions des appareils dans une zone polygonale, à l'aide du paramètre facultatif. FilterGeometry L'exemple renvoie 3 emplacements de périphériques présents dans la zone définie par le Polygon tableau.

POST /tracking/v0/trackers/TrackerName/list-positions HTTP/1.1 Content-type: application/json { "FilterGeometry": { "Polygon": [ [ [ -123.12003339442259, 49.27425121147397 ], [ -123.1176984148229, 49.277063620879744 ], [ -123.12389509145294, 49.277954183760926 ], [ -123.12755921328647, 49.27554025235713 ], [ -123.12330236586217, 49.27211836076236 ], [ -123.12003339442259, 49.27425121147397 ] ] ] }, "MaxResults": 3, "NextToken": "1234-5678-9012" }

Voici un exemple de réponse pour ListDevicePositions :

{ "Entries": [ { "DeviceId": "1", "SampleTime": "2022-10-24T19:09:07.327Z", "Position": [ -123.12245146162303, 49.27521118043802 ], "Accuracy": { "Horizontal": 10 }, "PositionProperties": { "name": "device1" } }, { "DeviceId": "3", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.12325592118916, 49.27340530543111 ] }, { "DeviceId": "2", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.1230104928471, 49.27752402723152 ] } ], "NextToken": "1234-5678-9012" }
CLI

Utilisez la commande list-trackers.

L'exemple suivant permet d' AWS CLI obtenir une liste de périphériques dans une zone polygonale.

aws location list-device-positions TODO: add arguments add props for filter geo