

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.

# MQTT-API für die Gerätebereitstellung
<a name="fleet-provision-api"></a><a name="provision-mqtt-api"></a>

Der Fleet Provisioning Service unterstützt die folgenden MQTT-API-Operationen:
+ `CreateCertificateFromCsr`
+ `CreateKeysAndCertificate`
+ `RegisterThing`

Diese API unterstützt je nach Thema Antwortpuffer im Format Concise Binary Object Representation (CBOR) und JavaScript Object Notation (JSON). *payload-format* Der Übersichtlichkeit halber werden die Antworten- und Anforderungsbeispiele in diesem Abschnitt im JSON-Format dargestellt.


| *payload-format* | Datentyp des Antwortformats | 
| --- | --- | 
| cbor | Concise Binary Object Representation (CBOR) | 
| json | JavaScript Objektnotation (JSON) | 

**Wichtig**  
Bevor Sie ein Anforderungsnachrichtenthema veröffentlichen, abonnieren Sie die Antwortthemen, um die Antwort zu erhalten. Die Nachrichten, die von dieser API verwendet werden, stellen mithilfe des Protokolls zum Veröffentlichen/Abonnieren von MQTT eine Anforderungs- und Antwort-Interaktion bereit.   
Wenn Sie die Antwortthemen nicht abonnieren, *bevor* Sie eine Anfrage veröffentlichen, erhalten Sie möglicherweise keine Ergebnisse dieser Anfrage.  
IoT Core Fleet Provisioning gibt die MQTT-API-Ergebnisse der Gerätebereitstellung über dieselbe MQTT-Verbindung zurück, die für die Veröffentlichung der API-Anfrage verwendet wurde.

## CreateCertificateFromCsr
<a name="create-cert-csr"></a>

Erstellt ein Zertifikat aus einer Zertifikatsignieranforderung (CSR). AWS IoT stellt Client-Zertifikate bereit, die von der Amazon Root Certificate Authority (CA) signiert wurden. Das neue Zertifikat hat den Status `PENDING_ACTIVATION`. Wenn Sie `RegisterThing` aufrufen, um ein Objekt mit diesem Zertifikat bereitzustellen, ändert sich der Zertifikatstatus in `ACTIVE` oder `INACTIVE`, wie in der Vorlage beschrieben.

Weitere Informationen zum Erstellen eines Client-Zertifikats mit Ihrem Zertifizierungsstellenzertifikat und einer Zertifikatsignierungsanforderung finden Sie unter [Erstellen eines Clientzertifikats mit Ihrem CA-Zertifikat](create-device-cert.md).

**Anmerkung**  
Aus Sicherheitsgründen läuft das von `CreateCertificateFromCsr` ausgegebene `certificateOwnershipToken` zurückgesendet nach einer Stunde ab. `RegisterThing` muss aufgerufen werden, bevor `certificateOwnershipToken` abläuft. Wenn das von erstellte Zertifikat `CreateCertificateFromCsr` bis zum Ablauf des Tokens nicht aktiviert und an eine Richtlinie oder ein Objekt angehängt wurde, wird das Zertifikat gelöscht. Wenn das Token abläuft, kann das Gerät `CreateCertificateFromCsr` erneut aufrufen, um ein neues Zertifikat zu generieren.

### CreateCertificateFromCsr anfordern
<a name="create-cert-csr-request"></a>

Veröffentlichen Sie eine Nachricht mit dem Thema `$aws/certificates/create-from-csr/payload-format`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

#### CreateCertificateFromCsr Nutzlast anfordern
<a name="create-cert-csr-request-payload"></a>

```
{
    "certificateSigningRequest": "string"
}
```

`certificateSigningRequest`  
Die CSR im PEM-Format.

### CreateCertificateFromCsr Antwort
<a name="create-cert-csr-response"></a>

Abonnieren Sie `$aws/certificates/create-from-csr/payload-format/accepted`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

#### CreateCertificateFromCsr Nutzlast der Antwort
<a name="create-cert-csr-response-payload"></a>

```
{
    "certificateOwnershipToken": "string",
    "certificateId": "string",
    "certificatePem": "string"
}
```

`certificateOwnershipToken`  
Das Token, um den Besitz des Zertifikats während der Bereitstellung nachzuweisen. 

`certificateId`  
Die ID des Zertifikats. Zertifikatsverwaltungsoperationen verwenden nur eine certificateId. 

`certificatePem`  
Die Zertifikatdaten im PEM-Format.

### CreateCertificateFromCsr Fehler
<a name="create-cert-csr-error"></a>

Um Fehlerantworten zu empfangen, abonnieren Sie `$aws/certificates/create-from-csr/payload-format/rejected`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

#### CreateCertificateFromCsr Fehler Payload
<a name="create-cert-csr-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Welcher Statuscode gesendet wird

`errorCode`  
Der Fehlercode.

`errorMessage`  
Die Fehlermeldung.

## CreateKeysAndCertificate
<a name="create-keys-cert"></a>

