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.
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:
-
Un IAM rol que AWS IoT se puede asumir al 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, consulta la APIreferencia
DeviceId
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 IAM rol 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 MQTT mensaje.
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 envalue
. Valores válidos:SECONDS
|MILLISECONDS
|MICROSECONDS
|NANOSECONDS
El valor predeterminado esMILLISECONDS
. Admite plantillas de sustitución: API y AWS CLI solo.
-
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.
Soporta plantillas de sustitución: API y AWS CLI solo
Ejemplos
El siguiente JSON ejemplo 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"
}
}
]
}
}
En el siguiente JSON ejemplo, se 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 MQTT carga útil muestra cómo las plantillas de sustitución del ejemplo anterior acceden a los datos. Puede usar el get-device-position-historyCLIcomando para verificar que los datos de la MQTT carga útil 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-namemytracker
{ "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
-
¿Qué es Amazon Location Service? en la Guía para desarrolladores de Amazon Location Service.