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à.
Tutorial sulle nozioni di base
Questo tutorial dimostra come utilizzare l'indicizzazione del parco veicoli per indicizzare i dati sulla posizione. Indicizzazione dei dati sulla posizione Per semplicità, puoi creare un oggetto per rappresentare il tuo dispositivo e archiviare i dati sulla posizione in un'ombra denominata, aggiornare la configurazione di indicizzazione dell'oggetto per l'indicizzazione della posizione ed eseguire geoquery di esempio per cercare dispositivi all'interno di un limite radiale.
Questo tutorial dura circa 15 minuti.
In questo argomento:
Prerequisiti
-
AWS CLIInstalla la versione più recente di.
-
Acquisisci familiarità con l'indicizzazione della posizione e le geoquery, la gestione dell'indicizzazione degli oggetti e la sintassi delle query. https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html
Crea oggetti e ombre
Crei un oggetto per rappresentare il tuo dispositivo e un'ombra denominata per memorizzare i dati sulla sua posizione (coordinate 47.61564, -122.33584).
-
Esegui il comando seguente per creare un oggetto che rappresenti la tua bici denominata. Bike-1 Per ulteriori informazioni su come creare un oggetto utilizzando AWS CLI, vedere create-thing from AWS CLI Reference.
aws iot create-thing --thing-name "Bike-1" \ --attribute-payload '{"attributes": {"model":"OEM-2302-12", "battery":"35", "acqDate":"06/09/23"}}'L'output di questo comando può essere simile al seguente:
{ "thingName": "Bike-1", "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/Bike-1", "thingId": "df9cf01d-b0c8-48fe-a2e2-e16cff6b23df" } -
Eseguite il comando seguente per creare un'ombra denominata per Bike-1 memorizzare i dati sulla posizione (coordinate 47.61564, -122.33584). Per ulteriori informazioni su come creare un'ombra denominata utilizzando, vedere update-thing-shadow di Reference. AWS CLIhttps://docs.aws.amazon.com/cli/latest/reference/iot-data/update-thing-shadow.html AWS CLI
aws iot-data update-thing-shadow \ --thing-name Bike-1 \ --shadow-name Bike1-shadow \ --cli-binary-format raw-in-base64-out \ --payload '{"state":{"reported":{"coordinates":{"lat": 47.6153, "lon": -122.3333}}}}' \ "output.txt" \Il comando non produce output. Per visualizzare l'ombra denominata che hai creato, puoi eseguire il comando CLI list-named-shadows-for-thing. https://docs.aws.amazon.com/cli/latest/reference/iot-data/list-named-shadows-for-thing.html
aws iot-data list-named-shadows-for-thing --thing-name Bike-1L'output di questo comando può essere simile al seguente:
{ "results": [ "Bike1-shadow" ], "timestamp": 1699574309 }
Aggiorna la configurazione di indicizzazione degli oggetti
Per indicizzare i dati sulla posizione, è necessario aggiornare la configurazione di indicizzazione degli oggetti per includere i dati sulla posizione. Poiché in questo tutorial i dati sulla posizione sono archiviati in un'ombra denominata, thingIndexingMode impostateli su REGISTRY (come requisito minimo), impostati su namedShadowIndexingMode essere ON e aggiungete i dati sulla posizione alla configurazione. In questo esempio, devi aggiungere il nome dell'ombra denominata e il percorso dei dati sulla posizione dell'ombra afilter.
-
Eseguite il comando per aggiornare la configurazione di indicizzazione per l'indicizzazione della posizione.
aws iot update-indexing-configuration --cli-input-json '{ "thingIndexingConfiguration": { "thingIndexingMode": "REGISTRY", "thingConnectivityIndexingMode": "OFF", "deviceDefenderIndexingMode": "OFF", "namedShadowIndexingMode": "ON", "filter": { "namedShadowNames": ["Bike1-shadow"], "geoLocations":[{ "name":"shadow.name.Bike1-shadow.reported.coordinates" }] }, "customFields": [ { "name":"attributes.battery", "type":"Number"}] } }'Il comando non produce output. Potrebbe essere necessario attendere qualche istante fino al completamento dell'aggiornamento. Per verificare lo stato, esegui il comando CLI describe-index. Se vedi
indexStatusshows:ACTIVE, l'aggiornamento dell'indicizzazione degli oggetti è completo. -
Esegui il comando per verificare la tua configurazione di indicizzazione. Questa fase è facoltativa.
aws iot get-indexing-configurationL'output può essere simile al seguente:
{ "thingIndexingConfiguration": { "thingIndexingMode": "REGISTRY", "thingConnectivityIndexingMode": "OFF", "deviceDefenderIndexingMode": "OFF", "namedShadowIndexingMode": "ON", "managedFields": [ { "name": "shadow.name.*.hasDelta", "type": "Boolean" }, { "name": "registry.version", "type": "Number" }, { "name": "registry.thingTypeName", "type": "String" }, { "name": "registry.thingGroupNames", "type": "String" }, { "name": "shadow.name.*.version", "type": "Number" }, { "name": "thingName", "type": "String" }, { "name": "thingId", "type": "String" } ], "customFields": [ { "name": "attributes.battery", "type": "Number" } ], "filter": { "namedShadowNames": [ "Bike1-shadow" ], "geoLocations": [ { "name": "shadow.name.Bike1-shadow.reported.coordinates", "order": "LatLon" } ] } }, "thingGroupIndexingConfiguration": { "thingGroupIndexingMode": "OFF" } }
Esegui geoquery
Ora hai aggiornato la configurazione di indicizzazione degli oggetti per includere i dati sulla posizione. Prova a creare alcune geoquery ed eseguile per vedere se riesci a ottenere i risultati di ricerca desiderati. Una geoquery deve seguire la sintassi Query. Sintassi delle query Puoi trovare alcuni utili esempi di geoquery in. Geointerrogazioni di esempio
Nel seguente comando di esempio, si utilizza la geoquery per shadow.name.Bike1-shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km cercare dispositivi che si trovano entro una distanza radiale di 15,5 km dal punto centrale con coordinate (47.6204, -122.3491).
aws iot search-index --query-string "shadow.name.Bike1-shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"
Poiché hai un dispositivo situato alle coordinate «lat»: 47.6153, «lon»: -122.3333, che cade entro una distanza di 15,5 km dal punto centrale, dovresti essere in grado di vedere questo dispositivo (Bike-1) nell'output. L'output può avere il seguente aspetto:
{ "things": [ { "thingName": "Bike-1", "thingId": "df9cf01d-b0c8-48fe-a2e2-e16cff6b23df", "attributes": { "acqDate": "06/09/23", "battery": "35", "model": "OEM-2302-12" }, "shadow": "{\"reported\":{\"coordinates\":{\"lat\":47.6153,\"lon\":-122.3333}},\"metadata\":{\"reported\":{\"coordinates\":{\"lat\":{\"timestamp\":1699572906},\"lon\":{\"timestamp\":1699572906}}}},\"hasDelta\":false,\"version\":1}" } ] }
Per ulteriori informazioni, consulta Indicizzazione dei dati sulla posizione.