

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.

# Einrichtung des Hub-Onboardings
<a name="managedintegrations-sdk-v2-cookbook-hubsetup"></a>

Führen Sie diese Einrichtungsschritte für jedes Hub-Gerät durch, bevor Sie mit dem Onboarding-Prozess für die Flottenbereitstellung beginnen. In diesem Abschnitt wird beschrieben, wie verwaltete Dinge erstellt, Verzeichnisstrukturen eingerichtet und die erforderlichen Zertifikate konfiguriert werden.

**Topics**
+ [Schritt 1: Registrieren Sie einen benutzerdefinierten Endpunkt](#managedintegrations-sdk-v2-cookbook-acc)
+ [Schritt 2: Erstellen Sie ein Bereitstellungsprofil](#managedintegrations-sdk-v2-cookbook-fleet-provision)
+ [Schritt 3: Erstellen Sie eine verwaltete Sache (Flottenbereitstellung)](#managedintegrations-sdk-v2-cookbook-managedthing)
+ [Schritt 4: Erstellen Sie die Verzeichnisstruktur](#managedintegrations-sdk-v2-cookbook-hubdir)
+ [Schritt 5: Fügen Sie dem Hub-Gerät Authentifizierungsmaterialien hinzu](#managedintegrations-sdk-v2-cookbook-copycert)
+ [Schritt 6: Erstellen Sie die Gerätekonfigurationsdatei](#managedintegrations-sdk-v2-cookbook-genconfig)
+ [Schritt 7: Kopieren Sie die Konfigurationsdatei auf Ihren Hub](#managedintegrations-sdk-v2-cookbook-copyconfig)

## Schritt 1: Registrieren Sie einen benutzerdefinierten Endpunkt
<a name="managedintegrations-sdk-v2-cookbook-acc"></a>

Erstellen Sie einen dedizierten Kommunikationsendpunkt, über den Ihre Geräte Daten mit Managed Integrations austauschen. Dieser Endpunkt stellt einen sicheren Verbindungspunkt für alle Nachrichten zwischen Geräten und der Cloud her, einschließlich Gerätebefehlen, Statusaktualisierungen und Benachrichtigungen.

**Um einen Endpunkt zu registrieren**
+ Verwenden Sie die [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API, um einen Endpunkt für die Kommunikation zwischen Geräten und verwalteten Integrationen zu erstellen.

  **RegisterCustomEndpointBeispiel anfordern**

  ```
  aws iot-managed-integrations register-custom-endpoint  
  ```

  **Antwort:**

  ```
  {
    [{{ACCOUNT-PREFIX}}]-ats.iot.{{AWS-REGION}}.amazonaws.com
  }
  ```
**Anmerkung**  
Speichern Sie die Endpunktadresse. Sie werden es für die future Gerätekommunikation benötigen.

  Verwenden Sie die `GetCustomEndpoint` API, um die Endpunktinformationen zurückzugeben.

  Weitere Informationen zur [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API und zur API finden Sie im *Referenzhandbuch zur Managed Integrations API. [GetCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCustomEndpoint.html)*

## Schritt 2: Erstellen Sie ein Bereitstellungsprofil
<a name="managedintegrations-sdk-v2-cookbook-fleet-provision"></a>

Ein Bereitstellungsprofil enthält die Sicherheitsanmeldedaten und Konfigurationseinstellungen, die Ihre Geräte benötigen, um eine Verbindung zu Managed Integrations herzustellen. 

**Um ein Flottenbereitstellungsprofil zu erstellen**
+ <a name="managedintegrations-sdk-v2-cookbook-provisioning"></a>Rufen Sie die [CreateProvisioningProfile](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateProvisioningProfile.html)API auf, um Folgendes zu generieren:
  + Eine Bereitstellungsvorlage, die die Verbindungseinstellungen für Geräte definiert
  + Ein Anspruchszertifikat und ein privater Schlüssel für die Geräteauthentifizierung
**Wichtig**  
Bewahren Sie das Anspruchszertifikat, den privaten Schlüssel und die Vorlagen-ID sicher auf. Sie benötigen diese Anmeldeinformationen, um Geräte in Managed Integrations einzubinden. Wenn Sie diese Anmeldeinformationen verlieren, müssen Sie ein neues Provisioning-Profil erstellen.

**`CreateProvisioningProfile`Beispiel für eine Anfrage**

```
aws iot-managed-integrations create-provisioning-profile \
    --provisioning-type FLEET_PROVISIONING \
    --name PROFILE_NAME
```

**Antwort:**

```
{
"Arn":"arn:aws:iotmanagedintegrations:{{AWS-REGION}}:{{ACCOUNT-ID}}:provisioning-profile/{{PROFILE-ID}}",
    "ClaimCertificate":
  "-----BEGIN CERTIFICATE-----
  MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE=
  -----END CERTIFICATE-----",
    "ClaimCertificatePrivateKey":
  "-----BEGIN RSA PRIVATE KEY-----
  MIICiTCCAfICCQ...3rrszlaEXAMPLE=
 -----END RSA PRIVATE KEY-----",
    "Id": "{{PROFILE-ID}}",
    "{{PROFILE-NAME}}",
         "ProvisioningType": "FLEET_PROVISIONING"
}
```

## Schritt 3: Erstellen Sie eine verwaltete Sache (Flottenbereitstellung)
<a name="managedintegrations-sdk-v2-cookbook-managedthing"></a>

Verwenden Sie die `CreateManagedThing` API, um ein verwaltetes Ding für Ihr Hub-Gerät zu erstellen. Jeder Hub benötigt sein eigenes verwaltetes Ding mit einzigartigen Authentifizierungsmaterialien. Weitere Informationen zur API finden Sie in der [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)*API-Referenz* für verwaltete Integrationen.

Wenn Sie ein verwaltetes Ding erstellen, geben Sie die folgenden Parameter an:
+ `Role`: Setzen Sie diesen Wert `CONTROLLER` für Hubs, die Command and Control nicht unterstützen, auf, andernfalls auf`DEVICE`.
+ `AuthenticationMaterialType`: Setzen Sie diesen Wert auf`WIFI_SETUP_QR_BAR_CODE`.
+ `AuthenticationMaterial`: Schließt die folgenden Felder ein. Sie können eines `UPC` oder `EAN` aber nicht beide verwenden.
  + `SN`: Die eindeutige Seriennummer für dieses Gerät
  + `UPC`: Der universelle Produktcode für dieses Gerät
  + `EAN`: Die internationale Artikelnummer für dieses Gerät

**Wichtig**  
Jedes Gerät muss eine eindeutige Seriennummer (SN) in seinem Authentifizierungsmaterial haben.

**`CreateManagedThing`Beispiel für eine Anfrage**:

```
{ 
 "Role": "CONTROLLER",
 "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE",
 "AuthenticationMaterial": "SN:123456789524;UPC:829576019524"
}
```

Weitere Informationen finden Sie [CreateManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateManagedThing.html)in der *API-Referenz* für verwaltete Integrationen.

### (Optional) Holen Sie sich ein verwaltetes Ding
<a name="managedintegrations-sdk-v2-cookbook-managedthing-get"></a>

`PRE_ASSOCIATED`Bevor Sie fortfahren können, muss das `ProvisioningStatus` von Ihrem verwalteten Objekt vorhanden sein. Weitere Informationen finden Sie ProvisioningStatus unter [Gerätebereitstellung](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html). Verwenden Sie die `GetManagedThing` API, um zu überprüfen, ob Ihr verwaltetes Ding vorhanden ist und für die Bereitstellung bereit ist. Weitere Informationen finden Sie [GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing.html)in der *API-Referenz* für verwaltete Integrationen.

## Schritt 4: Erstellen Sie die Verzeichnisstruktur
<a name="managedintegrations-sdk-v2-cookbook-hubdir"></a>

Erstellen Sie Verzeichnisse für Ihre Konfigurationsdateien und Zertifikate. Standardmäßig verwendet der Hub-Onboarding-Prozess die`/data/aws/iotmi/config/iotmi_config.json`.

Sie können in der Konfigurationsdatei benutzerdefinierte Pfade für Zertifikate und private Schlüssel angeben. In diesem Handbuch wird der Standardpfad verwendet`/data/aws/iotmi/certs`.

```
mkdir -p /data/aws/iotmi/config
mkdir -p /data/aws/iotmi/certs

/data/
    aws/
        iotmi/
            config/
            certs/
```

## Schritt 5: Fügen Sie dem Hub-Gerät Authentifizierungsmaterialien hinzu
<a name="managedintegrations-sdk-v2-cookbook-copycert"></a>

Kopieren Sie Zertifikate und Schlüssel auf Ihr Hub-Gerät und erstellen Sie dann eine gerätespezifische Konfigurationsdatei. Diese Dateien stellen während des Bereitstellungsprozesses eine sichere Kommunikation zwischen Ihrem Hub und Managed Integrations her.

**Um das Anforderungszertifikat und den Schlüssel zu kopieren**
+ Kopieren Sie diese Authentifizierungsdateien aus Ihrer `CreateProvisioningProfile` API-Antwort auf Ihr Hub-Gerät:
  + `claim_cert.pem`: Das Antragszertifikat (gilt für alle Geräte)
  + `claim_pk.key`: Der private Schlüssel für das Anspruchszertifikat

  Platzieren Sie beide Dateien im `/data/aws/iotmi/certs` Verzeichnis.
**Wichtig**  
 Achten Sie beim Speichern von Zertifikaten und privaten Schlüsseln im PEM-Format auf eine korrekte Formatierung, indem Sie Zeilenumbruchzeichen korrekt behandeln. Bei PEM-encoded Dateien `(\n)` müssen die Zeilenumbruchzeichen durch tatsächliche Zeilentrennzeichen ersetzt werden, da das bloße Speichern von maskierten Zeilenumbrüchen später nicht korrekt abgerufen werden kann. 
**Anmerkung**  
Wenn Sie sicheren Speicher verwenden, speichern Sie diese Anmeldeinformationen an Ihrem sicheren Speicherort statt im Dateisystem. Weitere Informationen finden Sie unter [Erstellen Sie einen benutzerdefinierten Zertifikatshandler für sicheren Speicher](managedintegrations-sdk-v2-cookbook-certhandler.md).

## Schritt 6: Erstellen Sie die Gerätekonfigurationsdatei
<a name="managedintegrations-sdk-v2-cookbook-genconfig"></a>

Erstellen Sie eine Konfigurationsdatei, die eindeutige Gerätekennungen, Zertifikatsspeicherorte und Bereitstellungseinstellungen enthält. Das SDK verwendet diese Datei beim Onboarding des Hubs, um Ihr Gerät zu authentifizieren, den Bereitstellungsstatus zu verwalten und Verbindungseinstellungen zu speichern.

**Anmerkung**  
Jedes Hub-Gerät benötigt eine eigene Konfigurationsdatei mit eindeutigen gerätespezifischen Werten.

Gehen Sie wie folgt vor, um Ihre Konfigurationsdatei zu erstellen oder zu ändern und sie auf den Hub zu kopieren.
+ <a name="managedintegrations-sdk-v2-cookbook-modifyconfig-fleet"></a>**Erstellen oder ändern Sie die Konfigurationsdatei (Fleet Provisioning)**. 

  Konfigurieren Sie diese erforderlichen Felder in der Gerätekonfigurationsdatei:
  + Zertifikatspfade

    1. `iot_claim_cert_path`: Speicherort Ihres Antragszertifikats (`claim_cert.pem`)

    1. `iot_claim_pk_path`: Ort Ihres privaten Schlüssels (`claim_pk.key`)

    1. Wird `SECURE_STORAGE` für beide Felder verwendet, wenn Sie den Secure Storage Cert Handler implementieren
  + Verbindungseinstellungen

    1. `fp_template_name`: Der `ProvisioningProfile` Name von früher.

    1. `endpoint_url`: Die URL Ihres Managed Integrations-Endpunkts aus der `RegisterCustomEndpoint` API-Antwort (gilt für alle Geräte in einer Region).
  + Gerätekennungen

    1. `SN`: Geräteseriennummer, die Ihrem `CreateManagedThing` API-Aufruf entspricht (einmalig pro Gerät)

    1. `UPC`Universeller Produktcode aus Ihrem `CreateManagedThing` API-Aufruf (gilt für alle Geräte dieses Produkts) 

  ```
  {
      "ro": {
          "iot_provisioning_method": "FLEET_PROVISIONING",
          "iot_claim_cert_path": "{{<SPECIFY_THIS_FIELD>}}",
          "iot_claim_pk_path": "{{<SPECIFY_THIS_FIELD>}}",
          "fp_template_name": "{{<SPECIFY_THIS_FIELD>}}",        
          "endpoint_url": "{{<SPECIFY_THIS_FIELD>}}",
          "SN": "{{<SPECIFY_THIS_FIELD>}}",
          "UPC": "{{<SPECIFY_THIS_FIELD>}}"        
      },
      "rw": {
          "iot_provisioning_state": "NOT_PROVISIONED"
      }
  }
  ```

### Inhalt der Konfigurationsdatei
<a name="managedintegrations-sdk-v2-cookbook-config-contents"></a>

Überprüfen Sie den Inhalt der `iotmi_config.json` Datei.


**Inhalt**  

| Key (Schlüssel) | Werte | Vom Kunden hinzugefügt? | Hinweise | 
| --- | --- | --- | --- | 
| iot\_provisioning\_method | FLEET\_PROVISIONING | Ja | Geben Sie die Bereitstellungsmethode an, die Sie verwenden möchten. | 
| iot\_claim\_cert\_path | Der Dateipfad, den Sie angeben oderSECURE\_STORAGE. Beispiel: /data/aws/iotmi/certs/claim\_cert.pem | Ja | Geben Sie den Dateipfad an, den Sie verwenden möchten oderSECURE\_STORAGE. | 
| iot\_claim\_pk\_path | Der Dateipfad, den Sie angeben oderSECURE\_STORAGE. Beispiel: /data/aws/iotmi/certs/claim\_pk.pem | Ja | Geben Sie den Dateipfad an, den Sie verwenden möchten oderSECURE\_STORAGE. | 
| fp\_template\_name | Der Name der Vorlage für die Flottenbereitstellung sollte dem Namen der Vorlage entsprechenProvisioningProfile, die zuvor verwendet wurde. | Ja | Entspricht dem Namen der DateiProvisioningProfile, die zuvor verwendet wurde | 
| endpoint\_url | Die Endpunkt-URL für Managed Integrations. | Ja | Ihre Geräte verwenden diese URL, um eine Verbindung zur Managed Integrations Cloud herzustellen. Verwenden Sie die [RegisterCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_RegisterCustomEndpoint.html)API, um diese Informationen zu erhalten. | 
| SN | Die Seriennummer des Geräts. Beispiel, AIDACKCEVSQ6C2EXAMPLE. | Ja | Sie müssen diese eindeutigen Informationen für jedes Gerät angeben. | 
| UPC | Universeller Produktcode des Geräts. Beispiel, 841667145075. | Ja | Sie müssen diese Informationen für das Gerät angeben. | 
| managed\_thing\_id | Die ID des verwalteten Objekts. | Nein | Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt. | 
| iot\_provisioning\_state | Der Bereitstellungsstatus. | Ja | Der Bereitstellungsstatus muss auf festgelegt werden. NOT\_PROVISIONED | 
| iot\_permanent\_cert\_path | Der IoT-Zertifikatspfad. Beispiel, /data/aws/iotmi/iot\_cert.pem. | Nein | Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt. | 
| iot\_permanent\_pk\_path | Der Dateipfad für den privaten IoT-Schlüssel. Beispiel, /data/aws/iotmi/iot\_pk.pem. | Nein | Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt. | 
| client\_id | Die Client-ID, die für MQTT-Verbindungen verwendet wird. | Nein | Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt, sodass sie von anderen Komponenten genutzt werden können. | 
| mqtt\_keep\_alive\_interval | Der Bereich liegt zwischen 30 und 1200, und die Einheiten sind in Sekunden angegeben. Der Standardwert ist 300. | Ja | Verwenden Sie dies, um ein Keep-Alive-Intervall für MQTT-Verbindungen festzulegen. | 
| event\_manager\_upper\_bound | Der Standardwert lautet 500. | Nein | Diese Informationen werden später im Rahmen des Onboarding-Prozesses nach der Hub-Bereitstellung hinzugefügt, sodass sie von anderen Komponenten genutzt werden können. | 

## Schritt 7: Kopieren Sie die Konfigurationsdatei auf Ihren Hub
<a name="managedintegrations-sdk-v2-cookbook-copyconfig"></a>

Kopieren Sie Ihre Konfigurationsdatei in `/data/aws/iotmi/config` oder Ihren benutzerdefinierten Verzeichnispfad. Sie geben diesen Pfad zur `HubOnboarding` Binärdatei während des Onboarding-Prozesses an.

**Für die Bereitstellung von Flotten**

```
/data/
    aws/
        iotmi/
            config/
                iotmi_config.json
            certs/
                claim_cert.pem
                claim_pk.key
```