

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

In diesem Tutorial wird gezeigt, wie Sie mithilfe der [Flottenindizierung](iot-indexing.md) [Ihre Standortdaten indexieren können](location-indexing-geoquery.md). Der Einfachheit halber erstellen Sie ein Objekt, das Ihr Gerät darstellt, und speichern die Standortdaten in einem benannten Schatten, aktualisieren die Konfiguration der Objektindizierung für die Standortindizierung und führen Beispiel-Geoabfragen aus, um nach Geräten innerhalb einer radialen Grenze zu suchen.

Für dieses Tutorial brauchen Sie ungefähr 20 Minuten.

**Topics**
+ [Voraussetzungen](#location-indexing-tutorial-prerequisites)
+ [Objekte und Schatten erstellen](#location-indexing-create-resources)
+ [Konfiguration der Objektindizierung.](#location-indexing-update-configuration)
+ [Ausführen von Geoquery](#location-indexing-run-geoquery)

## Voraussetzungen
<a name="location-indexing-tutorial-prerequisites"></a>
+ Installieren der neuesten Version von [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)
+ Machen Sie sich mit der [Standortindizierung und Geoabfragen](https://docs.aws.amazon.com/iot/latest/developerguide/location-indexing-geoquery.html), der [Verwaltung der Objektindizierung](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html) und [der Abfragesyntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) vertraut.

## Objekte und Schatten erstellen
<a name="location-indexing-create-resources"></a>

Sie erstellen ein Objekt, das Ihr Gerät repräsentiert, und einen benannten Schatten, um dessen Standortdaten zu speichern (Koordinaten 47.61564, -122.33584).

1. Führen Sie den folgenden Befehl aus, um Ihr Ding zu erstellen, das Ihr Fahrrad mit dem Namen Bike-1 repräsentiert. *Weitere Informationen zum Erstellen eines Dings mit AWS CLI finden Sie unter [Create-thing](https://docs.aws.amazon.com//cli/latest/reference/iot/create-thing.html) from Reference. *AWS CLI**

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

   Die Ausgabe dieses Befehls kann folgendermaßen aussehen:

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

1. Führen Sie den folgenden Befehl aus, um einen benannten Schatten zum Speichern der Standortdaten von Bike-1 (Koordinaten 47.61564, -122.33584) zu erstellen. *Weitere Informationen zum Erstellen eines benannten Schattens mithilfe [update-thing-shadow](https://docs.aws.amazon.com//cli/latest/reference/iot-data/update-thing-shadow.html)von *AWS CLI*finden Sie in AWS CLI Reference.*

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

   Dieser Befehl liefert keine Ausgabe. Um den benannten Schatten anzuzeigen, den Sie erstellt haben, können Sie den [list-named-shadows-forCLI-Befehl -thing](https://docs.aws.amazon.com//cli/latest/reference/iot-data/list-named-shadows-for-thing.html) ausführen.

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

   Die Ausgabe dieses Befehls sieht wie folgt aus:

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

## Konfiguration der Objektindizierung.
<a name="location-indexing-update-configuration"></a>

Um Ihre Standortdaten zu indizieren, müssen Sie Ihre Objekt-Indizierungskonfiguration so aktualisieren, dass sie die Standortdaten einbezieht. Da Ihre Standortdaten in diesem Tutorial in einem benannten Schatten gespeichert werden, setzen Sie `thingIndexingMode` auf `REGISTRY` (bei einer Mindestanforderung), setzen Sie `namedShadowIndexingMode` auf `ON` und fügen Sie Ihre Standortdaten zur Konfiguration hinzu. In diesem Beispiel müssen Sie den Namen Ihres benannten Schattens und den Pfad für die Standortdaten des Schattens zu `filter` hinzufügen.

1. Führen Sie den Befehl aus, um Ihre Indizierungskonfiguration für die Standortindizierung zu aktualisieren.

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

   Der Befehl erzeugt keine Ausgabe. Möglicherweise müssen Sie einen Moment warten, bis das Update abgeschlossen ist. Führen Sie den CLI-Befehl [describe-index](https://docs.aws.amazon.com//cli/latest/reference/iot/describe-index.html) aus, um den Status zu überprüfen. Wenn `indexStatus` Folgendes anzeigt:`ACTIVE`, ist das Indizierungsupdate Ihres Objekts abgeschlossen.

1. Führen Sie den Befehl aus, um Ihre Konfiguration zu überprüfen. Dieser Schritt ist optional.

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

   Die Ausgabe sieht wie folgt aus:

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

## Ausführen von Geoquery
<a name="location-indexing-run-geoquery"></a>

Jetzt haben Sie Ihre Objekt-Indizierungskonfiguration aktualisiert, sodass sie die Standortdaten enthält. Versuchen Sie, einige Geoqueries zu erstellen und sie auszuführen, um zu sehen, ob Sie die gewünschten Suchergebnisse erhalten können. Eine Geoabfrage muss der [Abfragesyntax](query-syntax.md) folgen. Einige nützliche Beispiel-Geoabfragen finden Sie unter [Beispiele für Geoqueries](location-indexing-geoquery.md#location-indexing-geoqueries).

Im folgenden Beispielbefehl verwenden Sie die Geoabfrage, `shadow.name.Bike1-shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km` um mit Koordinaten (47.6204, -122.3491) nach Geräten zu suchen, die sich innerhalb einer radialen Entfernung von 15,5 km vom Mittelpunkt befinden. 

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

Da Sie ein Gerät an den Koordinaten „lat“: 47.6153, „lon“: -122.3333 haben, das innerhalb einer Entfernung von 15,5 km vom Mittelpunkt liegt, sollten Sie dieses Gerät (Bike-1) in der Ausgabe sehen können. Die Ausgabe sieht wie folgt aus:

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

Weitere Informationen finden Sie unter [Indexierung von Standortdaten](location-indexing-geoquery.md).