

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

# Tutorial memulai
<a name="location-indexing-tutorial"></a>

Tutorial ini menunjukkan cara menggunakan pengindeksan [armada untuk mengindeks](iot-indexing.md) [data lokasi Anda](location-indexing-geoquery.md). Untuk mempermudah, Anda membuat sesuatu untuk mewakili perangkat Anda dan menyimpan data lokasi dalam bayangan bernama, memperbarui konfigurasi pengindeksan hal untuk pengindeksan lokasi, dan menjalankan contoh geoquery untuk mencari perangkat dalam batas radial.

Tutorial ini membutuhkan waktu sekitar 15 menit untuk menyelesaikannya.

**Topics**
+ [Prasyarat](#location-indexing-tutorial-prerequisites)
+ [Ciptakan benda dan bayangan](#location-indexing-create-resources)
+ [Perbarui konfigurasi pengindeksan hal](#location-indexing-update-configuration)
+ [Jalankan geoquery](#location-indexing-run-geoquery)

## Prasyarat
<a name="location-indexing-tutorial-prerequisites"></a>
+ Instal versi terbaru dari [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html).
+ [Biasakan diri Anda dengan [pengindeksan Lokasi dan geoquery](https://docs.aws.amazon.com/iot/latest/developerguide/location-indexing-geoquery.html), [Kelola pengindeksan hal](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html), dan sintaks Kueri.](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)

## Ciptakan benda dan bayangan
<a name="location-indexing-create-resources"></a>

Anda membuat sesuatu untuk mewakili perangkat Anda, dan bayangan bernama untuk menyimpan data lokasinya (koordinat 47.61564, -122.33584).

1. Jalankan perintah berikut untuk membuat benda Anda yang mewakili sepeda Anda bernama Bike-1. *Untuk informasi selengkapnya tentang cara membuat sesuatu menggunakan AWS CLI, lihat [create-thing](https://docs.aws.amazon.com//cli/latest/reference/iot/create-thing.html) dari Referensi. *AWS CLI**

   ```
   aws iot create-thing --thing-name "Bike-1" \
   --attribute-payload '{"attributes": {"model":"OEM-2302-12", "battery":"35", "acqDate":"06/09/23"}}'
   ```

   Output dari perintah ini dapat terlihat seperti berikut:

   ```
   {
       "thingName": "Bike-1",
       "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/Bike-1",
       "thingId": "df9cf01d-b0c8-48fe-a2e2-e16cff6b23df"
   }
   ```

1. Jalankan perintah berikut untuk membuat bayangan bernama untuk menyimpan data lokasi Sepeda-1 (koordinat 47.61564, -122.33584). Untuk informasi selengkapnya tentang cara membuat bayangan bernama menggunakan AWS CLI, lihat [update-thing-shadow](https://docs.aws.amazon.com//cli/latest/reference/iot-data/update-thing-shadow.html)dari *AWS CLI**Referensi*.

   ```
   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" \
   ```

   Perintah ini tidak menghasilkan output apa pun. Untuk melihat bayangan bernama yang Anda buat, Anda dapat menjalankan perintah [list-named-shadows-for-thing](https://docs.aws.amazon.com//cli/latest/reference/iot-data/list-named-shadows-for-thing.html) CLI.

   ```
   aws iot-data list-named-shadows-for-thing --thing-name Bike-1
   ```

   Output dari perintah ini dapat terlihat seperti berikut:

   ```
   {
       "results": [
           "Bike1-shadow"
       ],
       "timestamp": 1699574309
   }
   ```

## Perbarui konfigurasi pengindeksan hal
<a name="location-indexing-update-configuration"></a>

Untuk mengindeks data lokasi Anda, Anda harus memperbarui konfigurasi pengindeksan hal Anda untuk menyertakan data lokasi. Karena data lokasi Anda disimpan dalam bayangan bernama dalam tutorial ini, atur `thingIndexingMode` menjadi `REGISTRY` (pada persyaratan minimum), atur `namedShadowIndexingMode` menjadi`ON`, dan tambahkan data lokasi Anda ke konfigurasi. Dalam contoh ini, Anda harus menambahkan nama bayangan bernama Anda dan jalur data lokasi bayangan ke`filter`.

1. Jalankan perintah untuk memperbarui konfigurasi pengindeksan Anda untuk pengindeksan lokasi.

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

   Perintah tidak menghasilkan output apa pun. Anda mungkin perlu menunggu beberapa saat hingga pembaruan selesai. Untuk memeriksa status, jalankan perintah [CLI deskripsi-indeks](https://docs.aws.amazon.com//cli/latest/reference/iot/describe-index.html). Jika Anda melihat `indexStatus` show:`ACTIVE`, pembaruan pengindeksan hal Anda selesai.

1. Jalankan perintah untuk memverifikasi konfigurasi pengindeksan Anda. Langkah ini bersifat opsional.

   ```
   aws iot get-indexing-configuration
   ```

   Outputnya bisa terlihat seperti berikut:

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

## Jalankan geoquery
<a name="location-indexing-run-geoquery"></a>

Sekarang Anda telah memperbarui konfigurasi pengindeksan hal Anda untuk memasukkan data lokasi. Cobalah untuk membuat beberapa geoquery dan menjalankannya untuk melihat apakah Anda bisa mendapatkan hasil pencarian yang Anda inginkan. Geoquery harus mengikuti [sintaks Query](query-syntax.md). Anda dapat menemukan beberapa contoh geoquery yang berguna di. [Contoh geoqueries](location-indexing-geoquery.md#location-indexing-geoqueries)

Dalam contoh perintah berikut, Anda menggunakan geoquery `shadow.name.Bike1-shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km` untuk mencari perangkat yang berada dalam jarak radial 15,5 km dari titik pusat dengan koordinat (47.6204, -122.3491). 

```
aws iot search-index --query-string "shadow.name.Bike1-shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"
```

Karena Anda memiliki perangkat yang terletak di koordinat “lat”: 47.6153, “lon”: -122.3333, yang berada dalam jarak 15,5 km dari titik pusat, Anda harus dapat melihat perangkat ini (Sepeda-1) dalam output. Outputnya bisa terlihat seperti berikut:

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

Lihat informasi yang lebih lengkap di [Pengindeksan data lokasi](location-indexing-geoquery.md).