

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Tindakan Location (`location`) mengirimkan data lokasi geografis Anda ke [Amazon Location Service](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html).

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

Tindakan aturan ini memiliki persyaratan sebagai berikut:
+ Peran IAM yang AWS IoT dapat diasumsikan untuk melakukan `geo:BatchUpdateDevicePosition` operasi. Untuk informasi selengkapnya, lihat [Memberikan AWS IoT aturan akses yang dibutuhkannya](iot-create-role.md).

  Di AWS IoT konsol, Anda dapat memilih atau membuat peran untuk memungkinkan AWS IoT untuk melakukan tindakan aturan ini.

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

Saat Anda membuat AWS IoT aturan dengan tindakan ini, Anda harus menentukan informasi berikut:

`deviceId`  
ID unik perangkat yang menyediakan data lokasi. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html](https://docs.aws.amazon.com//location/latest/APIReference/API_DevicePositionUpdate.html)dari *Referensi API Amazon Location Service*.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`latitude`  
String yang mengevaluasi nilai ganda yang mewakili garis lintang lokasi perangkat.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`longitude`  
String yang mengevaluasi nilai ganda yang mewakili bujur lokasi perangkat.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`roleArn`  
Peran IAM yang memungkinkan akses ke domain Amazon Location Service. Untuk informasi selengkapnya, lihat [Persyaratan](#location-rule-action-requirements). 

`timestamp`  
Waktu data lokasi diambil sampelnya. Nilai default adalah waktu pesan MQTT diproses.  
`timestamp`Nilai terdiri dari dua nilai berikut:  
+ `value`: Ekspresi yang mengembalikan nilai waktu epoch yang panjang. Anda dapat menggunakan [time\$1to\$1epoch (String, String)](iot-sql-functions.md#iot-sql-function-time-to-epoch) fungsi ini untuk membuat stempel waktu yang valid dari nilai tanggal atau waktu yang diteruskan dalam payload pesan. Mendukung [template substitusi](iot-substitution-templates.md): Ya.
+ `unit`: (Opsional) Ketepatan nilai stempel waktu yang dihasilkan dari ekspresi yang dijelaskan dalam. `value` Nilai yang valid: `SECONDS` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1`NANOSECONDS`. Nilai default-nya `MILLISECONDS`. Mendukung [template substitusi](iot-substitution-templates.md): API dan AWS CLI hanya.

`trackerName`  
Nama sumber daya pelacak di Amazon Lokasi di mana lokasi diperbarui. Untuk informasi selengkapnya, lihat [Tracker](https://docs.aws.amazon.com//location/latest/developerguide/geofence-tracker-concepts.html#tracking-overview) dari *Amazon Location Service Developer Guide*.  
Mendukung [template substitusi](iot-substitution-templates.md): API dan hanya AWS CLI 

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

Contoh JSON berikut mendefinisikan tindakan Lokasi dalam aturan. 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"
				}
			}
		]
	}
}
```

Contoh JSON berikut mendefinisikan tindakan Lokasi dengan template substitusi dalam aturan. 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)}"
				}
			}
		]
	}
}
```

Contoh payload MQTT berikut menunjukkan bagaimana template substitusi dalam contoh sebelumnya mengakses data. Anda dapat menggunakan perintah [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 untuk memverifikasi bahwa data payload MQTT dikirimkan di pelacak lokasi Anda.

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

## Lihat juga
<a name="location-rule-action-see-also"></a>
+ [Apa itu Amazon Location Service?](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html) di *Panduan Pengembang Layanan Lokasi Amazon*.