Befehle erstellen und verwalten - AWS IoT FleetWise

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.

Befehle erstellen und verwalten

Wichtig

Der Zugriff auf bestimmte AWS FleetWise IoT-Funktionen ist derzeit gesperrt. Weitere Informationen finden Sie unter AWS Verfügbarkeit von Regionen und Funktionen im AWS Internet der Dinge FleetWise.

Sie können wiederverwendbare Fernaktionen konfigurieren oder einmalige, sofortige Anweisungen an Ihre Geräte senden. Wenn Sie diese Funktion verwenden, können Sie die Anweisungen angeben, die Ihre Geräte nahezu in Echtzeit ausführen können. Mit einem Befehl können Sie wiederverwendbare Fernaktionen für Ihr Zielfahrzeug konfigurieren. Nachdem Sie einen Befehl erstellt haben, können Sie eine Befehlsausführung starten, die auf ein bestimmtes Fahrzeug abzielt.

In diesem Thema wird gezeigt, wie Sie eine Befehlsressource mithilfe der AWS IoT Core API oder der erstellen und verwalten können AWS CLI. Es zeigt Ihnen, wie Sie die folgenden Aktionen auf einer Befehlsressource ausführen.

Erstellen Sie eine Befehlsressource

Sie können den API-Betrieb der CreateCommand AWS IoT Core Steuerungsebene oder die AWS FleetWise IoT-Konsole verwenden, um einen Befehl zu erstellen.

Sie können die AWS FleetWise IoT-Konsole verwenden, um einen Befehl zu erstellen.

Um einen Befehl zu erstellen
  1. Öffnen Sie die AWS FleetWise IoT-Konsole.

  2. Wählen Sie im Navigationsbereich Befehle aus.

  3. Wählen Sie Befehl erstellen aus.

  4. Geben Sie eine eindeutige Befehls-ID an, anhand derer Sie den Befehl identifizieren können, den Sie auf dem Fahrzeug ausführen möchten.

  5. (Optional) Geben Sie optional einen Anzeigenamen und eine Beschreibung an.

  6. (Optional) Wählen Sie den Aktuator und den Standardparameterwert aus. Parameter geben an, welche Aktionen das Zielfahrzeug nach Erhalt des Befehls ausführen kann. Wenn Sie keine Parameter hinzufügen, müssen Sie sie bei der Ausführung des Befehls angeben.

  7. Wählen Sie eine IAM-Rolle aus, die Berechtigungen zum Generieren der Payload für Befehle gewährt. Siehe Zugriff kontrollieren.

  8. Wählen Sie den Befehl Erstellen.

Das folgende Beispiel zeigt, wie ein Befehl mit einem Parameter erstellt wird.

Überlegungen beim Erstellen eines Befehls

Wenn Sie einen Befehl erstellen in AWS IoT FleetWise:

  • Sie müssen den angebenroleArn, der die Erlaubnis erteilt, Befehle auf Ihrem Fahrzeug zu erstellen und auszuführen. Weitere Informationen und Beispielrichtlinien, z. B. zur Aktivierung von KMS-Schlüsseln, finden Sie unterErteilen Sie die AWS IoT Device Management Berechtigung zum Generieren der Payload für Befehle mit AWS IoT FleetWise.

  • Sie müssen AWS-IoT-FleetWise als Namespace angeben.

  • Sie können das mandatory-parameters Feld überspringen und sie stattdessen zur Laufzeit angeben. Alternativ können Sie einen Befehl mit Parametern erstellen und optional Standardwerte für diese angeben. Wenn Sie Standardwerte angegeben haben, können Sie diese Werte zur Laufzeit verwenden oder sie überschreiben, indem Sie Ihre eigenen Werte angeben. Diese zusätzlichen Beispiele finden Sie unterSzenarien zur Verwendung von Befehlen.

  • Sie können bis zu drei Name-Wert-Paare für das mandatory-parameters Feld angeben. Bei der Ausführung des Befehls auf dem Fahrzeug wird jedoch nur ein Name-Wert-Paar akzeptiert, und das name Feld muss den vollqualifizierten Namen mit dem Präfix verwenden. $actuatorPath.

  • command-idErsetzen Sie den Befehl durch einen eindeutigen Bezeichner. Sie können UUID, alphanumerische Zeichen, „-“ und „_“ verwenden.

  • role-arnErsetzen Sie es durch die IAM-Rolle, die Ihnen die Berechtigung erteilt, Befehle zu erstellen und auszuführen, z. B. "arn:aws:iam:accountId:role/FwCommandExecutionRole"

  • (Optional) display-name Ersetzen Sie den Befehl durch einen benutzerfreundlichen Namen und description eine aussagekräftige Beschreibung des Befehls.

  • Ersetzen Sie name und value des mandatory-parameters Objekts durch die erforderlichen Informationen für den Befehl, der gerade erstellt wird. Das name Feld ist der vollqualifizierte Name, wie er im Signalkatalog definiert ist, mit $actuatorPath. dem Präfix. Kann $actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode und name value kann beispielsweise ein boolescher Wert sein, der einen Lenkmodusstatus wie anzeigt. {"B": false}

