Local - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Local

A ação Localização (location) envia seus dados de localização geográfica para o Amazon Location Service.

Requisitos

Esta ação de regra tem os seguintes requisitos:

  • Uma IAM função que AWS IoT pode ser assumida para realizar a geo:BatchUpdateDevicePosition operação. Para obter mais informações, consulte Conceder a uma AWS IoT regra o acesso que ela exige.

    No AWS IoT console, você pode escolher ou criar uma função para permitir AWS IoT a execução dessa ação de regra.

Parâmetros

Ao criar uma AWS IoT regra com essa ação, você deve especificar as seguintes informações:

deviceId

O ID exclusivo do dispositivo que fornece os dados de localização. Para obter mais informações, consulte DeviceIda Amazon Location Service API Reference.

Compatível com modelos de substituição: Sim

latitude

Uma string que é avaliada como um valor duplo que representa a latitude da localização do dispositivo.

Compatível com modelos de substituição: Sim

longitude

Uma string que é avaliada como um valor duplo que representa a longitude da localização do dispositivo.

Compatível com modelos de substituição: Sim

roleArn

A IAM função que permite o acesso ao domínio do Amazon Location Service. Para obter mais informações, consulte Requisitos.

timestamp

A hora em que os dados de localização foram amostrados. O valor padrão é a hora em que a MQTT mensagem foi processada.

O valor timestamp consiste nos dois valores a seguir:

  • value: Uma expressão que retorna um valor de horário epoch longo. Você pode usar a função time_to_epoch(String, String) para criar um carimbo de data/hora válido a partir de um valor de data ou hora transmitido na carga da mensagem. Compatível com modelos de substituição: Sim.

  • unit: (Opcional) A precisão do valor do carimbo de data/hora que resulta da expressão descrita em value. Valores válidos: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. O padrão é MILLISECONDS. Suporta modelos de substituição: API e AWS CLI somente.

trackerName

O nome do recurso rastreador no Amazon Location no qual a localização é atualizada. Para acessar mais informações, consulte Rastreador no Guia do desenvolvedor do Amazon Location Service.

Suporta modelos de substituição: API e somente AWS CLI

Exemplos

O JSON exemplo a seguir define uma ação de localização em uma AWS IoT regra.

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

O JSON exemplo a seguir define uma ação de localização com modelos de substituição em uma AWS IoT regra.

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

O exemplo de MQTT carga útil a seguir mostra como os modelos de substituição no exemplo anterior acessam os dados. Você pode usar o get-device-position-historyCLIcomando para verificar se os dados da MQTT carga útil são entregues no seu rastreador de localização.

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

Consulte também