AWS IoT Jobs 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 IoT Jobs API-Operationen

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

  • Administrative Aufgaben wie die Verwaltung und Kontrolle von Aufträgen. Dies ist die Steuerebene.

  • Geräte, die diese Aufgaben ausführen. Dies ist die Datenebene, mit der Sie Daten senden und empfangen können.

Die Auftragsverwaltung und die Auftragssteuerung verwenden eine HTTPS-Protokoll-API. Geräte können eine MQTT- oder eine HTTPS-Protokoll-API verwenden. Die Steuerebenen-API ist für eine geringe Anzahl von Aufrufen ausgelegt, wie sie für die Erstellung und Verfolgung von Aufträgen typisch sind. 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-Vorgänge sind für große Datenmengen ausgelegt, die auf Millionen von Geräten skaliert werden können.

Jede AWS IoT Jobs-HTTPS-API hat einen entsprechenden Befehl, mit dem Sie die API über AWS Command Line Interface (AWS CLI) aufrufen können. 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 ...

Wenn während eines Vorgangs ein Fehler auftritt, 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 }

Im Folgenden finden Sie eine Beschreibung dieser ErrorResponse:

code

ErrorCode kann wie folgt eingestellt werden:

InvalidTopic

Die Anfrage wurde an ein Thema im AWS IoT Jobs-Namespace gesendet, das keiner API-Operation zugeordnet ist.

InvalidJson

Der Inhalt der Anforderung konnte nicht als gültiger nach UTF-8 kodierter JSON-Inhalt interpretiert werden.

InvalidRequest

Der Inhalt der Anforderung 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

Bei einem Update wurde versucht, die Auftragsausführung in einen Status zu ändern, der aufgrund des aktuellen Status der Auftragsausführung nicht gültig ist. Beispiel: Ein Versuch, eine Anforderung im Status SUCCEED in den Status IN_PROGRESS zu ändern. In diesem Fall enthält der Text der Fehlermeldung auch das Feld executionState.

ResourceNotFound

Die von dem Anforderungsthema angegebene JobExecution ist nicht vorhanden.

VersionMismatch

Die in der Anfrage angegebene erwartete Version stimmt nicht mit der Version der Jobausführung im AWS IoT Jobs-Service überein. 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.