AWS IoTJobs API-Operationen - 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.

AWS IoTJobs API-Operationen

AWS IoTDie Jobs-API kann für eine der folgenden Kategorien verwendet werden:

  • Administrative Aufgaben wie Verwaltung und Kontrolle von Arbeitsplätzen. Das ist derSteuerungsebene.

  • Geräte, die diese Aufgaben ausführen. Das ist derDatenebene, mit dem Sie Daten senden und empfangen können.

Die Auftragsverwaltung und -steuerung verwendet eine HTTPS-Protokoll-API. Geräte können eine MQTT- oder eine HTTPS-Protokoll-API verwenden. Die Control Plane API ist für ein geringes Aufrufvolumen konzipiert, das typisch für die Erstellung und Nachverfolgung von Jobs ist. In der Regel öffnet sie eine Verbindung für eine einzelne Anforderung und schließt diese dann nach dem Eingang der Antwort. Die Datenebene HTTPS und die MQTT-API ermöglichen lange Abfragen. Diese API-Operationen sind für große Datenverkehrsmengen konzipiert, die auf Millionen von Geräten skaliert werden können.

JederAWS IoTJobs HTTPS API hat einen entsprechenden Befehl, mit dem Sie die API von derAWS Command Line Interface(AWS CLI). Die Befehle werden in Kleinbuchstaben mit Bindestrichen zwischen den Wörtern, aus denen die API besteht, ausgedrückt. Beispielsweise können Sie die CreateJob-API in der CLI aufrufen, indem Sie Folgendes eingeben:

aws iot create-job ...

Tritt während eines Vorgangs ein Fehler auf, erhalten Sie eine Fehlerantwort, die Informationen über den Fehler enthält.

Enthält Informationen zu einem Fehler, der während einer Operation des AWS IoT Jobs-Service aufgetreten ist.

Das folgende Beispiel zeigt die Syntax dieser Operation:

{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }

Das Folgende ist eine Beschreibung dessenErrorResponse:

code

ErrorCodekann eingestellt werden auf:

InvalidTopic

Die Anfrage wurde an ein Thema in der gesendetAWS IoTJobs-Namespace, der keiner API-Operation zugeordnet ist.

InvalidJson

Der Inhalt der Anfrage konnte nicht als gültiges UTF-8-kodiertes JSON interpretiert werden.

InvalidRequest

Der Inhalt der Anfrage war nicht gültig. Dieser Code wird beispielsweise ausgegeben, wenn eine UpdateJobExecution-Anforderung ungültige Statusdetails enthält. Die Mitteilung enthält Einzelheiten zu dem Fehler.

InvalidStateTransition

Ein Update hat versucht, die Auftragsausführung in einen Status zu ändern, der aufgrund des aktuellen Status der Auftragsausführung nicht gültig ist. Zum Beispiel ein Versuch, eine Anfrage im Status SUCCEDED in den Status IN_PROGRESS zu ändern. In diesem Fall enthält der Text der Fehlermeldung auch das Feld executionState.

ResourceNotFound

DerJobExecutionDas in der Anfrage angegebene Thema existiert nicht.

VersionMismatch

Die in der Anfrage angegebene erwartete Version stimmt nicht mit der Version der Auftragsausführung in derAWS IoTJobservice. In diesem Fall enthält der Text der Fehlermeldung auch das Feld executionState.

InternalError

Bei der Verarbeitung der Anforderung ist ein interner Fehler aufgetreten.

RequestThrottled

Die Anforderung wurde gedrosselt.

TerminalStateReached

Tritt auf, wenn ein Befehl zum Beschreiben eines Auftrags für einen Auftrag im Status „Terminal“ durchgeführt wird.

message

Eine Fehlermeldungszeichenfolge.

clientToken

Eine beliebige Zeichenfolge für die Korrelierung einer Anforderung mit der jeweiligen Antwort.

timestamp

Die seit der Epoche vergangene Zeit (in Sekunden).

executionState

Ein JobExecutionState-Objekt. Dieses Feld ist nur enthalten, wenn das Feld code den Wert InvalidStateTransition oder VersionMismatch hat. Dadurch ist es in diesen Fällen nicht erforderlich, eine separate DescribeJobExecution-Anforderung durchzuführen, um die Daten zum Status der aktuellen Auftragsausführung abzurufen.