

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 name="location-rule-action"></a>

A ação Localização (`location`) envia seus dados de localização geográfica para o [Amazon Location Service](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html).

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

Esta ação de regra tem os seguintes requisitos:
+ Uma função do IAM que AWS IoT você pode assumir para realizar a `geo:BatchUpdateDevicePosition` operação. Para obter mais informações, consulte [Conceder a uma AWS IoT regra o acesso que ela exige](iot-create-role.md).

  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
<a name="location-rule-action-parameters"></a>

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 [https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html](https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html) da *Referência de API do Amazon Location Service*.  
Compatível com [modelos de substituição](iot-substitution-templates.md): 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](iot-substitution-templates.md): 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](iot-substitution-templates.md): Sim

`roleArn`  
O perfil do IAM que permite acessar o domínio do Amazon Location Service. Para obter mais informações, consulte [Requisitos](#location-rule-action-requirements). 

`timestamp`  
A hora em que os dados de localização foram amostrados. O valor padrão é a hora que a mensagem MQTT 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\$1to\$1epoch(String, String)](iot-sql-functions.md#iot-sql-function-time-to-epoch) 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](iot-substitution-templates.md): 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` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1 `NANOSECONDS`. O padrão é `MILLISECONDS`. Suporta [modelos de substituição](iot-substitution-templates.md): 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](https://docs.aws.amazon.com//location/latest/developerguide/geofence-tracker-concepts.html#tracking-overview) no *Guia do desenvolvedor do Amazon Location Service*.  
Suporta [modelos de substituição](iot-substitution-templates.md): API e somente AWS CLI 

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

O exemplo de JSON 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 exemplo de JSON a seguir define uma ação Location 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 carga útil do MQTT a seguir mostra como os modelos de substituição no exemplo anterior acessam os dados. Você pode usar o 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) CLI para verificar se os dados da carga útil do MQTT 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
<a name="location-rule-action-see-also"></a>
+ [O que é o Amazon Location Service?](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html) no *Guia do desenvolvedor do Amazon Location Service*.