

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.

# MQTT-Themen für Geräteschatten
<a name="device-shadow-mqtt"></a>

Der Device Shadow-Service verwendet reservierte MQTT-Themen, um es Anwendungen und Geräten zu ermöglichen, die Statusinformationen für ein Gerät (Schatten) abzurufen, zu aktualisieren oder zu löschen. 

Das Veröffentlichen in und Abonnieren von Schattengerätethemen erfordert eine themenbasierte Autorisierung. AWS IoT behält sich das Recht vor, der vorhandenen Themenstruktur neue Themen hinzuzufügen. Aus diesem Grund empfehlen wir, Abonnements mit Platzhaltern von Schattengeräte-Topics zu vermeiden. Vermeiden Sie es beispielsweise, Themenfilter zu abonnieren, `$aws/things/thingName/shadow/#` weil die Anzahl der Themen, die diesem Themenfilter entsprechen, zunehmen könnte, wenn neue Schattenthemen AWS IoT eingeführt werden. Beispiele für Nachrichten, die zu diesen Topics veröffentlichten wurden, finden Sie unter [Interaktion mit Schatten](device-shadow-data-flow.md).

Schatten können benannt oder unbenannt sein (klassisch). Die jeweils verwendeten Themen unterscheiden sich nur durch das Themenpräfix. In dieser Tabelle wird das Themenpräfix angezeigt, das von jedem Schattentyp verwendet wird.


| *ShadowTopicPrefix* Wert | Schattentyp | 
| --- | --- | 
| \$1aws/things/thingName/shadow | Unbenannter (klassischer) Schatten | 
| \$1aws/things/thingName/shadow/name/shadowName | Benannter Schatten | 

Um ein vollständiges Thema zu erstellen, wählen Sie die `ShadowTopicPrefix` für den Schattentyp aus, auf den Sie verweisen möchten, ersetzen Sie `thingName` und gegebenenfalls `shadowName` durch die entsprechenden Werte und fügen Sie diese dann an den Themen-Stub an, wie in den folgenden Abschnitten dargestellt.

Nachstehend finden Sie die MQTT-Themen, die für die Interaktion mit Schatten verwendet wurden.

