

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.

# Dynamische Objektgruppen
<a name="dynamic-thing-groups"></a>

Dynamische Dinggruppen werden aus bestimmten Suchanfragen in der Registrierung erstellt. Suchabfrageparameter wie Gerätekonnektivität, Erstellung von Geräteschatten und Daten zu AWS IoT Device Defender Verstößen unterstützen dies. Für dynamische Dinggruppen muss die Flottenindizierung aktiviert sein, um die Daten Ihrer Geräte zu indizieren, zu durchsuchen und zu aggregieren. Sie können eine Vorschau der Dinge in einer dynamischen Dinggruppe mithilfe einer Suchabfrage zur Flottenindizierung anzeigen, bevor Sie sie erstellen. Weitere Informationen erhalten Sie unter [-Flottenindizierung](iot-indexing.md) und [Abfragesyntax](query-syntax.md).

**Anmerkung**  
Dynamische Objektgruppenvorgänge werden im Rahmen von Registrierungsvorgängen gemessen. Weitere Informationen finden Sie unter [AWS IoT Core Zusätzliche Details zur Messung](https://aws.amazon.com/iot-core/pricing/additional-details/).

Dynamische Objektgruppen unterscheiden sich von statischen Objektgruppen in folgender Hinsicht:
+ Die Objektmitgliedschaft ist nicht explizit definiert. Um eine dynamische Dinggruppe zu erstellen, definieren Sie [eine Suchabfragezeichenfolge](example-queries.md), um die Gruppenmitgliedschaft zu bestimmen.
+ Dynamische Objektgruppen können nicht Teil einer Hierarchie sein.
+ Auf dynamische Objektgruppen können keine Richtlinien angewendet werden.
+ Sie verwenden eine andere Gruppe von Befehlen zum Erstellen, Aktualisieren und Löschen von dynamischen Objektgruppen. Für alle anderen Operationen verwenden Sie dieselben Befehle für beide Arten von Dinggruppen.
+ Die Anzahl der dynamischen Gruppen pro AWS-Konto ist [begrenzt](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-group-limits).
+ Verwenden Sie keine persönlich identifizierbaren Informationen in Ihrem Dinggruppennamen. Der Name der Objektgruppe kann in unverschlüsselten Mitteilungen und Berichten vorkommen. 

Weitere Informationen über statische Objektgruppen finden Sie unter [Statische Objektgruppen](thing-groups.md).

## Anwendungsfälle dynamischer Dinggruppen
<a name="dynamic-thing-group-use-cases"></a>

Sie können dynamische Dinggruppen für die folgenden Anwendungsfälle verwenden:

### Geben Sie eine dynamische Dinggruppe als Ziel für einen Job an
<a name="dynamic-thing-group-use-cases-jobs"></a>

Wenn Sie einen kontinuierlichen Job mit einer dynamischen Dinggruppe als Ziel erstellen, können Sie Geräte automatisch als Ziel auswählen, wenn sie die gewünschten Kriterien erfüllen. Bei den Kriterien kann es sich um den Konnektivitätsstatus oder um in der Registrierung oder im Shadow gespeicherte Kriterien wie Softwareversion oder Modell handeln. Wenn ein Ding nicht in der dynamischen Dinggruppe erscheint, erhält es das Auftragsdokument aus dem Job nicht.

Zum Beispiel, wenn Ihre Geräteflotte ein Firmware-Update benötigt, um das Risiko einer Unterbrechung während des Aktualisierungsvorgangs zu minimieren, und Sie die Firmware nur auf Geräten mit einer Akkulaufzeit von mehr als 80% aktualisieren möchten. Sie können eine dynamische Dinggruppe mit dem Namen 80 erstellenPercentBatteryLife , die nur Geräte mit einer Akkulaufzeit von über 80% umfasst, und diese als Ziel für Ihre Arbeit verwenden. Nur Geräte, die Ihre Kriterien für die Akkulaufzeit erfüllen, erhalten das Firmware-Update. Wenn Geräte die Kriterien für die Akkulaufzeit von 80% erreichen, werden sie automatisch der dynamischen Objektgruppe hinzugefügt und erhalten das Firmware-Update. 

Möglicherweise verfügen Sie auch über mehrere Gerätemodelle mit unterschiedlicher Firmware oder unterschiedlichen Betriebssystemen, sodass unterschiedliche Versionen neuer Softwareupdates erforderlich sind. Dies ist der häufigste Anwendungsfall für dynamische Gruppen mit fortlaufenden Aufträgen, bei denen Sie für jede Kombination aus Gerätemodell, Firmware und Betriebssystem eine dynamische Gruppe erstellen können. Anschließend können Sie fortlaufende Aufträge für jede dieser dynamischen Gruppen einrichten, um Softwareupdates zu übertragen, da Geräte anhand der definierten Kriterien automatisch Mitglieder dieser Gruppen werden.

Weitere Informationen zum Angeben von Objektgruppen als Auftragszielen finden Sie unter [CreateJob](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateJob.html).

### Verwenden Sie dynamische Änderungen der Gruppenmitgliedschaft, um die gewünschten Aktionen durchzuführen
<a name="dynamic-thing-group-use-cases-actions"></a>

Jedes Mal, wenn ein Gerät zu einer dynamischen Dinggruppe hinzugefügt oder daraus entfernt wird, wird im Rahmen von [Registrierungsereignisaktualisierungen](https://docs.aws.amazon.com//iot/latest/developerguide/registry-events.html) eine Benachrichtigung an ein MQTT-Thema gesendet. Sie können [AWS IoT Core Regeln für](https://docs.aws.amazon.com//iot/latest/developerguide/iot-rules.html) die Interaktion mit AWS Diensten konfigurieren, die auf den Aktualisierungen der dynamischen Gruppenmitgliedschaft basieren, und die gewünschten Aktionen ausführen. Zu den Beispielaktionen gehören das Schreiben in eine Lambda-Funktion Amazon DynamoDB, das Aufrufen einer Lambda-Funktion oder das Senden einer Benachrichtigung an Amazon SNS.

### Fügen Sie Geräte zur automatischen Erkennung von Verstößen zu einer dynamischen Dinggruppe hinzu
<a name="dynamic-thing-group-use-cases-dd"></a>

AWS IoT Device Defender Detect: Kunden können ein [Sicherheitsprofil](https://docs.aws.amazon.com//iot/latest/developerguide/device-defender-detect.html) für eine dynamische Dinggruppe definieren. Geräte der dynamischen Dinggruppe werden anhand des für die Gruppe definierten Sicherheitsprofils automatisch auf Verstöße erkannt.

### Richten Sie Protokollebenen für dynamische Dinggruppen ein, um Geräte mit detaillierter Protokollierung zu beobachten
<a name="dynamic-thing-group-use-cases-log"></a>

Sie können eine Protokollebene für eine dynamische Dinggruppe angeben. Dies ist nützlich, wenn Sie die Protokollierungsebene und die Details nur für Geräte anpassen möchten, die bestimmte Kriterien erfüllen. Wenn Sie beispielsweise vermuten, dass Geräte mit einer bestimmten Firmware-Version Fehler in Bezug auf das veröffentlichte Thema einer bestimmten Regel verursachen, sollten Sie eine detaillierte Protokollierung einrichten, um diese Probleme zu beheben. In diesem Fall können Sie eine dynamische Gruppe für alle Geräte mit dieser Firmware-Version erstellen, von der wir annehmen, dass sie als Registrierungsattribut oder in einem Geräteshadow gespeichert ist. Sie können dann eine Debug-Ebene festlegen, wobei das Protokollierungsziel als diese dynamische Dinggruppe definiert ist. Weitere Informationen zur detaillierten Protokollierung finden Sie unter [Überwachung AWS IoT](https://docs.aws.amazon.com//iot/latest/developerguide/cloud-watch-logs.html#fine-grained-logging) mithilfe von Protokollen. CloudWatch Weitere Informationen zum Angeben einer Protokollierungsebene für eine bestimmte Dinggruppe finden [Sie unter Konfiguration der ressourcenspezifischen](https://docs.aws.amazon.com//iot/latest/developerguide/configure-logging.html#fine-logging-cli) Anmeldung. AWS IoT

## Erstellen einer dynamischen Objektgruppe
<a name="create-dynamic-thing-group"></a>

Mit dem Befehl **CreateDynamicThingGroup** können Sie eine dynamische Objektgruppe erstellen. Verwenden Sie den **create-dynamic-thing-group** CLI-Befehl, um eine dynamische Dinggruppe für das PercentBatteryLife 80-Szenario zu erstellen:

```
$ aws iot create-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --query-string "attributes.batterylife80"
```

**Anmerkung**  
Verwenden Sie in Ihren dynamischen Dinggruppennamen keine personenbezogenen Daten.

Der **CreateDynamicThingGroup** Befehl gibt eine Antwort zurück. Die Antwort enthält den Indexnamen, die Abfragezeichenfolge, die Abfrageversion, den Namen der Dinggruppe, die Dinggruppen-ID und den Amazon-Ressourcennamen (ARN) Ihrer Dinggruppe:

```
{
    "indexName": "AWS_Things", 
    "queryVersion": "2017-09-30", 
    "thingGroupName": "80PercentBatteryLife", 
    "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", 
    "queryString": "attributes.batterylife80\n", 
    "thingGroupId": "abcdefgh12345678ijklmnop12345678qrstuvwx"
}
```

Die Erstellung dynamischer Dinggruppen erfolgt nicht auf einmal. Der Backfillvorgang für die dynamische Objektgruppe nimmt einige Zeit in Anspruch. Wenn Sie eine dynamische Dinggruppe erstellen, wird der Status der Gruppe auf gesetzt`BUILDING`. Wenn der Backfillvorgang abgeschlossen ist, wechselt der Status zu `ACTIVE`. Verwenden Sie den [DescribeThingGroup](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeThingGroup.html)Befehl, um den Status Ihrer dynamischen Dinggruppe zu überprüfen.

## Beschreiben einer dynamischen Objektgruppe
<a name="describe-dynamic-thing-group"></a>

Mit dem Befehl **DescribeThingGroup** können Sie Informationen zu einer dynamischen Objektgruppe abrufen:

```
$ aws iot describe-thing-group --thing-group-name "80PercentBatteryLife"
```

Der Befehl **DescribeThingGroup** gibt Informationen zur angegebenen Gruppe zurück:

```
{
    "status": "ACTIVE", 
    "indexName": "AWS_Things", 
    "thingGroupName": "80PercentBatteryLife", 
    "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", 
    "queryString": "attributes.batterylife80\n", 
    "version": 1, 
    "thingGroupMetadata": {
        "creationDate": 1548716921.289
    }, 
    "thingGroupProperties": {}, 
    "queryVersion": "2017-09-30", 
    "thingGroupId": "84dd9b5b-2b98-4c65-84e4-be0e1ecf4fd8"
}
```

Wenn die Ausführung **DescribeThingGroup** auf einer dynamischen Dinggruppe ausgeführt wird, werden Attribute zurückgegeben, die für die dynamischen Dinggruppen spezifisch sind. Beispiele für Rückgabeattribute sind der QueryString und der Status.

Der Status einer dynamischen Objektgruppe kann die folgenden Werte haben:

`ACTIVE`  
Die dynamische Objektgruppe ist einsatzbereit.

`BUILDING`  
Die dynamische Objektgruppe wird erstellt, und die Mitgliedschaft wird bearbeitet.

`REBUILDING`  
Die Mitgliedschaft der dynamischen Objektgruppe wird aktualisiert, nach der Anpassung Suchabfrage der Gruppe.

**Anmerkung**  
Nachdem Sie eine dynamische Dinggruppe erstellt haben, verwenden Sie sie unabhängig von ihrem Status. Nur dynamische Objektgruppen mit dem Status `ACTIVE` enthalten alle Objekte, die der Suchabfrage für diese dynamische Objektgruppe entsprechen. Dynamische Objektgruppen mit den Status `BUILDING` und `REBUILDING` enthalten möglicherweise nicht alle Objekte, die der Suchabfrage entsprechen.

## Aktualisieren einer dynamischen Objektgruppe
<a name="update-dynamic-thing-group"></a>

Verwenden Sie den Befehl **UpdateDynamicThingGroup**, um die Attribute einer dynamischen Objektgruppe zu aktualisieren, einschließlich der Suchabfrage der Gruppe: Der folgende Befehl aktualisiert zwei Attribute. Eines ist die Beschreibung der Dinggruppe und das andere ist die Abfragezeichenfolge, mit der die Mitgliedschaftskriterien auf Akkulaufzeit > 85 geändert werden:

```
$ aws iot update-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --thing-group-properties "thingGroupDescription=\"This thing group contains devices with a battery life greater than 85 percent.\"" --query-string "attributes.batterylife85"
```

Der **UpdateDynamicThingGroup** Befehl gibt eine Antwort zurück, die die Versionsnummer der Gruppe nach der Aktualisierung enthält:

```
{
    "version": 2
}
```

Die Aktualisierung einer dynamischen Dinggruppe erfolgt nicht sofort. Der Backfillvorgang für die dynamische Objektgruppe nimmt einige Zeit in Anspruch. Wenn Sie eine dynamische Dinggruppe aktualisieren, ändert sich der Status der Gruppe in, `REBUILDING` während die Gruppe ihre Mitgliedschaft aktualisiert. Wenn der Backfillvorgang abgeschlossen ist, wechselt der Status zu `ACTIVE`. Verwenden Sie den [DescribeThingGroup](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeThingGroup.html)Befehl, um den Status Ihrer dynamischen Dinggruppe zu überprüfen.

## Löschen einer dynamischen Objektgruppe
<a name="delete-dynamic-thing-group"></a>

Mit dem Befehl **DeleteDynamicThingGroup** können Sie eine dynamische Objektgruppe löschen:

```
$ aws iot delete-dynamic-thing-group --thing-group-name "80PercentBatteryLife"
```

Der Befehl **DeleteDynamicThingGroup** erzeugt keine Ausgabe.

 Befehle, die zeigen, zu welchen Gruppen ein Objekt gehört (z. B. **ListGroupsForThing**) zeigen möglicherweise weiterhin die Gruppe an, während Datensätze in der Cloud aktualisiert werden.

## Einschränkungen dynamischer und statischer Dinggruppen
<a name="dynamic-static-thing-group-limitations"></a>

Dynamische Dinggruppen und statische Dinggruppen haben die folgenden Einschränkungen:
+ Die Anzahl der Attribute, die eine Dinggruppe haben kann, ist [begrenzt](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-group-limits).
+ Die Anzahl der Gruppen, zu denen ein Objekt gehören kann, ist [begrenzt](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-group-limits).
+ Sie können Dinggruppen nicht umbenennen.
+ Namen der Objektgruppen dürfen keine internationale Zeichen enthalten, z. B. û, é und ñ.

## Einschränkungen dynamischer Dinggruppen
<a name="dynamic-thing-group-limitations"></a>

Für dynamische Dinggruppen gelten die folgenden Einschränkungen:

### -Flottenindizierung
<a name="indexing-backfill-conflict"></a>

Wenn der Flottenindexdienst aktiviert ist, können Sie Suchanfragen auf Ihrer Geräteflotte durchführen. Sie können dynamische Dinggruppen erstellen und verwalten, nachdem das Auffüllen der Flottenindizierung abgeschlossen ist. Die Fertigstellungszeit für den Backfill-Prozess hängt direkt von der Größe Ihrer Geräteflotte ab, die bei der registriert ist. AWS Cloud Nachdem Sie den Flottenindizierungsservice für dynamische Objektgruppen aktiviert haben, können Sie ihn erst wieder deaktivieren, wenn Sie alle Ihre dynamischen Objektgruppen gelöscht haben.

**Anmerkung**  
Wenn Sie über die Berechtigungen verfügen, den Flottenindex abzufragen, können Sie auf Daten zu Objekten über die gesamte Flotte hinweg zugreifen.

### Die Anzahl der dynamischen Objektgruppen ist begrenzt
<a name="dynamic-thing-groups-limited"></a>

[Die Anzahl der dynamischen Dinggruppen ist begrenzt.](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-group-limits)

### Erfolgreiche Befehle können Fehler protokollieren
<a name="log-errors"></a>

Wenn Sie eine dynamische Dinggruppe erstellen oder aktualisieren, ist es möglich, dass einige Dinge in eine dynamische Dinggruppe aufgenommen werden können, aber sie werden dieser nicht hinzugefügt. [Dieses Szenario führt dazu, dass ein Befehl zum Erstellen oder Aktualisieren erfolgreich ausgeführt wird, während ein Fehler protokolliert und eine Metrik generiert wird. `AddThingToDynamicThingGroupsFailed`](metrics_dimensions.md#iot-metrics) Eine einzelne Metrik kann mehrere Protokolleinträge darstellen.

Ein [Fehlerprotokolleintrag](https://docs.aws.amazon.com/iot/latest/apireference/cwl-format.html#dynamic-group-logs) im CloudWatch Protokoll wird erstellt, wenn Folgendes eintritt:
+ Ein geeignetes Ding kann keiner dynamischen Dinggruppe hinzugefügt werden.
+ Ein Ding wird aus einer dynamischen Dinggruppe entfernt, um es einer anderen Gruppe hinzuzufügen.

Wenn ein Ding für das Hinzufügen zu einer dynamischen Dinggruppe in Frage kommt, sollten Sie Folgendes beachten:
+ Ist das Objekt schon in der maximalen Anzahl von Gruppen enthalten? (Weitere Informationen finden Sie unter [Limits](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-limits)).
  + **NEIN: **Das Objekt wird der dynamischen Objektgruppe hinzugefügt.
  + **JA:** Gehört das Objekt dynamischen Objektgruppen an?
    + **NEIN:** Das Objekt kann nicht zu der dynamischen Objektgruppe hinzugefügt werden, ein Fehler wird protokolliert und eine [`AddThingToDynamicThingGroupsFailed` Metrik](metrics_dimensions.md#iot-metrics) wird generiert.
    + **JA:** Ist die dynamische Objektgruppe, in die das Objekt aufgenommen werden soll, älter als jede dynamische Objektgruppe, der das Objekt bereits angehört?
      + **NEIN:** Das Objekt kann nicht zu der dynamischen Objektgruppe hinzugefügt werden, ein Fehler wird protokolliert und eine [`AddThingToDynamicThingGroupsFailed` Metrik](metrics_dimensions.md#iot-metrics) wird generiert.
      + **JA:** Entfernen Sie das Ding aus der neuesten dynamischen Dinggruppe, protokollieren Sie einen Fehler und fügen Sie das Ding der dynamischen Dinggruppe hinzu. Dies erzeugt einen Fehler und es wird eine [`AddThingToDynamicThingGroupsFailed` Metrik](metrics_dimensions.md#iot-metrics) für die dynamische Objektgruppe generiert, aus der das Objekt entfernt wurde.

Wenn ein Ding in einer dynamischen Dinggruppe die Suchabfrage nicht mehr erfüllt, wird das Ding aus der dynamischen Dinggruppe entfernt. Ebenso wird ein Ding, das aktualisiert wird, um der Suchabfrage einer dynamischen Dinggruppe zu entsprechen, der Gruppe hinzugefügt, wie zuvor beschrieben. Diese Hinzufügungen und Entfernungen sind normal und verursachen keine Fehlerprotokolleinträge.

### Bei Aktivierung von `overrideDynamicGroups` haben statische Gruppen Vorrang vor dynamischen Gruppen
<a name="membership-limit"></a>

Die Anzahl der Gruppen, zu denen ein Objekt gehören kann, ist [begrenzt](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-limits). Wenn Sie die [UpdateThingGroupsForThing](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateThingGroupsForThing.html)Befehle [AddThingToThingGroup](https://docs.aws.amazon.com/iot/latest/apireference/API_AddThingToThingGroup.html)oder verwenden, um die Ding-Mitgliedschaft zu aktualisieren, gibt das Hinzufügen des `--overrideDynamicGroups` Parameters statischen Dinggruppen Vorrang vor dynamischen Dinggruppen.

Beachten Sie Folgendes, wenn Sie einer statischen Dinggruppe ein Ding hinzufügen:
+ Gehört das Objekt bereits der maximalen Anzahl von Gruppen an?
  + **NEIN:** Das Objekt wird der statischen Objektgruppe hinzugefügt.
  + **JA:** Ist das Objekt in dynamischen Gruppen enthalten?
    + **NEIN:** Das Objekt kann nicht zu der Objektgruppe hinzugefügt werden. Der Befehl löst eine Ausnahme aus.
    + **JA:** Wurde **--overrideDynamicGroups** aktiviert?
      + **NEIN:** Das Objekt kann nicht zu der Objektgruppe hinzugefügt werden. Der Befehl löst eine Ausnahme aus.
      + **JA:** Das Objekt wird aus der zuletzt erstellten dynamischen Objektgruppe entfernt, ein Fehler wird protokolliert und es wird eine [`AddThingToDynamicThingGroupsFailed` Metrik](metrics_dimensions.md#iot-metrics) für die dynamische Objektgruppe generiert, aus der das Objekt entfernt wurde. Anschließend wird das Objekt der statischen Objektgruppe hinzugefügt.

### Ältere dynamische Objektgruppen haben Vorrang vor neueren.
<a name="group-priorities"></a>

Die Anzahl der Gruppen, zu denen ein Objekt gehören kann, ist [begrenzt](https://docs.aws.amazon.com//general/latest/gr/iot_device_management.html#thing-limits). Wenn durch einen Erstellungs- oder Aktualisierungsvorgang zusätzliche Gruppenberechtigungen für ein Ding geschaffen werden und das Ding sein Gruppenlimit erreicht hat, kann es aus einer anderen dynamischen Dinggruppe entfernt werden, um dieses Hinzufügen zu ermöglichen. Wenn Sie mehr Informationen wünschen, wie dies geschieht, beachten Sie die Beispiele unter [Erfolgreiche Befehle können Fehler protokollieren](#log-errors) und [Bei Aktivierung von `overrideDynamicGroups` haben statische Gruppen Vorrang vor dynamischen Gruppen](#membership-limit).

Wenn ein Ding aus einer dynamischen Dinggruppe entfernt wird, wird ein Fehler protokolliert und ein Ereignis ausgelöst.

### Sie können keine Richtlinien auf dynamische Objektgruppen anwenden.
<a name="apply-policy"></a>

 Wenn Sie versuchen, eine Richtlinie auf eine dynamische Objektgruppe anzuwenden, wird eine Ausnahme generiert. 

### Die Mitgliedschaft in dynamischen Objektgruppen ist letztlich konsistent.
<a name="update-conflict"></a>

Nur der letzte Status eines Geräts wird für die Registrierung evaluiert. Zwischenzustände können bei schneller Aktualisierung der Zustände übersprungen werden. Vermeiden Sie es, eine Regel oder einen Job einer dynamischen Dinggruppe zuzuordnen, deren Mitgliedschaft von einem Zwischenstatus abhängt.