Erzeugt neue Schlüssel und ein Zertifikat. AWS IoT stellt Client-Zertifikate bereit, die von der Amazon Root Certificate Authority (CA) signiert wurden. Das neue Zertifikat hat den Status `PENDING_ACTIVATION`. Wenn Sie `RegisterThing` aufrufen, um ein Objekt mit diesem Zertifikat bereitzustellen, ändert sich der Zertifikatstatus in `ACTIVE` oder `INACTIVE`, wie in der Vorlage beschrieben.

**Anmerkung**  
Aus Sicherheitsgründen läuft das von `CreateKeysAndCertificate` ausgegebene `certificateOwnershipToken` zurückgesendet nach einer Stunde ab. `RegisterThing` muss aufgerufen werden, bevor `certificateOwnershipToken` abläuft. Wenn das von erstellte Zertifikat `CreateKeysAndCertificate` bis zum Ablauf des Tokens nicht aktiviert und an eine Richtlinie oder ein Objekt angehängt wurde, wird das Zertifikat gelöscht. Wenn das Token abläuft, kann das Gerät `CreateKeysAndCertificate` erneut aufrufen, um ein neues Zertifikat zu generieren.

### CreateKeysAndCertificate anfordern
<a name="create-keys-cert-request"></a>

Veröffentlichen Sie eine Nachricht unter `$aws/certificates/create/payload-format` mit einer leeren Nachrichtennutzlast.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

### CreateKeysAndCertificate Antwort
<a name="create-keys-cert-response"></a>

Abonnieren Sie `$aws/certificates/create/payload-format/accepted`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

#### CreateKeysAndCertificate Antwort
<a name="create-keys-cert-response-payload"></a>

```
{
    "certificateId": "string",
    "certificatePem": "string",
    "privateKey": "string",
    "certificateOwnershipToken": "string"
}
```

`certificateId`  
Die ID des Zertifikats.

`certificatePem`  
Die Zertifikatdaten im PEM-Format.

`privateKey`  
Der private Schlüssel.

`certificateOwnershipToken`  
Das Token, um den Besitz des Zertifikats während der Bereitstellung nachzuweisen.

### CreateKeysAndCertificate Fehler
<a name="create-keys-cert-error"></a>

Um Fehlerantworten zu empfangen, abonnieren Sie `$aws/certificates/create/payload-format/rejected`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

#### CreateKeysAndCertificate Fehler Payload
<a name="create-keys-cert-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Welcher Statuscode gesendet wird

`errorCode`  
Der Fehlercode.

`errorMessage`  
Die Fehlermeldung.

## RegisterThing
<a name="register-thing"></a>

Stellt ein Objekt anhand einer vordefinierten Vorlage bereit.

### RegisterThing Anfrage
<a name="register-thing-request"></a>

Veröffentlichen Sie eine Nachricht unter `$aws/provisioning-templates/templateName/provision/payload-format`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

`templateName`  
Der Name der Bereitstellungsvorlage.

#### RegisterThing Nutzlast anfordern
<a name="register-thing-request-payload"></a>

```
{
    "certificateOwnershipToken": "string",
    "parameters": {
        "string": "string",
        ...
    }
}
```

`certificateOwnershipToken`  
Das Token zum Nachweis der Inhaberschaft des Zertifikats. AWS IoT generiert das Token, wenn Sie ein Zertifikat über MQTT erstellen.

`parameters`  
Optional. Schlüssel-Wert-Paare vom Gerät, die von den [Pre-Provisioning-Hooks](pre-provisioning-hook.md) verwendet werden, um die Registrierungsanforderung auszuwerten.

### RegisterThing Antwort
<a name="register-thing-response"></a>

Abonnieren Sie `$aws/provisioning-templates/templateName/provision/payload-format/accepted`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

`templateName`  
Der Name der Bereitstellungsvorlage.

#### RegisterThing Nutzlast der Antwort
<a name="register-thing-response-payload"></a>

```
{
    "deviceConfiguration": {
        "string": "string",
        ...
    },
    "thingName": "string"
}
```

`deviceConfiguration`  
Die in der Vorlage definierte Gerätekonfiguration.

`thingName`  
Der Name des IoT-Objekts, das während der Bereitstellung erstellt wurde.

### RegisterThing Fehlerantwort
<a name="register-thing-error"></a>

Um Fehlerantworten zu empfangen, abonnieren Sie `$aws/provisioning-templates/templateName/provision/payload-format/rejected`.

`payload-format`  
Das Nachrichtennutzlastformat ist `cbor` oder `json`.

`templateName`  
Der Name der Bereitstellungsvorlage.

#### RegisterThing Payload für die Fehlerantwort
<a name="register-thing-error-payload"></a>

```
{
    "statusCode": int,
    "errorCode": "string",
    "errorMessage": "string"
}
```

`statusCode`  
Welcher Statuscode gesendet wird

`errorCode`  
Der Fehlercode.

`errorMessage`  
Die Fehlermeldung.