

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
<a name="jobs-devices"></a>

Geräte können mit AWS IoT Jobs über MQTT, HTTP Signature Version 4 oder HTTP TLS kommunizieren. Führen Sie den Befehl aus, um den Endpunkt zu ermitteln, der verwendet werden soll, wenn Ihr Gerät mit AWS IoT Jobs kommuniziert. **DescribeEndpoint** 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"
}
```

## Verwendung des MQTT-Protokolls
<a name="jobs-using-mqtt"></a>

Geräte können über das MQTT-Protokoll mit AWS IoT Jobs kommunizieren. Geräte abonnieren MQTT-Themen, um über neue Jobs informiert 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](protocols.md).

Bei dieser Kommunikationsmethode verwendet Ihr Gerät sein gerätespezifisches Zertifikat und seinen privaten Schlüssel, um sich bei Jobs zu authentifizieren. AWS IoT

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/notify`**  
Abonnieren 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-next`**  
Abonnieren 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/accepted`**  
Der AWS IoT Jobs-Service veröffentlicht Erfolgs- und Fehlschlagsmeldungen zu einem MQTT-Thema. Das Thema wird durch Anhängen von `accepted` oder `rejected` an das Thema erstellt, mit dem die Anforderung getätigt wurde. Hier `request-name` ist der Name einer Anfrage wie `Get` und das Thema kann sein:`$aws/things/myThing/jobs/get`. AWS IoTJobs veröffentlicht dann Erfolgsmeldungen zum `$aws/things/myThing/jobs/get/accepted` Thema.
+ 

**`$aws/things/thing-name/jobs/request-name/rejected`**  
Hier ist `request-name` der Name Ihrer Region, z. B. `Get`. Wenn die Anfrage fehlgeschlagen ist, veröffentlicht AWS IoT Jobs Fehlermeldungen zu `$aws/things/myThing/jobs/get/rejected` diesem Thema.

Sie können auch die folgenden HTTPS API-Operationen verwenden:
+ Den Status einer Auftragsausführung durch Aufruf der [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html)-API aktualisieren.
+ Den Status einer Auftragsausführung durch Aufruf der [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html)-API abfragen.
+ Eine Liste der ausstehenden Auftragsausführung durch Aufruf der [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html)-API abrufen.
+ Die nächste ausstehende Auftragsausführung durch Aufruf der [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html)-API mit `jobId` als `$next` abrufen.
+ Die nächste ausstehende Auftragsausführung durch Aufruf der [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)-API abrufen und starten.

## Verwendung der HTTP-Signaturversion 4
<a name="jobs-using-http-v4"></a>

Geräte können über die AWS IoT HTTP-Signatur Version 4 an Port 443 mit Jobs kommunizieren. Dies ist die Methode, die von der AWS SDKs AND-CLI verwendet wird. Weitere Informationen zu diesen Tools finden Sie unter [AWS CLIBefehlsreferenz: iot-jobs-data](https://docs.aws.amazon.com/cli/latest/reference/iot-jobs-data/index.html) oder [AWSSDKs und Tools](https://aws.amazon.com/tools/#sdk) sowie im IotJobsDataPlane Abschnitt für Ihre bevorzugte Sprache.

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 ...` 

## Verwendung von HTTP TLS
<a name="jobs-using-http-tls"></a>

Geräte können über HTTP-TLS auf Port 8443 mit AWS IoT Jobs kommunizieren, indem ein Drittanbieter-Softwareclient verwendet wird, 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
<a name="programming-devices"></a>

Die Beispiele in diesem Abschnitt verwenden MQTT, um zu veranschaulichen, wie ein Gerät mit dem AWS IoT Jobs-Service zusammenarbeitet. Sie können auch 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/MyThing/jobs/notify` (oder `$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 Codesigning für verwendenAWS IoT, muss Ihr Gerätecode die Signatur Ihrer Codedatei verifizieren. 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](https://github.com/aws/aws-iot-device-sdk-js#jobsAgent).

**Topics**
+ [Programmieren von Geräten zur Arbeit mit Aufträgen](#programming-devices)
+ [Geräteworkflow](jobs-workflow-device-online.md)
+ [Arbeitsablauf für Aufträge](jobs-workflow-jobs-online.md)
+ [Auftragsbenachrichtigungen](jobs-comm-notifications.md)