Ubicación - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ubicación

La acción Ubicación (location) envía sus datos de ubicación geográfica a Amazon Location Service.

Requisitos

Esta regla tiene los siguientes requisitos:

  • Una función de IAM que AWS IoT puede asumir para realizar la geo:BatchUpdateDevicePosition operación. Para obtener más información, consulte Otorgar a una AWS IoT regla el acceso que requiere.

    En la AWS IoT consola, puede elegir o crear un rol que permita AWS IoT realizar esta acción de regla.

Parámetros

Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:

deviceId

El ID único del dispositivo que proporciona los datos de ubicación. Para obtener más información, consulte la DeviceId de la Referencia de la API de Amazon Location Service.

Admite plantillas de sustitución: Sí

latitude

Una cadena que se evalúa como un valor doble que representa la latitud de la ubicación del dispositivo.

Admite plantillas de sustitución: Sí

longitude

Una cadena que se evalúa como un valor doble que representa la longitud de la ubicación del dispositivo.

Admite plantillas de sustitución: Sí

roleArn

El rol de IAM que permite el acceso al dominio de Amazon Location Service. Para obtener más información, consulte Requisitos.

timestamp

La hora en que se muestrearon los datos de ubicación. El valor predeterminado es la hora en que se procesó el mensaje MQTT.

El valor timestamp se compone de los siguientes dos valores:

  • value: Una expresión que devuelve un valor de tiempo de época larga. Puede utilizar la función time_to_epoch(String, String) para crear una marca de tiempo válida a partir de un valor de fecha u hora incluido en la carga útil del mensaje. Admite plantillas de sustitución: Sí

  • unit: (Opcional) La precisión del valor de marca de tiempo que resulta de la expresión que se describe en value. Valores válidos: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS El valor predeterminado es MILLISECONDS. Admite plantillas de sustitución: API y AWS CLI únicamente.

trackerName

El nombre del recurso de seguimiento de Amazon Location en el que se actualiza la ubicación. Para obtener más información, consulte Rastreador en la Guía para desarrolladores de Amazon Location Service.

Admite plantillas de sustitución: API y AWS CLI únicamente

Ejemplos

El siguiente ejemplo de JSON define una acción de ubicación en una AWS IoT regla.

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

El siguiente ejemplo de JSON define una acción de ubicación con plantillas de sustitución en una AWS IoT regla.

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

El siguiente ejemplo de carga útil de MQTT muestra cómo las plantillas de sustitución del ejemplo anterior acceden a los datos. Puede usar el comando CLS get-device-position-history para verificar que los datos de carga útil MQTT se entreguen en su rastreador de ubicación.

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

Véase también