

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.

# Abfragen von Aggregatdaten
<a name="index-aggregate"></a>

AWS IoT bietet vier APIs (`GetStatistics`,`GetCardinality`, und`GetBucketsAggregation`)`GetPercentiles`, mit denen Sie Ihre Geräteflotte nach aggregierten Daten durchsuchen können. 

**Anmerkung**  
 Bei Problemen mit fehlenden oder unerwarteten Werten für die Aggregation APIs lesen Sie den Leitfaden [zur Fehlerbehebung bei der Fleet-Indexierung](fleet-indexing-troubleshooting.md). 

## GetStatistics
<a name="get-statistics"></a>

Die [GetStatistics](https://docs.aws.amazon.com/iot/latest/apireference/API_GetStatistics.html)API und der **get-statistics** CLI-Befehl geben die Anzahl, den Durchschnitt, die Summe, das Minimum, das Maximum, die Summe der Quadrate, die Varianz und die Standardabweichung für das angegebene aggregierte Feld zurück.

Der **get-statistics**-CLI-Befehl nimmt die folgenden Parameter entgegen:

`index-name`  
Der Name des zu durchsuchenden Indexes. Der Standardwert ist `AWS_Things`.

`query-string`  
Die zur Abfrage des Indexes verwendete Abfrage. Sie können angeben`"*"`, dass die Anzahl aller indizierten Dinge in Ihrem abgerufen werden soll. AWS-Konto

`aggregationField`  
(Optional) Das zu aggregierende Feld. Dieses Feld muss ein verwaltetes oder benutzerdefiniertes Feld sein, das beim Aufruf von **update-indexing-configuration** definiert wird. Wenn Sie kein Aggregationsfeld angeben, wird `registry.version` als Aggregationsfeld verwendet.

`query-version`  
Die Version der Abfrage, die verwendet werden soll. Der Standardwert ist `2017-09-30`.

Der Typ des Aggregationsfelds kann sich auf die zurückgegebenen Statistiken auswirken. 

### GetStatistics mit Zeichenkettenwerten
<a name="string-aggregation"></a>

Wenn Sie in einem Zeichenfolgenfeld aggregieren, gibt der Aufruf von `GetStatistics` eine Anzahl von Geräten zurück, die Attribute aufweisen, die der Abfrage entsprechen. Beispiel:

```
aws iot get-statistics --aggregation-field 'attributes.stringAttribute'
            --query-string '*'
```

Dieser Befehl gibt die Anzahl der Geräte zurück, die ein Attribut mit dem Namen `stringAttribute` enthalten:

```
{
  "statistics": {
    "count": 3
  }
}
```

### GetStatistics mit booleschen Werten
<a name="boolean-aggregation"></a>

Wenn Sie `GetStatistics` mit einem booleschen Aggregationsfeld aufrufen:
+ AVERAGE ist der Prozentsatz der Geräte, die mit der Abfrage übereinstimmen.
+ MINIMUM ist 0 oder 1 gemäß den folgenden Regeln:
  + Wenn alle Werte für das Aggregationsfeld `false` lauten, ist MINIMUM 0.
  + Wenn alle Werte für das Aggregationsfeld `true` lauten, ist MINIMUM 1.
  + Wenn die Werte für das Aggregationsfeld eine Mischung aus `false` und sind `true`, ist MINIMUM 0.
+ MAXIMUM ist 0 oder 1 gemäß den folgenden Regeln:
  + Wenn alle Werte für das Aggregationsfeld `false` lauten, ist MAXIMUM 0.
  + Wenn alle Werte für das Aggregationsfeld `true` lauten, ist MAXIMUM 1.
  + Wenn die Werte für das Aggregationsfeld eine Mischung aus `false` und `true` sind, ist MAXIMUM 1.
+ SUM ist die Summe des ganzzahligen Äquivalents der booleschen Werte.
+ COUNT ist die Anzahl der Elemente, die den Kriterien der Abfragezeichenfolge entsprechen und einen gültigen Aggregationsfeldwert enthalten.

### GetStatistics mit numerischen Werten
<a name="numerical-aggregation"></a>

Wenn Sie `GetStatistics` aufrufen und ein Aggregationsfeld vom Typ `Number` angeben, gibt `GetStatistics` die folgenden Werte zurück:

count  
Die Anzahl der Elemente, die den Kriterien der Abfragezeichenfolge entsprechen und einen gültigen Aggregationsfeldwert enthalten.

Durchschnitt  
Der Durchschnitt der numerischen Werte, die der Abfrage entsprechen.

sum  
Die Summe der numerischen Werte, die der Abfrage entsprechen.

Minimum  
Der kleinste numerische Wert, der der Abfrage entspricht.

Maximum  
Der größte numerische Wert, der der Abfrage entspricht.

sumOfSquares  
Die Summe der Quadrate der numerischen Werte, die der Abfrage entsprechen.

Varianz  
Die Varianz der numerischen Werte, die der Abfrage entsprechen. Die Varianz einer Wertemenge ist der Durchschnitt der Quadrate der Differenzen jedes einzelnen Werts vom Durchschnittswert der Menge.

stdDeviation  
Die Standardabweichung der numerischen Werte, die der Abfrage entsprechen. Die Standardabweichung einer Wertemenge ist ein Maß für die Verteilung der Werte.

Das folgende Beispiel zeigt, wie **get-statistics** mit einem numerischen benutzerdefinierten Feld aufgerufen wird.

```
aws iot get-statistics --aggregation-field 'attributes.numericAttribute2'
            --query-string '*'
```

```
{
  "statistics": {
    "count": 3,
    "average": 33.333333333333336,
    "sum": 100.0,
    "minimum": -125.0,
    "maximum": 150.0,
    "sumOfSquares": 43750.0,
    "variance": 13472.22222222222,
    "stdDeviation": 116.06990230986766
  }
}
```

Wenn die Feldwerte den maximalen doppelten Wert überschreiten, sind bei numerischen Aggregationsfeldern die Statistikwerte leer.

## GetCardinality
<a name="get-cardinality"></a>

Die [GetCardinality](https://docs.aws.amazon.com/iot/latest/apireference/API_GetCardinality.html)API und der **get-cardinality** CLI-Befehl geben die ungefähre Anzahl der eindeutigen Werte zurück, die der Abfrage entsprechen. Beispiel: Sie möchten die Anzahl der Geräte mit einem Akkustand von weniger als 50 Prozent ermitteln:

```
aws iot get-cardinality --index-name AWS_Things --query-string "batterylevel
          > 50" --aggregation-field "shadow.reported.batterylevel"
```

Dieser Befehl gibt die Anzahl der Elemente mit einem Akkustand von mehr als 50 Prozent zurück:

```
{
    "cardinality": 100
}
```

`cardinality` wird immer von **get-cardinality** zurückgegeben, auch wenn keine übereinstimmenden Felder vorhanden sind. Beispiel:

```
aws iot get-cardinality --query-string "thingName:Non-existent*"
          --aggregation-field "attributes.customField_STR"
```

```
{
    "cardinality": 0
}
```

Der **get-cardinality**-CLI-Befehl nimmt die folgenden Parameter entgegen:

`index-name`  
Der Name des zu durchsuchenden Indexes. Der Standardwert ist `AWS_Things`.

`query-string`  
Die zur Abfrage des Indexes verwendete Abfrage. Sie können angeben`"*"`, dass die Anzahl aller indizierten Dinge in Ihrem AWS-Konto abgerufen werden soll.

`aggregationField`  
Das zu aggregierende Feld.

`query-version`  
Die Version der Abfrage, die verwendet werden soll. Der Standardwert ist `2017-09-30`.

## GetPercentiles
<a name="get-percentiles"></a>

Die [GetPercentiles](https://docs.aws.amazon.com/iot/latest/apireference/API_GetPercentiles.html)API und der **get-percentiles** CLI-Befehl gruppieren die aggregierten Werte, die der Abfrage entsprechen, in Perzentilgruppierungen. Die standardmäßigen Perzentilgruppierungen sind 1,5,25,50,75,95,99, auch wenn Sie beim Aufrufen von `GetPercentiles` Ihre eigenen angeben können. Diese Funktion gibt einen Wert für jede angegebene Perzentilgruppe (oder die standardmäßigen Perzentilgruppierungen) zurück. Die Perzentilgruppe „1“ enthält den aggregierten Feldwert, der in etwa in einem Prozent der Werte auftritt, die der Abfrage entsprechen. Die Perzentilgruppe „5“ enthält den aggregierten Feldwert, der in etwa in fünf Prozent der Werte auftritt, die der Abfrage entsprechen, usw. Das Ergebnis ist eine Annäherung, je mehr Werte der Abfrage entsprechen, desto genauer sind die Perzentilwerte.

Das folgende Beispiel zeigt, wie der **get-percentiles**-CLI-Befehl aufgerufen wird.

```
aws iot get-percentiles --query-string "thingName:*" --aggregation-field
          "attributes.customField_NUM" --percents 10 20 30 40 50 60 70 80 90 99
```

```
{
    "percentiles": [
        {
            "value": 3.0,
            "percent": 80.0
        },
        {
            "value": 2.5999999999999996,
            "percent": 70.0
        },
        {
            "value": 3.0,
            "percent": 90.0
        },
        {
            "value": 2.0,
            "percent": 50.0
        },
        {
            "value": 2.0,
            "percent": 60.0
        },
        {
            "value": 1.0,
            "percent": 10.0
        },
        {
            "value": 2.0,
            "percent": 40.0
        },
        {
            "value": 1.0,
            "percent": 20.0
        },
        {
            "value": 1.4,
            "percent": 30.0
        },
        {
            "value": 3.0,
            "percent": 99.0
        }
    ]
}
```

Der folgende Befehl zeigt die Ausgabe von **get-percentiles**, wenn keine entsprechenden Dokumente vorhanden sind.

```
aws iot get-percentiles --query-string "thingName:Non-existent*"
          --aggregation-field "attributes.customField_NUM"
```

```
{
    "percentiles": []
}
```

Der **get-percentile**-CLI-Befehl nimmt die folgenden Parameter entgegen:

`index-name`  
Der Name des zu durchsuchenden Indexes. Der Standardwert ist `AWS_Things`.

`query-string`  
Die zur Abfrage des Indexes verwendete Abfrage. Sie können angeben`"*"`, dass die Anzahl aller indizierten Dinge in Ihrem abgerufen werden soll. AWS-Konto

`aggregationField`  
Das zu aggregierende Feld, das den Typ `Number` aufweisen muss.

`query-version`  
Die Version der Abfrage, die verwendet werden soll. Der Standardwert ist `2017-09-30`.

`percents`  
Mit diesem Parameter können Sie benutzerdefinierte Perzentilgruppierungen angeben.

## GetBucketsAggregation
<a name="get-buckets"></a>

Die [GetBucketsAggregation](https://docs.aws.amazon.com/iot/latest/apireference/API_GetBucketsAggregation.html)API und der **get-buckets-aggregation** CLI-Befehl geben eine Liste von Buckets und die Gesamtzahl der Dinge zurück, die den Kriterien für die Abfragezeichenfolge entsprechen.

Das folgende Beispiel zeigt, wie der get-buckets-aggregation-CLI-Befehl aufgerufen wird.

```
aws iot get-buckets-aggregation --query-string '*' --index-name AWS_Things --aggregation-field 'shadow.reported.batterylevelpercent' --buckets-aggregation-type 'termsAggregation={maxBuckets=5}'
```

Dieser Befehl gibt die folgende Ausgabe zurück: .

```
{
    "totalCount": 20,
    "buckets": [
        {
            "keyValue": "100",
            "count": 12
        },
        {
            "keyValue": "90",
            "count": 5
        },
        {
            "keyValue": "75",
            "count": 3
        }
    ]
}
```

Der get-buckets-aggregation-CLI-Befehl nimmt die folgenden Parameter entgegen:

`index-name`  
Der Name des zu durchsuchenden Indexes. Der Standardwert ist `AWS_Things`.

`query-string`  
Die zur Abfrage des Indexes verwendete Abfrage. Sie können angeben`"*"`, dass Sie die Anzahl aller indizierten Dinge in Ihrem abrufen möchten. AWS-Konto

`aggregation-field`  
Das zu aggregierende Feld.

`buckets-aggregation-type`  
Die grundlegende Steuerung der Antwortform und des auszuführenden Bucket-Aggregationstyps.

## Autorisierung
<a name="index-aggregate-authorization"></a>

Sie können den Index der Dinggruppen wie folgt als Ressourcen-ARN in einer AWS IoT Richtlinienaktion angeben.


| Action | Ressource | 
| --- | --- | 
|  `iot:GetStatistics`  |  Ein Index-ARN (z. B. `arn:aws:iot:your-aws-region:index/AWS_Things` oder `arn:aws:iot:your-aws-region:index/AWS_ThingGroups`).  | 