Kennzeichnen einer Befehlsressource als veraltet - AWS IoT Core

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.

Kennzeichnen einer Befehlsressource als veraltet

Verwerfen Sie Befehle, um darauf hinzuweisen, dass sie veraltet sind und nicht verwendet werden sollten. Beispielsweise veraltete Befehle, die nicht mehr aktiv verwaltet werden oder wenn neuere Befehle mit derselben ID, aber unterschiedlichen Payloads erstellt werden.

Wesentliche Überlegungen

Wichtige Überlegungen bei der Ablehnung von Befehlen:

  • Wenn Sie einen Befehl als veraltet markieren, wird er nicht gelöscht. Sie können den Befehl anhand seiner ID abrufen und zur Wiederverwendung wiederherstellen.

  • Der Versuch, neue Ausführungen mit veralteten Befehlen zu starten, generiert einen Fehler, wodurch die Verwendung veralteter Befehle verhindert wird.

  • Um einen veralteten Befehl auszuführen, müssen Sie ihn zunächst wiederherstellen. Nach der Wiederherstellung steht der Befehl für die reguläre Verwendung und Ausführung auf Zielgeräten zur Verfügung.

  • Wenn Sie einen Befehl während der Ausführung als veraltet markieren, werden diese weiterhin ausgeführt, bis sie abgeschlossen sind. Sie können den Ausführungsstatus immer noch abrufen.

Eine Befehlsressource (Konsole) als veraltet kennzeichnen

Um einen Befehl aus der Konsole als veraltet zu kennzeichnen, gehen Sie zum Command Hub der AWS IoT Konsole und führen Sie die folgenden Schritte aus.

  1. Wählen Sie den Befehl aus, den Sie verwerfen möchten, und wählen Sie dann unter Aktionen die Option Veraltet aus.

  2. Bestätigen Sie, dass Sie den Befehl als veraltet markieren möchten, und wählen Sie dann Veraltet aus.

Eine Befehlsressource (CLI) verwerfen

Markieren Sie Befehle mithilfe der CLI als veraltet. update-command Sie müssen einen Befehl vor dem Löschen als veraltet markieren. Um einen veralteten Befehl zu verwenden, stellen Sie ihn zuerst wieder her.

aws iot update-command \ --command-id <command-id> \ --deprecated

Wenn Sie beispielsweise den ACSwitch Befehl, den Sie im obigen Beispiel aktualisiert haben, als veraltet eingestuft haben, zeigt der folgende Code eine Beispielausgabe für die Ausführung des Befehls.

{ "commandId": "turnOffAc", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }

Überprüfen Sie den Zeitpunkt und den Status der Deprecation

Verwenden Sie die GetCommand API, um festzustellen, ob ein Befehl veraltet ist und wann er zuletzt veraltet war.

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

Dieser Befehl generiert eine Antwort mit Befehlsinformationen, einschließlich Zeitstempeln für Erstellung und Verfall aus dem Feld mit der letzten Aktualisierung. Dies hilft dabei, die Gültigkeitsdauer eines Befehls zu bestimmen und festzustellen, ob er gelöscht oder wiederverwendet werden soll. Im Folgenden finden Sie ein Beispiel für eine Antwort auf den turnOffAc Befehl:

{ "commandId": "turnOffAC", "commandArn": "arn:aws:iot:us-east-1:123456789012:command/turnOffAC", "namespace": "AWS-IoT", "payload": { "content": "testPayload.json", "contentType": "application/json" }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00", "deprecated": false }

Stellen Sie eine Befehlsressource wieder her

Um den ACSwitch Befehl zu verwenden oder an Ihr Gerät zu senden, stellen Sie ihn zunächst wieder her.

Um einen Befehl von der Konsole wiederherzustellen, rufen Sie den Command Hub der AWS IoT Konsole auf, wählen Sie den Befehl aus, den Sie wiederherstellen möchten, und wählen Sie dann unter Aktionen die Option Wiederherstellen aus.

Verwenden Sie den AWS IoT Core API-Vorgang oder die update-command CLI AWS CLI, um einen Befehl mithilfe der UpdateCommand API oder der wiederherzustellen. Der folgende Code zeigt ein Beispiel für eine Anfrage und eine Antwort.

aws iot update-command \ --command-id <command-id> --no-deprecated

Der folgende Code zeigt eine Beispielausgabe.

{ "commandId": "ACSwitch", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00" }