

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.

# Erstellen und Verwalten von Befehlen
<a name="iot-remote-command-create-manage"></a>

Verwenden Sie AWS IoT Device Management Befehle, um wiederverwendbare Fernaktionen zu konfigurieren oder sofortige Anweisungen an Geräte zu senden. Erstellen und verwalten Sie Befehle von der AWS IoT Konsole aus oder verwenden Sie die AWS CLI.

**Topics**
+ [Erstellen Sie eine Befehlsressource](#iot-remote-command-create)
+ [Ruft Informationen zu einem Befehl ab](#iot-remote-command-get)
+ [Listen Sie Befehle in Ihrem auf AWS-Konto](#iot-remote-command-list)
+ [Aktualisieren Sie eine Befehlsressource](#iot-remote-command-update)
+ [Eine Befehlsressource verwerfen oder wiederherstellen](#iot-remote-command-deprecatecmd)
+ [Löschen Sie eine Befehlsressource](#iot-remote-command-delete)

## Erstellen Sie eine Befehlsressource
<a name="iot-remote-command-create"></a>

Geben Sie beim Erstellen eines Befehls die folgenden Informationen an:
+ 

**Allgemeine Informationen**  
Geben Sie eine eindeutige Befehls-ID an, um den Befehl zu identifizieren, wenn er auf Zielgeräten ausgeführt wird. Geben Sie optional einen Anzeigenamen, eine Beschreibung und Tags für die Verwaltung an.
+ **Nutzlast**

  Geben Sie für statische Befehle eine Payload an, die Geräteaktionen definiert. Geben Sie den Payload-Formattyp für eine korrekte Geräteinterpretation an.

  Dynamische Befehle finden Sie im Payload-Vorlagenattribut.
+ **Payload-Vorlage**

  Stellen Sie für dynamische Befehle ein PayloadTemplate mit Platzhaltern und Parametern bereit. Geben Sie optional Bedingungen an`defaultValue`. AWS IoT Device Management Befehle ersetzen Platzhalter zur Laufzeit. Fehlende Parameter verwenden ihren defaultValue. Alle Werte müssen definierte Bedingungen erfüllen.

  Die folgenden Platzhaltertypen, bei denen Groß- und Kleinschreibung beachtet wird, werden unterstützt:
  + `${aws:iot:commandexecution::parameter:parameter1}`— Ein Platzhalter für den Wert eines Parameters mit dem Namen. `parameter1`
  + `${aws:iot:commandexecution::executionTimeoutSec}`— Ein Platzhalter für den zur Laufzeit bereitgestellten Timeout-Parameter für die Befehlsausführung.

### Themen zu Payload und Befehlen
<a name="iot-commands-payload-mqtt"></a>

Vorbehaltene Befehle Themen verwenden ein Format, das auf dem Payload-Formattyp basiert.
+ Verwenden Sie für `application/json` `application/cbor` unsere Inhaltstypen dieses Anforderungsthema:

  ```
  $aws/commands/<devices>/<DeviceID>/executions/+/request/<PayloadFormat>
  ```
+ Verwenden Sie für andere Inhaltstypen oder ein nicht spezifiziertes Format dieses Anforderungsthema. Das Payload-Format erscheint im MQTT-Nachrichtenkopf.

  ```
  $aws/commands/<devices>/<DeviceID>/executions/+/request
  ```

Das Antwortthema „Befehle“ verwendet `json` unser `cbor` Format unabhängig vom Payload-Typ. *<PayloadFormat>*muss sein `json` oder`cbor`:

```
$aws/commands/<devices>/<DeviceID>/executions/<ExecutionId>/response/<PayloadFormat>
```

### Erstellen Sie eine Befehlsressource (Konsole)
<a name="iot-remote-command-create-console"></a>

In den folgenden Abschnitten werden Überlegungen zum Payload-Format und die Befehlserstellung über die Konsole beschrieben.

**Topics**
+ [Format der statischen Befehls-Payload](#iot-commands-payload-format)
+ [Payload-Format für dynamische Befehle](#iot-commands-dynamic-payload-format)
+ [Wie erstelle ich einen Befehl (Konsole)](#iot-commands-console-how)

#### Format der statischen Befehls-Payload
<a name="iot-commands-payload-format"></a>

Die Payload unterstützt jedes Format bis zu 32 KB. Geben Sie den Payload-Formattyp für eine sichere und korrekte Geräteinterpretation an.

Geben Sie den Payload-Formattyp mithilfe des `type/subtype` Formats an (z. B. `application/json` oder`application/cbor`). Standard: `application/octet-stream`. Informationen zu den unterstützten Formaten finden Sie unter [Allgemeine MIME-Typen](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types).

#### Payload-Format für dynamische Befehle
<a name="iot-commands-dynamic-payload-format"></a>

Das PayloadTemplate muss ein gültiges JSON-Format mit mindestens einem Platzhalter (bis zu 32 KB) sein.

Für `AwsJsonSubstitution` Präprozessoren sendet AWS IoT Device Management Commands Benachrichtigungen im JSON- oder CBOR-Format, basierend auf der Präprozessorkonfiguration.

#### Wie erstelle ich einen Befehl (Konsole)
<a name="iot-commands-console-how"></a>

Um einen Befehl von der Konsole aus zu erstellen, gehen Sie zu [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) und gehen Sie wie folgt vor:

1. Wählen Sie **Befehl erstellen**.

1. Geben Sie eine eindeutige Befehls-ID an.

1. (Optional) Geben Sie den Anzeigenamen, die Beschreibung und die Tags an.

1. Laden Sie die Payload-Datei mit den Geräteaktionen hoch. Geben Sie den Payload-Formattyp für eine korrekte Geräteinterpretation an.

1. (Optional) Bei JSON-Payload-Vorlagen mit Platzhaltern werden die Parameter zur Bearbeitung vorab in die Inline-Tabelle eingetragen.

1. (Optional) Konfigurieren Sie den Parameterwerttyp (erforderlich), den Standardwert und die Bedingungen.

1. Wählen Sie den **Befehl Create**.

### Erstellen Sie eine Befehlsressource (CLI)
<a name="iot-remote-command-create-cli"></a>

Verwenden Sie den [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html)API- oder [https://docs.aws.amazon.com/cli/latest/reference/iot/create-command.html](https://docs.aws.amazon.com/cli/latest/reference/iot/create-command.html)CLI-Befehl, um einen Befehl zu erstellen.

**Topics**
+ [Payload des Befehls](#iot-commands-payload)
+ [Beispiel einer IAM-Richtlinie](#iot-remote-command-create-iam)
+ [Beispiel für die Erstellung eines statischen Befehls](#iot-remote-command-create-example)
+ [Beispiel für die dynamische Befehlserstellung](#iot-remote-dynamic-command-create-example)

#### Payload des Befehls
<a name="iot-commands-payload"></a>

Stellen Sie eine statische Payload- oder Payload-Vorlage bereit. Statische Payloads sind Base64-codiert. Bei Payload-Vorlagen wird die endgültige Payload zur Laufzeit mithilfe von Parameterwerten generiert. Geräte verarbeiten die Payload und führen bestimmte Aktionen aus. Geben Sie den Payload-Inhaltstyp für den korrekten Geräteempfang an.

**Anmerkung**  
Payloads können nach der Befehlserstellung nicht geändert werden. Erstellen Sie einen neuen Befehl, um die Payload zu ändern.

#### Beispiel einer IAM-Richtlinie
<a name="iot-remote-command-create-iam"></a>

Bevor Sie diesen API-Vorgang verwenden, stellen Sie sicher, dass Ihre IAM-Richtlinie Sie autorisiert, diese Aktion auf dem Gerät auszuführen. Das folgende Beispiel zeigt eine IAM-Richtlinie, die dem Benutzer die Erlaubnis erteilt, die Aktion auszuführen. `CreateCommand`

Ersetzen Sie in diesem Beispiel:
+ `region`mit Ihrem AWS-Region, wie `us-east-1` zum Beispiel.
+ `account-id`mit deiner AWS-Konto Nummer, wie`123456789012`.
+ `command-id`mit einer eindeutigen Kennung für Ihre AWS IoT Befehls-ID, z. `LockDoor` B. Wenn Sie mehr als einen Befehl senden möchten, können Sie diese Befehle in der IAM-Richtlinie im Abschnitt *Ressource* angeben.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Action": "iot:CreateCommand",
        "Effect": "Allow",
        "Resource": "arn:aws:iot:us-east-1:123456789012:command/command-id"
    }
}
```

#### Beispiel für die Erstellung eines statischen Befehls
<a name="iot-remote-command-create-example"></a>

Das folgende Beispiel zeigt, wie Sie einen statischen Befehl erstellen können. Ersetzen Sie je nach Anwendung:
+ *`<command-id>`*mit einer eindeutigen Kennung für den Befehl. Um beispielsweise die Tür Ihres Hauses zu verriegeln, können Sie Folgendes angeben*`LockDoor`*. Wir empfehlen die Verwendung von UUID. Sie können auch alphanumerische Zeichen, „-“ und „\$1“ verwenden.
+ (Optional) *`<display-name>`* und. *`<description>`* Dabei handelt es sich um optionale Felder, die Sie verwenden können, um einen benutzerfreundlichen Namen und eine aussagekräftige Beschreibung für den Befehl anzugeben, z. B. *`Lock the doors of my home`*
+ `namespace`, mit denen Sie den Namespace des Befehls angeben können. Das muss es sein. `AWS-IoT` Informationen zur Verwendung dieser Funktion finden Sie AWS IoT FleetWise unter [Fernbefehle](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/remote-commands.html)
+ `payload`enthält Informationen über die Payload, die Sie bei der Ausführung des Befehls verwenden möchten, und deren Inhaltstyp.

```
aws iot create-command \ 
    --command-id <command-id> \
    --display-name <display-name> \
    --description <description> \ 
    --namespace AWS-IoT \ 
    --payload '{"content":"eyAibWVzc2FnZSI6ICJIZWxsbyBJb1QiIH0=","contentType":"application/json"}'
```

Die Ausführung dieses Befehls generiert eine Antwort, die die ID und den ARN (Amazon-Ressourcenname) des Befehls enthält. Wenn Sie den `LockDoor` Befehl beispielsweise bei der Erstellung angegeben haben, zeigt das Folgende ein Beispiel für die Ausgabe der Ausführung des Befehls.

```
{
    "commandId": "LockDoor",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/LockDoor"
}
```

#### Beispiel für die dynamische Befehlserstellung
<a name="iot-remote-dynamic-command-create-example"></a>

Das folgende Beispiel zeigt, wie Sie einen dynamischen Befehl erstellen können. Ersetzen Sie je nach Anwendung:
+ *`<command-id>`*mit einer eindeutigen Kennung für den Befehl. Um beispielsweise den Energiestatus der Leuchte festzulegen, können Sie Folgendes *`Light_Power_Status`* angeben: Wir empfehlen die Verwendung von UUID. Sie können auch alphanumerische Zeichen, „-“ und „\$1“ verwenden.
+ (Optional) *`<display-name>`* und. *`<description>`* Dabei handelt es sich um optionale Felder, die Sie verwenden können, um einen benutzerfreundlichen Namen und eine aussagekräftige Beschreibung für den Befehl anzugeben, z. B. *`Turn a light ON or OFF`*
+ `namespace`, mit denen Sie den Namespace des Befehls angeben können. Das muss es sein. `AWS-IoT` Informationen zur Verwendung dieser Funktion finden Sie AWS IoT FleetWise unter [Fernbefehle](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/remote-commands.html)
+ `payloadTemplate`enthält die JSON-formatierte Playoad-Vorlage mit Platzhaltern.
+ `preprocessor`enthält die Konfiguration für den Präprozessor, die bestimmt, wie das PayloadTemplate verarbeitet werden muss.
+ `mandatoryParameter`enthält die Parameter, die den Platzhaltern im PayloadTemplate entsprechen, deren Typ, Standardwerte und Bedingungen.

```
aws iot create-command \
    --command-id Light_Power_Status \
    --description "Turn a light ON or OFF" \
    --namespace AWS-IoT \
    --payload-template '{"powerStatus":"${aws:iot:commandexecution::parameter:powerStatus}"}' \
    --preprocessor awsJsonSubstitution={outputFormat=JSON} \
    --mandatory-parameters "name=powerStatus, defaultValue={S=OFF}, valueConditions=[{comparisonOperator=IN_SET, operand={strings=['ON','OFF']}}]"
```

Die Ausführung dieses Befehls generiert eine Antwort, die die ID und den ARN (Amazon-Ressourcenname) des Befehls enthält. Wenn Sie den `Light_Power_Status` Befehl beispielsweise bei der Erstellung angegeben haben, zeigt das Folgende ein Beispiel für die Ausgabe der Ausführung des Befehls.

```
{
    "commandId": "Light_Power_Status",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/Light_Power_Status"
}
```

## Ruft Informationen zu einem Befehl ab
<a name="iot-remote-command-get"></a>

Nachdem Sie einen Befehl erstellt haben, können Sie Informationen dazu von der AWS IoT Konsole abrufen und den verwenden AWS CLI. Sie können die folgenden Informationen abrufen.
+ Die Befehls-ID, der Amazon-Ressourcenname (ARN), ein beliebiger Anzeigename und eine Beschreibung, die Sie für den Befehl angegeben haben.
+ Der Befehlsstatus, der angibt, ob ein Befehl für die Ausführung auf dem Zielgerät verfügbar ist oder ob er veraltet oder gelöscht ist.
+ Die Payload oder PayloadTemplate, die Sie bereitgestellt haben.
+ Der Präprozessor, den Sie bereitgestellt haben.
+ Die von Ihnen angegebenen obligatorischen Parameter.
+ Die Uhrzeit, zu der der Befehl erstellt und zuletzt aktualisiert wurde.

### Rufen Sie eine Befehlsressource (Konsole) ab
<a name="iot-remote-command-get-console"></a>

Um einen Befehl von der Konsole abzurufen, gehen Sie zum [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) der AWS IoT Konsole und wählen Sie dann den Befehl aus, den Sie erstellt haben, um dessen Details anzuzeigen.

Zusätzlich zu den Befehlsdetails können Sie den Befehlsverlauf einsehen, der Informationen über die Ausführung des Befehls auf dem Zielgerät enthält. Nachdem Sie diesen Befehl auf dem Gerät ausgeführt haben, finden Sie auf dieser Registerkarte Informationen zu den Ausführungen.

### Rufen Sie eine Befehlsressource (CLI) ab
<a name="iot-remote-command-get-cli"></a>

Verwenden Sie den API-Vorgang der [https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html)HTTP-Steuerungsebene oder den [https://docs.aws.amazon.com/cli/latest/reference/get-command.html](https://docs.aws.amazon.com/cli/latest/reference/get-command.html) AWS CLI Befehl, um Informationen über eine Befehlsressource abzurufen. Sie müssen den Befehl bereits mit der `CreateCommand` API-Anfrage oder der `create-command` CLI erstellt haben.

#### Beispiel einer IAM-Richtlinie
<a name="iot-remote-command-get-iam"></a>

Bevor Sie diesen API-Vorgang verwenden, stellen Sie sicher, dass Ihre IAM-Richtlinie Sie autorisiert, diese Aktion auf dem Gerät auszuführen. Das folgende Beispiel zeigt eine IAM-Richtlinie, die dem Benutzer die Erlaubnis erteilt, die Aktion auszuführen. `GetCommand`

Ersetzen Sie in diesem Beispiel:
+ `region`mit Ihrem AWS-Region, wie `us-east-1` zum Beispiel.
+ `account-id`mit deiner AWS-Konto Nummer, wie`123456789023`.
+ `command-id`mit Ihrer AWS IoT eindeutigen Befehlskennung, z. B. `LockDoor` oder`Light_Power_Status`. Wenn Sie mehr als einen Befehl abrufen möchten, können Sie diese Befehle in der IAM-Richtlinie im Abschnitt „*Ressourcen*“ angeben.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Action": "iot:GetCommand",
        "Effect": "Allow",
        "Resource": "arn:aws:iot:us-east-1:123456789012:command/command-id"
    }
}
```

#### Beispiel für einen Befehl abrufen ()AWS CLI
<a name="iot-remote-command-get-example"></a>

Das folgende Beispiel zeigt Ihnen, wie Sie Informationen zu einem Befehl mit dem abrufen können `get-command` AWS CLI. Ersetzen Sie je nach Anwendung *`<command-id>`* durch den Bezeichner für den Befehl, für den Sie Informationen abrufen möchten. Sie können diese Informationen der Antwort der `create-command` CLI entnehmen.

```
aws iot get-command --command-id <command-id>
```

Wenn Sie diesen Befehl ausführen, wird eine Antwort generiert, die Informationen über den Befehl, die Nutzlast und den Zeitpunkt der Erstellung und letzten Aktualisierung enthält. Es enthält auch Informationen, die angeben, ob ein Befehl veraltet ist oder gelöscht wird.

Der folgende Code zeigt beispielsweise eine Beispielantwort. 

```
{
    "commandId": "LockDoor",
    "commandArn": "arn:aws:iot:<region>:<account>:command/LockDoor",
    "namespace": "AWS-IoT",
    "payload":{
        "content": "eyAibWVzc2FnZSI6ICJIZWxsbyBJb1QiIH0=",
        "contentType": "application/json"
    },
    "createdAt": "2024-03-23T00:50:10.095000-07:00",
    "lastUpdatedAt": "2024-03-23T00:50:10.095000-07:00",
    "deprecated": false,
    "pendingDeletion": false
}
```

## Listen Sie Befehle in Ihrem auf AWS-Konto
<a name="iot-remote-command-list"></a>

Nachdem Sie Befehle erstellt haben, können Sie sich die Befehle ansehen, die Sie in Ihrem Konto erstellt haben. In der Liste finden Sie Informationen zu:
+ Die Befehls-ID und alle Anzeigenamen, die Sie für die Befehle angegeben haben.
+ Der Amazon-Ressourcenname (ARN) der Befehle.
+ Der Befehlsstatus, der angibt, ob die Befehle für die Ausführung auf dem Zielgerät verfügbar sind oder ob sie veraltet sind.
**Anmerkung**  
In der Liste wird nicht angezeigt, welche aus Ihrem Konto gelöscht werden. Wenn die Befehle noch nicht gelöscht werden müssen, können Sie die Details zu diesen Befehlen immer noch anhand ihrer Befehls-ID anzeigen.
+ Der Zeitpunkt, zu dem die Befehle erstellt und zuletzt aktualisiert wurden.

### Befehle in Ihrem Konto (Konsole) auflisten
<a name="iot-remote-command-list-console"></a>

In der AWS IoT Konsole finden Sie die Liste der Befehle, die Sie erstellt haben, und deren Details, indem Sie zum [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) gehen.

### Befehle in Ihrem Konto auflisten (CLI)
<a name="iot-remote-command-list-cli"></a>

Verwenden Sie den [https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html)API-Vorgang oder die [https://docs.aws.amazon.com/cli/latest/reference/iot/list-commands.html](https://docs.aws.amazon.com/cli/latest/reference/iot/list-commands.html)CLI, um die von Ihnen erstellten Befehle aufzulisten.

#### Beispiel einer IAM-Richtlinie
<a name="iot-remote-command-list-iam"></a>

Bevor Sie diesen API-Vorgang verwenden, stellen Sie sicher, dass Ihre IAM-Richtlinie Sie autorisiert, diese Aktion auf dem Gerät auszuführen. Das folgende Beispiel zeigt eine IAM-Richtlinie, die dem Benutzer die Erlaubnis erteilt, die Aktion auszuführen. `ListCommands`

Ersetzen Sie in diesem Beispiel:
+ `region`mit Ihrem AWS-Region, wie `us-east-1` zum Beispiel.
+ `account-id`mit deiner AWS-Konto Nummer, wie`123456789012`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Action": "iot:ListCommands",
        "Effect": "Allow",
        "Resource": "arn:aws:iot:us-east-1:123456789012:command/*"
    }
}
```

#### Führen Sie Befehle in Ihrem Kontobeispiel auf
<a name="iot-remote-command-list-example"></a>

Der folgende Befehl zeigt, wie Sie Befehle in Ihrem Konto auflisten.

```
aws iot list-commands --namespace "AWS-IoT"
```

Wenn Sie diesen Befehl ausführen, wird eine Antwort generiert, die eine Liste von Befehlen enthält, die Sie erstellt haben, sowie den Zeitpunkt, zu dem die Befehle erstellt wurden und wann sie zuletzt aktualisiert wurden. Er stellt auch Informationen zum Befehlsstatus bereit, die angeben, ob ein Befehl veraltet ist oder auf dem Zielgerät ausgeführt werden kann. Weitere Informationen zu den verschiedenen Status und den Gründen für den Status finden Sie unter. [Status der Befehlsausführung](iot-remote-command-concepts.md#iot-command-execution-status)

## Aktualisieren Sie eine Befehlsressource
<a name="iot-remote-command-update"></a>

Nachdem Sie einen Befehl erstellt haben, können Sie den Anzeigenamen und die Beschreibung des Befehls aktualisieren.

**Anmerkung**  
Die Payload für den Befehl kann nicht aktualisiert werden. Um diese Informationen zu aktualisieren oder eine geänderte Payload zu verwenden, müssen Sie einen neuen Befehl erstellen.

### Aktualisieren Sie eine Befehlsressource (Konsole)
<a name="iot-remote-command-update-console"></a>

Um einen Befehl von der Konsole aus zu aktualisieren, rufen Sie den [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) der AWS IoT Konsole auf und führen Sie die folgenden Schritte aus.

1. Um eine vorhandene Befehlsressource zu aktualisieren, wählen Sie den Befehl aus, den Sie aktualisieren möchten, und klicken Sie dann unter **Aktionen** auf **Bearbeiten**.

1. Geben Sie den Anzeigenamen und die Beschreibung an, die Sie verwenden möchten, sowie alle Name-Wert-Paare als Tags für Ihren Befehl.

1. Wählen Sie **Bearbeiten**, um den Befehl mit den neuen Einstellungen zu speichern.

### Aktualisieren Sie eine Befehlsressource (CLI)
<a name="iot-remote-command-update-cli"></a>

Verwenden Sie den API-Vorgang der [https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html)Steuerungsebene oder die [https://docs.aws.amazon.com/cli/latest/reference/iot/update-command.html](https://docs.aws.amazon.com/cli/latest/reference/iot/update-command.html) AWS CLI , um eine Befehlsressource zu aktualisieren. Mit dieser API können Sie:
+ Bearbeiten Sie den Anzeigenamen und die Beschreibung eines von Ihnen erstellten Befehls.
+ Verwerfen Sie eine Befehlsressource oder stellen Sie einen Befehl wieder her, der bereits als veraltet gilt.

#### Beispiel einer IAM-Richtlinie
<a name="iot-remote-command-update-iam"></a>

Bevor Sie diesen API-Vorgang verwenden, stellen Sie sicher, dass Ihre IAM-Richtlinie Sie autorisiert, diese Aktion auf dem Gerät auszuführen. Das folgende Beispiel zeigt eine IAM-Richtlinie, die dem Benutzer die Erlaubnis erteilt, die Aktion auszuführen. `UpdateCommand`

Ersetzen Sie in diesem Beispiel:
+ `region`mit Ihrem AWS-Region, wie `us-east-1` zum Beispiel.
+ `account-id`mit deiner AWS-Konto Nummer, wie`123456789012`.
+ `command-id`mit Ihrer AWS IoT eindeutigen Befehlskennung, z. `LockDoor` B. Wenn Sie mehr als einen Befehl abrufen möchten, können Sie diese Befehle in der IAM-Richtlinie im Abschnitt „*Ressourcen*“ angeben.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Action": "iot:UpdateCommand",
        "Effect": "Allow",
        "Resource": "arn:aws:iot:us-east-1:123456789012:command/command-id"
    }
}
```

#### Informationen zu einem Befehl aktualisieren — Beispiele ()AWS CLI
<a name="iot-remote-command-update-example"></a>

Das folgende Beispiel zeigt Ihnen, wie Sie Informationen zu einem Befehl mithilfe des `update-command` AWS CLI Befehls aktualisieren. Hinweise dazu, wie Sie diese API verwenden können, um eine Befehlsressource als veraltet zu kennzeichnen oder wiederherzustellen, finden Sie unter. [Aktualisieren Sie eine Befehlsressource (CLI)](iot-remote-command-deprecate.md#iot-remote-command-deprecate-cli)

Das Beispiel zeigt, wie Sie den Anzeigenamen und die Beschreibung eines Befehls aktualisieren können. Je nach Anwendung *`<command-id>`* ersetzen Sie ihn durch den Bezeichner für den Befehl, für den Sie Informationen abrufen möchten.

```
aws iot update-command \ 
    --command-id <command-id>    
    --displayname <display-name> \
    --description <description>
```

Wenn Sie diesen Befehl ausführen, wird eine Antwort generiert, die die aktualisierten Informationen über den Befehl und den Zeitpunkt der letzten Aktualisierung enthält. Der folgende Code zeigt eine Beispielanforderung und -antwort für die Aktualisierung des Anzeigenamens und der Beschreibung eines Befehls, der die Klimaanlage ausschaltet.

```
aws iot update-command \ 
    --command-id <LockDoor> \ 
    --displayname <Secondary lock door> \
    --description <Locks doors to my home>
```

Die Ausführung dieses Befehls generiert die folgende Antwort.

```
{
    "commandId": "LockDoor",
    "commandArn": "arn:aws:iot:us-east-1:123456789012:command/LockDoor",
    "displayName": "Secondary lock door",
    "description": "Locks doors to my home",
    "lastUpdatedAt": "2024-05-09T23:15:53.899000-07:00"
}
```

## Eine Befehlsressource verwerfen oder wiederherstellen
<a name="iot-remote-command-deprecatecmd"></a>

Wenn Sie einen Befehl erstellt haben und ihn nicht mehr weiter verwenden möchten, können Sie ihn als veraltet markieren. Wenn Sie einen Befehl als veraltet markieren, werden alle ausstehenden Befehlsausführungen auf dem Zielgerät weiterlaufen, bis sie den Terminalstatus erreichen. Wenn ein Befehl als veraltet gilt und Sie ihn beispielsweise zum Senden einer neuen Befehlsausführung an das Zielgerät verwenden möchten, müssen Sie ihn wiederherstellen.

**Anmerkung**  
Sie können einen veralteten Befehl nicht bearbeiten oder neue Ausführungen für ihn ausführen. *Um neue Befehle auf dem Gerät auszuführen, müssen Sie es wiederherstellen, sodass der Befehlsstatus auf Verfügbar geändert wird.*

 Weitere Informationen zum Verwerfen und Wiederherstellen eines Befehls sowie zu diesbezüglichen Überlegungen finden Sie unter. [Kennzeichnen einer Befehlsressource als veraltet](iot-remote-command-deprecate.md)

## Löschen Sie eine Befehlsressource
<a name="iot-remote-command-delete"></a>

Wenn Sie einen Befehl nicht mehr verwenden möchten, können Sie ihn dauerhaft aus Ihrem Konto entfernen. Wenn die Löschaktion erfolgreich ist:
+ Wenn der Befehl für eine Dauer, die länger als das maximale Timeout von 12 Stunden ist, als veraltet gilt, wird der Befehl sofort gelöscht.
+ Wenn der Befehl nicht veraltet ist oder für eine Dauer, die kürzer als das maximale Timeout ist, als veraltet gilt, befindet sich der Befehl in einem Status. `pending deletion` Er wird nach Ablauf des maximalen Timeouts von 12 Stunden automatisch aus Ihrem Konto entfernt.

**Anmerkung**  
Der Befehl kann gelöscht werden, auch wenn noch ausstehende Befehlsausführungen vorliegen. Der Befehl befindet sich im Status Ausstehende Löschung und wird automatisch aus Ihrem Konto entfernt.

### Löschen Sie eine Befehlsressource (Konsole)
<a name="iot-remote-command-delete-console"></a>

Um einen Befehl von der Konsole zu löschen, rufen Sie den [Command Hub](https://console.aws.amazon.com/iot/home#/commandHub) der AWS IoT Konsole auf und führen Sie die folgenden Schritte aus.

1. Wählen Sie den Befehl aus, den Sie löschen möchten, und wählen Sie dann unter **Aktionen** die Option **Löschen** aus.

1. Bestätigen Sie, dass Sie den Befehl löschen möchten, und wählen Sie dann **Löschen** aus.

Der Befehl wird zum Löschen markiert und nach 12 Stunden dauerhaft aus Ihrem Konto entfernt.

### Löschen Sie eine Befehlsressource (CLI)
<a name="iot-remote-command-delete-cli"></a>

Verwenden Sie den API-Vorgang der `DeleteCommand` HTTP-Steuerungsebene oder den `delete-command` AWS CLI Befehl, um eine Befehlsressource zu löschen. Wenn die Löschaktion erfolgreich ist, wird `statusCode` der HTTP-Wert 204 oder 202 angezeigt, und der Befehl wird nach Ablauf der maximalen Timeoutdauer von 12 Stunden automatisch aus Ihrem Konto gelöscht. Im Fall des Status 204 bedeutet dies, dass der Befehl gelöscht wurde.

#### Beispiel einer IAM-Richtlinie
<a name="iot-remote-command-delete-iam"></a>

Bevor Sie diesen API-Vorgang verwenden, stellen Sie sicher, dass Ihre IAM-Richtlinie Sie autorisiert, diese Aktion auf dem Gerät auszuführen. Das folgende Beispiel zeigt eine IAM-Richtlinie, die dem Benutzer die Erlaubnis erteilt, die Aktion auszuführen. `DeleteCommand`

Ersetzen Sie in diesem Beispiel:
+ `region`mit Ihrem AWS-Region, wie `us-east-1` zum Beispiel.
+ `account-id`mit deiner AWS-Konto Nummer, wie`123456789012`.
+ `command-id`mit Ihrer AWS IoT eindeutigen Befehlskennung, z. `LockDoor` B. Wenn Sie mehr als einen Befehl abrufen möchten, können Sie diese Befehle in der IAM-Richtlinie im Abschnitt „*Ressourcen*“ angeben.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Action": "iot:DeleteCommand",
        "Effect": "Allow",
        "Resource": "arn:aws:iot:us-east-1:123456789012:command/command-id"
    }
}
```

#### Beispiel für einen Befehl löschen ()AWS CLI
<a name="iot-remote-command-delete-example"></a>

Die folgenden Beispiele zeigen Ihnen, wie Sie einen Befehl mithilfe des `delete-command` AWS CLI Befehls löschen. Je nach Anwendung *`<command-id>`* ersetzen Sie ihn durch den Bezeichner für den Befehl, den Sie löschen möchten.

```
aws iot delete-command --command-id <command-id>
```

Wenn die API-Anfrage erfolgreich ist, generiert der Befehl den Statuscode 202 oder 204. Sie können die `GetCommand` API verwenden, um zu überprüfen, ob der Befehl in Ihrem Konto nicht mehr vorhanden ist.