Emplacement - AWS IoT Core

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.

Emplacement

L'action Location (location) envoie vos données de localisation géographique à Amazon Location Service.

Prérequis

Cette action réglementaire est assortie des exigences suivantes :

  • IAMRôle qui AWS IoT peut assumer la réalisation de l'geo:BatchUpdateDevicePositionopération. Pour de plus amples informations, veuillez consulter Accorder à une AWS IoT règle l'accès dont elle a besoin.

    Dans la AWS IoT console, vous pouvez choisir ou créer un rôle pour autoriser l'exécution AWS IoT de cette action de règle.

Paramètres

Lorsque vous créez une AWS IoT règle avec cette action, vous devez spécifier les informations suivantes :

deviceId

ID unique de l'appareil fournissant les données de localisation. Pour plus d'informations, consultez DeviceIdle Amazon Location Service API Reference.

Prend en charge les modèles de substitution : Oui

latitude

Chaîne qui correspond à une valeur double représentant la latitude de l'emplacement de l'appareil.

Prend en charge les modèles de substitution : Oui

longitude

Chaîne qui correspond à une valeur double représentant la longitude de l'emplacement de l'appareil.

Prend en charge les modèles de substitution : Oui

roleArn

IAMRôle qui permet d'accéder au domaine Amazon Location Service. Pour de plus amples informations, veuillez consulter Prérequis.

timestamp

Heure à laquelle les données de localisation ont été échantillonnées. La valeur par défaut est l'heure à laquelle le MQTT message a été traité.

La timestamp valeur se compose des deux valeurs suivantes :

  • value: Expression qui renvoie une valeur temporelle de longue époque. Vous pouvez utiliser cette time_to_epoch (Chaîne, Chaîne) fonction pour créer un horodatage valide à partir d'une valeur de date ou d'heure transmise dans la charge utile du message. Prend en charge les modèles de substitution : Oui

  • unit: (Facultatif) La précision de la valeur d'horodatage résultant de l'expression décrite à la section value. Valeurs valides: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS L’argument par défaut est MILLISECONDS. Supporte les modèles de substitution : API et AWS CLI uniquement.

trackerName

Nom de la ressource de suivi Amazon Location dans laquelle l'emplacement est mis à jour. Pour plus d'informations, consultez Tracker dans le guide du développeur d'Amazon Location Service.

Supporte les modèles de substitution : API et AWS CLI uniquement

Exemples

L'JSONexemple suivant définit une action de localisation dans une AWS IoT règle.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "location": { "roleArn": "arn:aws:iam::123454962127:role/service-role/ExampleRole", "trackerName": "MyTracker", "deviceId": "001", "sampleTime": { "value": "${timestamp()}", "unit": "MILLISECONDS" }, "latitude": "-12.3456", "longitude": "65.4321" } } ] } }

L'JSONexemple suivant définit une action de localisation avec des modèles de substitution dans une AWS IoT règle.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "location": { "roleArn": "arn:aws:iam::123456789012:role/service-role/ExampleRole", "trackerName": "${TrackerName}", "deviceId": "${DeviceID}", "timestamp": { "value": "${timestamp()}", "unit": "MILLISECONDS" }, "latitude": "${get(position, 0)}", "longitude": "${get(position, 1)}" } } ] } }

L'exemple de MQTT charge utile suivant montre comment les modèles de substitution de l'exemple précédent accèdent aux données. Vous pouvez utiliser la get-device-position-historyCLIcommande pour vérifier que les données de MQTT charge utile sont fournies dans votre outil de localisation.

{ "TrackerName": "mytracker", "DeviceID": "001", "position": [ "-12.3456", "65.4321" ] }
aws location get-device-position-history --device-id 001 --tracker-name mytracker
{ "DevicePositions": [ { "DeviceId": "001", "Position": [ -12.3456, 65.4321 ], "ReceivedTime": "2022-11-11T01:31:54.464000+00:00", "SampleTime": "2022-11-11T01:31:54.308000+00:00" } ] }

Consultez aussi