

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à.

# Location (Ubicazione)
<a name="location-rule-action"></a>

L'operazione (`location`) Posizione instrada i dati sulla posizione geografica al [servizio di posizione Amazon](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html).

## Requisiti
<a name="location-rule-action-requirements"></a>

Questa operazione della regola presenta i seguenti requisiti:
+ Un ruolo IAM che AWS IoT può assumere per eseguire l'`geo:BatchUpdateDevicePosition`operazione. Per ulteriori informazioni, consulta [Concedere a qualsiasi AWS IoT regola l'accesso richiesto](iot-create-role.md).

  Nella AWS IoT console, puoi scegliere o creare un ruolo che consenta di AWS IoT eseguire questa azione relativa alla regola.

## Parameters
<a name="location-rule-action-parameters"></a>

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 [https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html](https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html) dalla *Documentazione di riferimento delle API del servizio di posizione Amazon*.  
Supporta [modelli di sostituzione](iot-substitution-templates.md): sì

`latitude`  
Una stringa che restituisce un valore doppio che rappresenta la latitudine della posizione del dispositivo.  
Supporta [modelli di sostituzione](iot-substitution-templates.md): sì

`longitude`  
Una stringa che restituisce un valore doppio che rappresenta la longitudine della posizione del dispositivo.  
Supporta [modelli di sostituzione](iot-substitution-templates.md): sì

`roleArn`  
Il ruolo IAM che permette di accedere al dominio del servizio di posizione Amazon. Per ulteriori informazioni, consulta [Requisiti](#location-rule-action-requirements). 

`timestamp`  
L'ora in cui i dati sulla posizione sono stati campionati. Il valore predefinito è l'ora in cui è stato elaborato il messaggio MQTT.  
Il valore `timestamp` è composto dai due valori seguenti:  
+ `value`: un'espressione che restituisce un valore temporale periodo lungo. Puoi utilizzare la funzione [time\$1to\$1epoch(String, String)](iot-sql-functions.md#iot-sql-function-time-to-epoch) per creare un timestamp valido da un valore di data o ora passato nel payload del messaggio. Supporta [modelli di sostituzione](iot-substitution-templates.md): Sì.
+ `unit`: (facoltativo) la precisione del valore timestamp risultante dall'espressione descritta in `value`. Valori validi: `SECONDS` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1 `NANOSECONDS`. Il valore predefinito è `MILLISECONDS`. Supporta [modelli sostitutivi](iot-substitution-templates.md): solo API. AWS CLI 

`trackerName`  
Il nome della risorsa tracker nel servizio di posizione Amazon in cui la posizione viene aggiornata. Per ulteriori informazioni, consulta [Tracker](https://docs.aws.amazon.com//location/latest/developerguide/geofence-tracker-concepts.html#tracking-overview) nella *Guida per gli sviluppatori del servizio di posizione Amazon*.  
Supporta [modelli sostitutivi: API](iot-substitution-templates.md) e solo AWS CLI 

## Esempi
<a name="location-rule-action-examples"></a>

Il seguente esempio JSON definisce un'azione Location in una regola. AWS IoT 

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

Il seguente esempio JSON definisce un'azione Location con modelli di sostituzione in una regola. AWS IoT 

```
{
	"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 payload MQTT mostra in che modo i modelli di sostituzione nell'esempio precedente accedono ai dati. È possibile utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/location/get-device-position-history.html](https://docs.aws.amazon.com/cli/latest/reference/location/get-device-position-history.html) della CLI per verificare che i dati del payload MQTT vengano distribuiti nel tracker 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
<a name="location-rule-action-see-also"></a>
+ [Cos'è il servizio di posizione Amazon?](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html) nella *Guida per sviluppatori del servizio di posizione Amazon*.