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.
Beispiel: Verwendung von Befehlen zur Steuerung eines Fahrzeuglenkmodus ()AWS CLI
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.
Das folgende Beispiel zeigt Ihnen, wie Sie die Befehlsfunktion mithilfe von verwenden AWS CLI. In diesem Beispiel wird ein AWS IoT FleetWise Fahrzeug als Zielgerät verwendet, um zu zeigen, wie Sie einen Befehl zur Fernsteuerung des Lenkmodus senden können.
Themen
Überblick über das Beispiel für den Fahrzeuglenkmodus
In diesem Beispiel werden Sie:
-
Erstellen Sie eine Befehlsressource für den Vorgang, mit
create-commandAWS CLI dem Sie den Lenkmodus des Fahrzeugs ändern können. -
Rufen Sie Informationen über den Befehl ab, z. B. den Zeitpunkt, zu dem er erstellt oder zuletzt aktualisiert wurde, mit dem
get-commandAWS CLI. -
Senden Sie den Befehl
start-command-executionAWS CLI mit dem Lenkmodus als obligatorischen Parameter an das Fahrzeug. Dieser wird dann auf dem Gerät ausgeführt. -
Rufen Sie das Ergebnis der Befehlsausführung mit dem ab
get-command-executionAWS CLI. Sie können überprüfen, wann die Ausführung abgeschlossen ist, und zusätzliche Details abrufen, z. B. das Ausführungsergebnis und die Zeit, die bis zur Ausführung des Befehls benötigt wurde. -
Führen Sie Bereinigungsaktivitäten durch, indem Sie alle Befehle und Befehlsausführungen entfernen, die Sie nicht mehr verwenden möchten.
Voraussetzungen
Bevor Sie dieses Beispiel ausführen:
-
Stellen Sie Ihr AWS IoT FleetWise Fahrzeug als Objekt AWS IoT in der AWS IoT Registrierung bereit. Sie müssen Ihrem Ding auch ein Zertifikat hinzufügen und es aktivieren und Ihrem Ding eine Richtlinie beifügen. Ihr Gerät kann sich dann mit der Cloud verbinden und die Befehle ausführen. Weitere Informationen finden Sie unter Fahrzeuge bereitstellen.
-
Erstellen Sie einen IAM-Benutzer und eine IAM-Richtlinie, die Ihnen die Erlaubnis erteilt, die API-Operationen für die Verwendung von Befehlen auszuführen, wie unter gezeigt. IAM-Richtlinie für die Verwendung von Remote-Befehlen
IAM-Richtlinie für die Verwendung von Remote-Befehlen
Die folgende Tabelle zeigt ein Beispiel für eine IAM-Richtlinie, die Zugriff auf alle API-Operationen der Steuerungsebene und der Datenebene für die Befehlsfunktion gewährt. Der Benutzer der Anwendung verfügt über die erforderlichen Berechtigungen, um alle API-Operationen für Remote-Befehle auszuführen, wie in der Tabelle dargestellt.
| API-Aktion | Steuerung/Datenebene | Protocol (Protokoll) | Description | Ressource |
|---|---|---|---|---|
CreateCommand |
Steuerebene | HTTP | Erzeugt eine Befehlsressource |
|
GetCommand |
Steuerebene | HTTP | Ruft Informationen über einen Befehl ab |
|
UpdateCommand |
Steuerebene | HTTP | Aktualisiert Informationen über einen Befehl oder stellt ihn als veraltet dar |
|
ListCommands |
Steuerebene | HTTP | Führt Befehle in Ihrem Konto auf |
|
DeleteCommand |
Steuerebene | HTTP | Löscht einen Befehl |
|
StartCommandExecution |
Datenebene | HTTP | Startet die Ausführung eines Befehls |
|
UpdateCommandExecution |
Datenebene | MQTT | Aktualisieren Sie die Ausführung eines Befehls |
|
GetCommandExecution |
Steuerebene | HTTP | Ruft Informationen über die Ausführung eines Befehls ab |
|
ListCommandExecutions |
Steuerebene | HTTP | Führt Befehlsausführungen in Ihrem Konto auf |
|
DeleteCommandExecution |
Steuerebene | HTTP | Löscht eine Befehlsausführung |
|
Ersetzen Sie in diesem Beispiel:
-
mit deinem AWS-Region, wieus-east-1ap-south-1. -
mit deiner AWS-Konto Nummer, wie11112222333357EXAMPLE833. -
command-id, undcommand-id1mit Ihrer eindeutigen Befehlskennung, z. B.command-id2LockDooroderTurnOffAC. -
mit deinem AWS IoT Dingnamen, wiething-namemy_car.
AWS IoT Befehle ausführen (AWS CLI)
Im Folgenden wird gezeigt, wie Sie Befehle ausführen und den Lenkmodus des Fahrzeugs ändern können. AWS CLI
-
Erstellen Sie eine Befehlsressource für den Betrieb im Lenkmodus
Erstellen Sie den Befehl, den Sie mit der
create-commandCLI an Ihr Gerät senden möchten. Geben Sie in diesem Beispiel Folgendes an:-
command-idwieTurnOffSteeringMode -
role-arnas"arn:aws:iam:DieaccountId:role/FwCommandExecutionRole"role-arnmuss angegeben werden, da es die IAM-Rolle ist, die Berechtigungen zum Erstellen und Ausführen von Befehlen auf Ihrem Fahrzeug gewährt. Weitere Informationen finden Sie unter Erteilen Sie die AWS IoT Device Management Berechtigung zum Generieren der Payload für Befehle mit AWS IoT FleetWise. -
display-nameals "“Turn off steering mode -
namespacemuss seinAWS-IoT-FleetWise -
mandatory-parametersals Name-Wert-Paar, mitnameals "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode" und defaultValue als{ "S": "true" }Anmerkung
Sie können einen Befehl auch ohne Angabe obligatorischer Parameter erstellen. Anschließend müssen Sie die Parameter angeben, die bei der Ausführung des Befehls über die
start-command-executionCLI verwendet werden sollen. Ein Beispiel finden Sie unter Szenarien zur Verwendung von Befehlen.
Wichtig
Wenn Sie den
AWS-IoT-FleetWiseNamespace verwenden, müssen Sie sicherstellen, dass dasNameim Rahmen von angegebene Feld das$actuatorPath.Präfixmandatory-parametersverwendet und dass dasValueFeld den Datentyp Zeichenfolge verwendet.aws iot create-command \ --command-idTurnOffSteeringMode\ --role-arn "arn:aws:iam:accountId:role/FwCommandExecutionRole" \ --display-name "Turn off steering mode" \ --namespace AWS-IoT-FleetWise \ --mandatory-parameters '[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true"} } ]'Die folgende Ausgabe zeigt eine Beispielantwort von der CLI, wobei
ap-south-1und Beispiele für die AWS-Konto ID AWS-Region und123456789012sind.{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode" }Weitere Beispiele zur Verwendung dieses Befehls finden Sie unterErstellen Sie eine Befehlsressource.
-
-
Rufen Sie Informationen über den Befehl ab
Führen Sie den folgenden Befehl aus, um Informationen über den Befehl abzurufen. Dabei
command-idsteht die Befehls-ID in der Ausgabe dercreate-commandOperation von oben.Anmerkung
Wenn Sie mehr als einen Befehl erstellen, können Sie die
ListCommandsAPI verwenden, um alle Befehle in Ihrem Konto aufzulisten, und dann dieGetCommandAPI verwenden, um zusätzliche Informationen zu einem bestimmten Befehl abzurufen. Weitere Informationen finden Sie unter Befehle in Ihrem Konto auflisten.aws iot get-command --command-idTurnOffSteeringModeDie Ausführung dieses Befehls generiert die folgende Antwort. Sie sehen den Zeitpunkt, zu dem der Befehl erstellt und zuletzt aktualisiert wurde, alle von Ihnen angegebenen Parameter und ob der Befehl für die Ausführung auf dem Gerät verfügbar ist.
{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true" } } ], "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-03-23T00:50:10.095000-07:00", "deprecated": false }Weitere Beispiele zur Verwendung dieses Befehls finden Sie unterRuft Informationen zu einem Befehl ab.
-
Starten Sie die Befehlsausführung
Führen Sie den folgenden Befehl aus, um die Ausführung des Befehls zu starten. Dabei
command-arnbefindet sich der Befehl ARN in der Ausgabe derget-commandOperation von oben. Dastarget-arnist der ARN des Zielgeräts, für das Sie den Befehl ausführen, zum Beispiel.myVehicleDa Sie in diesem Beispiel bei der Erstellung des Befehls Standardwerte für die Parameter angegeben haben, kann die
start-command-executionCLI diese Werte bei der Ausführung des Befehls verwenden. Sie können den Standardwert auch überschreiben, indem Sie bei Verwendung der CLI einen anderen Wert für die Parameter angeben.aws iot-data start-command-execution \ --command-arn arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode\ --target-arn arn:aws:iot:ap-south-1:123456789012:thing/myVehicleWenn Sie diesen Befehl ausführen, wird eine Befehlsausführungs-ID zurückgegeben. Sie können diese ID verwenden, um den Status der Befehlsausführung, die Details und den Verlauf der Befehlsausführung abzufragen.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542" }Weitere Beispiele zur Verwendung der CLI finden Sie unterSenden Sie einen Befehl ()AWS CLI.
-
Rufen Sie Informationen über die Befehlsausführung ab
Führen Sie den folgenden Befehl aus, um Informationen zu dem Befehl abzurufen, den Sie auf dem Zielgerät ausgeführt haben. Geben Sie den an
execution-id, den Sie als Ausgabe desstart-command-executionVorgangs von oben erhalten haben, und dentarget-arn, welcher der ARN des Geräts ist, auf das Sie abzielen.Anmerkung
-
Um die neuesten Statusinformationen zu erhalten, müssen Ihre Geräte die aktualisierten Statusinformationen im MQTT-Antwortthema veröffentlicht haben, das für Befehle reserviert ist, die die
UpdateCommandExecutionMQTT-API verwenden. Weitere Informationen finden Sie unter Ergebnis der Befehlsausführung aktualisieren. -
Wenn Sie mehr als eine Befehlsausführung starten, können Sie die
ListCommandExecutionsAPI verwenden, um alle Befehlsausführungen in Ihrem Konto aufzulisten, und dann dieGetCommandExecutionAPI verwenden, um zusätzliche Informationen über eine bestimmte Ausführung zu erhalten. Weitere Informationen finden Sie unter Listet die Befehlsausführungen in Ihrem Konto auf.
aws iot get-command-execution \ --execution-id<"07e4b780-7eca-4ffd-b772-b76358da5542">\ --target-arn arn:aws:iot:us-east-1:<account>:thing/myVehicleWenn Sie diesen Befehl ausführen, werden Informationen zur Befehlsausführung, zum Ausführungsstatus, zum Zeitpunkt des Beginns der Ausführung und zum Zeitpunkt des Abschlusses zurückgegeben. Die folgende Antwort zeigt beispielsweise, dass die Befehlsausführung auf dem Zielgerät erfolgreich war und der Steuermodus ausgeschaltet wurde.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "targetArn": "arn:aws:iot:ap-south-1:123456789012:thing/myVehicle", "result": "SUCCEEDED", "statusReason": { "reasonCode": "65536", "reasonDescription": "SUCCESS" }, "result": { "KeyName": { "S": "", "B": true, "BIN": null } }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "completedAt": "2024-03-23T00:50:10.095000-07:00", "parameters": '{ "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode": { "S": "true" } }' } -
Bereinigen
Nachdem Sie einen Befehl erstellt und auf Ihrem Gerät ausgeführt haben, können Sie ihn löschen, wenn Sie diesen Befehl nicht mehr verwenden möchten. Alle ausstehenden Befehlsausführungen, die gerade ausgeführt werden, werden weiterhin ausgeführt, ohne dass sich die Löschanforderung darauf auswirkt.
Anmerkung
Alternativ können Sie einen Befehl auch als veraltet markieren, wenn er veraltet ist und Sie ihn möglicherweise später verwenden müssen, um ihn auf dem Zielgerät auszuführen.
-
(Optional) Verwerfen Sie die Befehlsressource
Führen Sie den folgenden Befehl aus, um den Befehl als veraltet zu kennzeichnen. Dabei
command-idsteht die Befehls-ID in der Ausgabe der Operation von oben.get-commandaws iot update-command \ --command-idTurnOffSteeringMode\ --deprecatedDie Ausführung dieses Befehls gibt eine Ausgabe zurück, die anzeigt, dass der Befehl veraltet ist. Sie können den Befehl auch mit der CLI wiederherstellen.
Anmerkung
Sie können die
update-commandCLI auch verwenden, um den Anzeigenamen und die Beschreibung eines Befehls zu aktualisieren. Weitere Informationen finden Sie unter Eine Befehlsressource aktualisieren oder als veraltet kennzeichnen.{ "commandId": "TurnOffSteeringMode", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" } -
Löschen Sie den Befehl
Führen Sie den folgenden Befehl aus, um den durch den angegebenen Befehl zu löschen
command-id.Anmerkung
Die Löschaktion ist dauerhaft und kann nicht rückgängig gemacht werden.
aws iot delete-command --command-idTurnOffSteeringModeWenn die Löschanforderung erfolgreich ist, wird
statusCodeder HTTP-Wert 202 oder 204 angezeigt, je nachdem, ob Sie den Befehl als veraltet markiert haben und wann er als veraltet markiert wurde. Weitere Informationen sowie ein Beispiel finden Sie unter Löschen Sie eine Befehlsressource.Sie können die
get-commandCLI verwenden, um zu überprüfen, ob der Befehl aus Ihrem Konto entfernt wurde. -
(Optional) Löschen Sie die Befehlsausführungen
Standardmäßig werden alle Befehlsausführungen innerhalb von sechs Monaten ab dem Datum, an dem Sie sie erstellen, gelöscht. Sie können diese Informationen mithilfe des
timeToLiveParameters in derGetCommandExecutionAPI anzeigen.Alternativ können Sie die Befehlsausführung löschen, wenn Ihre Befehlsausführung zu einem Terminal geworden ist
SUCCEEDEDFAILED, z. B. wenn Ihr Ausführungsstatus einer vonREJECTED, oder ist. Führen Sie den folgenden Befehl aus, um die Ausführung zu löschen. Dabeiexecution-idsteht die Ausführungs-ID in der Ausgabe derget-command-executionOperation von oben.aws iot delete-command-execution \ --execution-id"07e4b780-7eca-4ffd-b772-b76358da5542"Sie können die
get-command-executionCLI verwenden, um zu überprüfen, ob die Befehlsausführung aus Ihrem Konto entfernt wurde.