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.
Geräte und Aufträge
Geräte können mit AWS IoT Aufträgen über MQTT, HTTP Signature Version 4 oder HTTP TLS kommunizieren. Um den zu verwendenden Endpunkt zu bestimmen, wenn Ihr Gerät mit AWS IoT Aufträgen kommuniziert, führen Sie den DescribeEndpoint Befehl aus. Wenn Sie z. B. den folgenden Befehl ausführen:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
Das Ergebnis sieht in etwa wie folgt aus:
{ "endpointAddress": "a1b2c3d4e5f6g7-ats.iot.us-west-2.amazonaws.com" }
Geräte können mit AWS IoT Aufträgen über das MQTT-Protokoll kommunizieren. Geräte abonnieren MQTT-Themen, um über neue Aufträge benachrichtigt zu werden und Antworten vom AWS IoT Jobs-Service zu erhalten. Geräte veröffentlichen auf MQTT-Themen, um den Status eines Auftrags-Launch abzufragen oder zu aktualisieren. Jedes Gerät verfügt über ein allgemeines MQTT-Thema. Für weitere Informationen zur Veröffentlichung und zum Abonnement von MQTT-Themen vgl. Gerätekommunikationsprotokolle.
Bei dieser Kommunikationsmethode verwendet Ihr Gerät sein gerätespezifisches Zertifikat und seinen privaten Schlüssel, um sich bei AWS IoT Jobs zu authentifizieren.
Ihre Geräte können die folgenden Themen abonnieren. thing-name
ist der Name des Objekts, das mit dem Gerät verknüpft ist.
-
$aws/things/
thing-name
/jobs/notifyAbonnieren Sie dieses Thema, um Sie zu benachrichtigen, wenn ein Auftragsstart zur Liste der ausstehenden Auftragsstarts hinzugefügt oder daraus entfernt wird.
-
$aws/things/
thing-name
/jobs/notify-nextAbonnieren Sie dieses Thema, um Sie zu benachrichtigen, wenn sich die nächste ausstehende Auftragsausführung geändert hat.
-
$aws/things/
thing-name
/jobs/request-name
/acceptedDer AWS IoT Jobs-Service veröffentlicht Erfolgs- und Fehlermeldungen zu einem MQTT-Thema. Das Thema wird durch Anhängen von
accepted
oderrejected
an das Thema erstellt, mit dem die Anforderung getätigt wurde. Hierrequest-name
ist der Name einer Anforderung wieGet
und das Thema kann sein:$aws/things/myThing/jobs/get
. AWS IoT Jobs veröffentlicht dann Erfolgsmeldungen zum$aws/things/myThing/jobs/get/accepted
Thema. -
$aws/things/
thing-name
/jobs/request-name
/rejectedHier ist
request-name
der Name Ihrer Region, z. B.Get
. Wenn die Anforderung fehlgeschlagen ist, veröffentlicht AWS IoT Jobs Fehlermeldungen zum$aws/things/myThing/jobs/get/rejected
Thema.
Sie können auch die folgenden HTTPS API-Operationen verwenden:
-
Den Status einer Auftragsausführung durch Aufruf der
UpdateJobExecution
-API aktualisieren. -
Den Status einer Auftragsausführung durch Aufruf der
DescribeJobExecution
-API abfragen. -
Eine Liste der ausstehenden Auftragsausführung durch Aufruf der
GetPendingJobExecutions
-API abrufen. -
Die nächste ausstehende Auftragsausführung durch Aufruf der
DescribeJobExecution
-API mitjobId
als$next
abrufen. -
Die nächste ausstehende Auftragsausführung durch Aufruf der
StartNextPendingJobExecution
-API abrufen und starten.
Geräte können mit AWS IoT Aufträgen über HTTP Signature Version 4 auf Port 443 kommunizieren. Dies ist die Methode, die von den AWS SDKs und der CLI verwendet wird. Weitere Informationen zu diesen Tools finden Sie unter -AWS CLI Befehlsreferenz: iot-jobs-data oder AWS -SDKs und -Tools
Bei dieser Kommunikationsmethode verwendet Ihr Gerät IAM-Anmeldeinformationen, um sich bei AWS IoT Jobs zu authentifizieren.
Für diese Methode stehen die folgenden Befehle zur Verfügung:
-
DescribeJobExecution
aws iot-jobs-data describe-job-execution ...
-
GetPendingJobExecutions
aws iot-jobs-data get-pending-job-executions ...
-
StartNextPendingJobExecution
aws iot-jobs-data start-next-pending-job-execution ...
-
UpdateJobExecution
aws iot-jobs-data update-job-execution ...
Geräte können mit AWS IoT Aufträgen über HTTP TLS auf Port 8443 über einen Softwareclient eines Drittanbieters kommunizieren, der dieses Protokoll unterstützt.
Bei dieser Methode verwendet Ihr Gerät eine auf dem X.509-Zertifikat basierende Authentifizierung (z. B. unter Verwendung des gerätespezifischen Zertifikats und des privaten Schlüssels).
Für diese Methode stehen die folgenden Befehle zur Verfügung:
-
DescribeJobExecution
-
GetPendingJobExecutions
-
StartNextPendingJobExecution
-
UpdateJobExecution
Programmieren von Geräten zur Arbeit mit Aufträgen
Die Beispiele in diesem Abschnitt verwenden MQTT, um zu veranschaulichen, wie ein Gerät mit dem AWS IoT Jobs-Service zusammenarbeitet. Oder Sie könnten die entsprechenden API- oder CLI-Befehle verwenden. Bei diesen Beispielen wird davon ausgegangen, dass ein Gerät mit der Bezeichnung MyThing
die folgenden MQTT-Themen abonniert hat:
-
$aws/things/
(oderMyThing
/jobs/notify$aws/things/
)MyThing
/jobs/notify-next -
$aws/things/
MyThing
/jobs/get/accepted -
$aws/things/
MyThing
/jobs/get/rejected -
$aws/things/
MyThing
/jobs/jobId
/get/accepted -
$aws/things/
MyThing
/jobs/jobId
/get/rejected
Wenn Sie die Codesignatur für verwenden AWS IoT, muss Ihr Gerätecode die Signatur Ihrer Codedatei überprüfen. Die Signatur befindet sich in dem Auftragsdokument in der codesign
-Eigenschaft. Weitere Informationen zum Verifizieren einer Codedatei-Signatur finden Sie unter Geräte-Agent-Beispiel