aws iot create-command --command-id command-id \ --role-arn role-arn \ --description description \ --display-name display-name \ --namespace "AWS-IoT-FleetWise" \ --mandatory-parameters '[ { "name": name, "value": value } ]'

Die CreateCommand API-Operation gibt eine Antwort zurück, die die ID und den ARN (Amazon Resource Name) des Befehls enthält.

{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode" }

Ruft Informationen zu einem Befehl ab

Sie können den API-Vorgang der GetCommand AWS IoT Core Steuerungsebene verwenden, um Informationen über eine Befehlsressource abzurufen.

Führen Sie den folgenden Befehl aus, um Informationen zu einer Befehlsressource abzurufen. command-idErsetzen Sie ihn durch den Bezeichner, der bei der Erstellung des Befehls verwendet wurde.

aws iot get-command --command-id command-id

Die GetCommand API-Operation gibt eine Antwort zurück, die die folgenden Informationen enthält.

  • Die ID und der ARN (Amazon Resource Name) des Befehls.

  • Datum und Uhrzeit der Erstellung und letzten Aktualisierung des Befehls.

  • Der Befehlsstatus, der angibt, ob er für die Ausführung auf dem Fahrzeug verfügbar ist.

  • Alle Parameter, die Sie bei der Erstellung des Befehls angegeben haben.

{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode", "value": {"B": false } } ], "createdAt": "2024-03-23T11:24:14.919000-07:00", "lastUpdatedAt": "2024-03-23T11:24:14.919000-07:00", "deprecated": false, "pendingDeletion": false }

Befehle in Ihrem Konto auflisten

Sie können den API-Vorgang der ListCommands AWS IoT Core Steuerungsebene verwenden, um alle Befehle in Ihrem Konto aufzulisten, die Sie erstellt haben.

Führen Sie den folgenden Befehl aus, um Befehle in Ihrem Konto aufzulisten. Standardmäßig gibt die API Befehle zurück, die für beide Namespaces erstellt wurden. Um die Liste so zu filtern, dass nur Befehle angezeigt werden, für die erstellt wurden AWS IoT FleetWise, führen Sie den folgenden Befehl aus.

Anmerkung

Sie können die Liste auch in aufsteigender oder absteigender Reihenfolge sortieren oder die Liste so filtern, dass nur Befehle angezeigt werden, die einen bestimmten Befehlsparameternamen haben.

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

Der ListCommands API-Vorgang gibt eine Antwort zurück, die die folgenden Informationen enthält.

  • Die ID und der ARN (Amazon Resource Name) der Befehle.

  • Datum und Uhrzeit der Erstellung und letzten Aktualisierung des Befehls.

  • Der Befehlsstatus, der angibt, ob die Befehle für die Ausführung auf dem Fahrzeug verfügbar sind.

Eine Befehlsressource aktualisieren oder als veraltet kennzeichnen

Sie können den API-Betrieb der UpdateCommand AWS IoT Core Steuerungsebene oder die AWS FleetWise IoT-Konsole verwenden, um eine Befehlsressource zu aktualisieren. Sie können den Anzeigenamen und die Beschreibung eines Befehls aktualisieren. Sie können einen Befehl auch als veraltet markieren, wenn er derzeit nicht verwendet wird.

Anmerkung

Sie können die Namespace-Informationen oder die Parameter, die bei der Ausführung des Befehls verwendet werden sollen, nicht ändern.

Einen Befehl aktualisieren

Um einen Befehl von der Konsole aus zu aktualisieren, rufen Sie die Befehlsseite der AWS FleetWise IoT-Konsole auf und führen Sie die folgenden Schritte aus.

  1. Wählen Sie den Befehl aus, den Sie aktualisieren möchten, und wählen Sie dann Bearbeiten.

  2. Bearbeiten Sie die Befehlsdetails und wählen Sie dann Änderungen speichern.

Verwerfen Sie einen Befehl als veraltet

Um einen Befehl aus der Konsole abzulehnen, rufen Sie die Befehlsseite der AWS FleetWise IoT-Konsole auf 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 Veraltet aus.

  2. Bestätigen Sie die veraltete Version und wählen Sie dann Veraltet aus.

Einen Befehl aktualisieren

Führen Sie den folgenden Befehl aus, um eine Befehlsressource zu aktualisieren. command-idErsetzen Sie ihn durch den Bezeichner des Befehls, den Sie aktualisieren möchten, und geben Sie das aktualisierte display-name und eindescription.

aws iot update-command \ --command-id command-id \ --display-name display-name \ --description description

Die UpdateCommand API-Operation gibt die folgende Antwort zurück.

{ "commandId": "HandsOffSteeringMode", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
Verwerfen Sie einen Befehl

Sie missbilligen einen Befehl, wenn Sie ihn nicht mehr für Ihr Gerät verwenden möchten oder wenn er veraltet ist. Das folgende Beispiel zeigt, wie ein Befehl als veraltet markiert wird.

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

Die UpdateCommand API-Operation gibt eine Antwort zurück, die die ID und den ARN (Amazon Resource Name) des Befehls enthält.

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

Sobald ein Befehl veraltet ist, werden bestehende Befehlsausführungen auf dem Fahrzeug weiterlaufen, bis sie zum Terminal werden. Um neue Befehlsausführungen auszuführen, müssen Sie die UpdateCommand API verwenden, um den Befehl wiederherzustellen, sodass er verfügbar wird. Weitere Informationen zum Verwerfen und Wiederherstellen eines Befehls sowie zu diesbezüglichen Überlegungen finden Sie unter Eine Befehlsressource als veraltet markieren im Entwicklerhandbuch.AWS IoT Core

Löschen Sie eine Befehlsressource

Sie können den API-Betrieb der DeleteCommand AWS IoT Core Steuerungsebene oder die AWS FleetWise IoT-Konsole verwenden, um eine Befehlsressource zu löschen.

Anmerkung

Löschvorgänge sind dauerhaft und können nicht rückgängig gemacht werden. Der Befehl wird dauerhaft aus Ihrem Konto entfernt.

Um einen Befehl aus der Konsole zu löschen, rufen Sie die Befehlsseite der AWS FleetWise 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 Löschen.

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

Führen Sie den folgenden Befehl aus, um eine Befehlsressource zu löschen. command-idErsetzen Sie ihn durch den Bezeichner des Befehls, den Sie löschen möchten. Das folgende Beispiel zeigt, wie eine Befehlsressource gelöscht wird.

aws iot delete-command --command-id command-id

Wenn die Löschanforderung erfolgreich ist:

  • Wenn der Befehl für eine Dauer, die länger als das maximale Timeout von 24 Stunden ist, als veraltet gilt, wird der Befehl sofort gelöscht und es wird der statusCode HTTP-Wert 204 angezeigt.

  • 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 pending deletion Status und es wird ein HTTP-Wert von 202 angezeigt. statusCode Der Befehl wird nach Ablauf des maximalen Timeouts von 24 Stunden automatisch aus Ihrem Konto entfernt.