Ubicazione - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ubicazione

L'operazione (location) Posizione instrada i dati sulla posizione geografica al servizio di posizione Amazon.

Requisiti

Questa operazione della regola presenta i seguenti requisiti:

  • Un IAM ruolo che AWS IoT può assumere per eseguire l'geo:BatchUpdateDevicePositionoperazione. Per ulteriori informazioni, consulta Concedere a qualsiasi AWS IoT regola l'accesso richiesto.

    Nella AWS IoT console, è possibile scegliere o creare un ruolo per consentire l'esecuzione di questa azione relativa AWS IoT alla regola.

Parametri

Quando si crea una AWS IoT regola con questa azione, è necessario specificare le seguenti informazioni:

deviceId

L'ID univoco del dispositivo che fornisce i dati sulla posizione. Per ulteriori informazioni, consulta DeviceIdl'Amazon Location Service API Reference.

Supporta modelli di sostituzione: sì

latitude

Una stringa che restituisce un valore doppio che rappresenta la latitudine della posizione del dispositivo.

Supporta modelli di sostituzione: sì

longitude

Una stringa che restituisce un valore doppio che rappresenta la longitudine della posizione del dispositivo.

Supporta modelli di sostituzione: sì

roleArn

Il IAM ruolo che consente l'accesso al dominio Amazon Location Service. Per ulteriori informazioni, consulta Requisiti.

timestamp

L'ora in cui i dati sulla posizione sono stati campionati. Il valore predefinito è l'ora in cui il MQTT messaggio è stato elaborato.

Il valore timestamp è composto dai due valori seguenti:

  • value: un'espressione che restituisce un valore temporale periodo lungo. Puoi utilizzare la funzione time_to_epoch(String, String) per creare un timestamp valido da un valore di data o ora passato nel payload del messaggio. Supporta modelli di sostituzione: Sì.

  • unit: (facoltativo) la precisione del valore timestamp risultante dall'espressione descritta in value. Valori validi: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. Il valore predefinito è MILLISECONDS. Supporta modelli sostitutivi: API e AWS CLI solo.

trackerName

Il nome della risorsa tracker nel servizio di posizione Amazon in cui la posizione viene aggiornata. Per ulteriori informazioni, consulta Tracker nella Guida per gli sviluppatori del servizio di posizione Amazon.

Supporta modelli sostitutivi: e solo API AWS CLI

Esempi

L'JSONesempio seguente definisce un'azione Location in una AWS IoT regola.

{ "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'JSONesempio seguente definisce un'azione Location con modelli di sostituzione in una AWS IoT regola.

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

Il seguente esempio di MQTT payload mostra come i modelli di sostituzione dell'esempio precedente accedono ai dati. È possibile utilizzare il get-device-position-historyCLIcomando per verificare che i dati del MQTT payload vengano forniti nel localizzatore di posizione.

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

Consulta anche