**Topics**
+ [/get](#get-pub-sub-topic)
+ [/get/accepted](#get-accepted-pub-sub-topic)
+ [/update/rejected](#get-rejected-pub-sub-topic)
+ [/update](#update-pub-sub-topic)
+ [/update/delta](#update-delta-pub-sub-topic)
+ [/update/accepted](#update-accepted-pub-sub-topic)
+ [/update/documents](#update-documents-pub-sub-topic)
+ [/update/rejected](#update-rejected-pub-sub-topic)
+ [/delete](#delete-pub-sub-topic)
+ [/delete/accepted](#delete-accepted-pub-sub-topic)
+ [/delete/rejected](#delete-rejected-pub-sub-topic)

## /get
<a name="get-pub-sub-topic"></a>

Veröffentlichen Sie eine leere Nachricht in diesem Thema, um den Geräteschatten abzurufen:

```
ShadowTopicPrefix/get
```

AWS IoT antwortet mit einer Veröffentlichung auf entweder [/get/accepted](#get-accepted-pub-sub-topic) oder[/update/rejected](#get-rejected-pub-sub-topic).

### Beispielrichtline
<a name="get-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/get"
            ]
        }
    ]
}
```

## /get/accepted
<a name="get-accepted-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Antwort-Shadow-Dokument zu diesem Thema, wenn der Shadow des Geräts zurückgegeben wird:

```
ShadowTopicPrefix/get/accepted
```

Weitere Informationen finden Sie unter [Antwortstatusdokumente](device-shadow-document.md#device-shadow-example-response-json).

### Beispielrichtline
<a name="get-accepted-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/get/accepted"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/get/accepted"
            ]
        }
    ]
}
```

## /update/rejected
<a name="get-rejected-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Fehlerantwortdokument zu diesem Thema, wenn es den Schatten des Geräts nicht zurückgeben kann:

```
ShadowTopicPrefix/get/rejected
```

Weitere Informationen finden Sie unter [Fehlerantwortdokument](device-shadow-document.md#device-shadow-example-error-json).

### Beispielrichtline
<a name="get-rejected-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/get/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Receive"
      ],
      "Resource": [
        "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/get/rejected"
      ]
    }
  ]
}
```

## /update
<a name="update-pub-sub-topic"></a>

Veröffentlichen Sie in diesem Thema ein Anfragestatusdokument, um den Geräteschatten zu aktualisieren:

```
ShadowTopicPrefix/update
```

Der Nachrichtentext enthält ein [partielles Anfragestatusdokument](device-shadow-document.md#device-shadow-example-request-json).

Ein Client, der versucht, den Status eines Geräts zu aktualisieren, sendet ein JSON-Anfragestatusdokument mit einer `desired`-Eigenschaft wie der folgenden:

```
{
  "state": {
    "desired": {
      "color": "red",
      "power": "on"
    }
  }
}
```

Ein Gerät, das seinen Schatten aktualisiert, würde ein JSON-Anfragestatusdokument mit der `reported`-Eigenschaft senden, z. B.:

```
{
  "state": {
    "reported": {
      "color": "red",
      "power": "on"
    }
  }
}
```

AWS IoT antwortet, indem es entweder [/update/accepted](#update-accepted-pub-sub-topic) oder veröffentlicht[/update/rejected](#update-rejected-pub-sub-topic).

### Beispielrichtline
<a name="update-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/update"
            ]
        }
    ]
}
```

## /update/delta
<a name="update-delta-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Antwortstatusdokument zu diesem Thema, wenn es eine Änderung für den Shadow des Geräts akzeptiert, und das Antwortstatusdokument verschiedene Werte für `desired` und gibt `reported` an:

```
ShadowTopicPrefix/update/delta
```

Der Nachrichtenpuffer enthält eine [Antwortstatusdokument „/delta“](device-shadow-document.md#device-shadow-example-response-json-delta).

### Nachrichtentextdetails
<a name="update-delta-rules"></a>
+ Eine in `update/delta` veröffentlichte Nachricht umfasst nur die gewünschten Attribute, die sich zwischen dem Abschnitt `desired` (Soll) und dem Abschnitt `reported` (gemeldet) Abschnitt unterscheiden. Sie enthält alle diese Attribute, unabhängig davon, ob diese in der Nachricht zur aktuellen Aktualisierung enthalten waren oder bereits in AWS IoT gespeichert wurden. Attribute, die sich nicht zwischen dem Abschnitt `desired` (Soll) und dem Abschnitt `reported` (gemeldet) Abschnitt unterscheiden, sind nicht enthalten.
+ Wenn sich ein Attribut im Abschnitt `reported` (gemeldet) befindet, jedoch kein Pendant im Abschnitt `desired` (Soll), dann ist es nicht enthalten.
+ Ist ein Attribut im Abschnitt `desired` (Soll) vorhanden, besitzt jedoch kein Pendant im Abschnitt `reported` (gemeldet), dann ist es enthalten.
+ Wenn ein Attribut aus dem Abschnitt `reported` (gemeldet) gelöscht wurde, aber sich nach wie vor im Abschnitt `desired` (Soll) befindet, dann ist es enthalten.

### Beispielrichtline
<a name="update-delta-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/update/delta"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/update/delta"
            ]
        }
    ]
}
```

## /update/accepted
<a name="update-accepted-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Antwortstatusdokument zu diesem Thema, wenn eine Änderung für den Shadow des Geräts akzeptiert wird:

```
ShadowTopicPrefix/update/accepted
```

Der Nachrichtenpuffer enthält eine [Antwortstatusdokument „/accepted“](device-shadow-document.md#device-shadow-example-response-json-accepted).

### Beispielrichtline
<a name="update-accepted-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/update/accepted"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/update/accepted"
            ]
        }
    ]
}
```

## /update/documents
<a name="update-documents-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Statusdokument zu diesem Thema, wenn eine Aktualisierung des Shadows erfolgreich durchgeführt wurde:

```
ShadowTopicPrefix/update/documents
```

Der Nachrichtentext enthält eine [/Dokumente, Antwortstatusdokument](device-shadow-document.md#device-shadow-example-response-json-documents).

### Beispielrichtline
<a name="update-documents-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/update/documents"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/update/documents"
            ]
        }
    ]
}
```

## /update/rejected
<a name="update-rejected-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Fehlerantwortdokument zu diesem Thema, wenn eine Änderung für den Shadow des Geräts abgelehnt wird:

```
ShadowTopicPrefix/update/rejected
```

Der Nachrichtentext enthält eine [Fehlerantwortdokument](device-shadow-document.md#device-shadow-example-error-json).

### Beispielrichtline
<a name="update-rejected-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/update/rejected"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/update/rejected"
            ]
        }
    ]
}
```

## /delete
<a name="delete-pub-sub-topic"></a>

Um einen Geräteschatten zu löschen, veröffentlichen Sie im Löschthema eine leere Nachricht.

```
ShadowTopicPrefix/delete
```

Der Inhalt der Nachricht wird ignoriert.

Beachten Sie, dass durch das Löschen eines Shadows seine Versionsnummer nicht auf 0 zurückgesetzt wird.

AWS IoT antwortet, indem es entweder [/delete/accepted](#delete-accepted-pub-sub-topic) oder [/delete/rejected](#delete-rejected-pub-sub-topic) veröffentlicht.

### Beispielrichtline
<a name="delete-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/delete"
            ]
        }
    ]
}
```

## /delete/accepted
<a name="delete-accepted-pub-sub-topic"></a>

AWS IoT veröffentlicht eine Nachricht zu diesem Thema, wenn der Schatten eines Geräts gelöscht wird:

```
ShadowTopicPrefix/delete/accepted
```

### Beispielrichtline
<a name="delete-accepted-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/delete/accepted"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/delete/accepted"
            ]
        }
    ]
}
```

## /delete/rejected
<a name="delete-rejected-pub-sub-topic"></a>

AWS IoT veröffentlicht ein Dokument mit einer Fehlermeldung zu diesem Thema, wenn der Schatten des Geräts nicht gelöscht werden kann:

```
ShadowTopicPrefix/delete/rejected
```

Der Nachrichtentext enthält eine [Fehlerantwortdokument](device-shadow-document.md#device-shadow-example-error-json).

### Beispielrichtline
<a name="delete-rejected-policy"></a>

Im Folgenden finden Sie ein Beispiel für die erforderliche Richtlinie:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/thingName/shadow/delete/rejected"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thingName/shadow/delete/rejected"
            ]
        }
    ]
}
```