

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Konfigurieren Sie die IDT-Einstellungen, um die AWS IoT Greengrass Qualification Suite auszuführen
<a name="set-config"></a>

Bevor Sie Tests ausführen, müssen Sie Einstellungen für AWS Anmeldeinformationen und Geräte auf Ihrem Hostcomputer konfigurieren.

## Konfigurieren Sie Ihre AWS Anmeldeinformationen
<a name="cfg-aws-gg"></a>

Sie müssen Ihre IAM-Benutzeranmeldedaten in der `<device-tester-extract-location> /configs/config.json` Datei konfigurieren. Verwenden Sie die Anmeldeinformationen für den IDT für den AWS IoT Greengrass Benutzer, der in erstellt wurde. [Erstellen und konfigurieren Sie ein AWS-Konto](dev-tst-prereqs.md#config-aws-account-for-idt) Sie können Ihre Anmeldeinformationen auf zwei Arten angeben:
+ Anmeldeinformationsdatei
+ Umgebungsvariablen

### Konfigurieren Sie die AWS Anmeldeinformationen mit einer Anmeldeinformationsdatei
<a name="config-cred-file"></a>

IDT verwendet die gleiche Anmeldeinformationsdatei wie das AWS CLI. Weitere Informationen finden Sie unter [Konfigurations- und Anmeldeinformationsdateien](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html).

Der Speicherort der Datei mit den Anmeldeinformationen variiert je nach verwendetem Betriebssystem:
+ macOS Linux: `~/.aws/credentials`
+ Windows: `C:\Users\UserName\.aws\credentials`

Fügen Sie der `credentials` Datei Ihre AWS Anmeldeinformationen im folgenden Format hinzu:

```
[default]
aws_access_key_id = <your_access_key_id>
aws_secret_access_key = <your_secret_access_key>
```

Um IDT für die Verwendung von AWS Anmeldeinformationen aus Ihrer `credentials` Datei AWS IoT Greengrass zu konfigurieren, bearbeiten Sie Ihre `config.json` Datei wie folgt:

```
{
	"awsRegion": "us-west-2",
	"auth": {
		"method": "file",
		"credentials": {
			"profile": "default"
		}
	}
}
```

**Anmerkung**  
Wenn Sie das `default` AWS Profil nicht verwenden, ändern Sie unbedingt den Profilnamen in Ihrer `config.json` Datei. Weitere Informationen hierzu finden Sie unter [Benannte Profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html).

### Konfigurieren Sie AWS Anmeldeinformationen mit Umgebungsvariablen
<a name="config-env-vars"></a>

Umgebungsvariablen sind Variablen, die vom Betriebssystem gepflegt und von Systembefehlen verwendet werden. Sie werden nicht gespeichert, wenn Sie die SSH-Sitzung schließen. IDT for AWS IoT Greengrass kann die `AWS_SECRET_ACCESS_KEY` Umgebungsvariablen `AWS_ACCESS_KEY_ID` und zum Speichern Ihrer AWS Anmeldeinformationen verwenden.

Um diese Variablen auf Linux, macOS oder Unix festzulegen, verwenden Sie **export**:

```
export AWS_ACCESS_KEY_ID=<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

In Windows können Sie die Variablen mit **set** festlegen:

```
set AWS_ACCESS_KEY_ID=<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

Um den IDT so zu konfigurieren, dass er die Umgebungsvariablen verwendet, bearbeiten Sie den Abschnitt `auth` in Ihrer Datei `config.json`. Ein Beispiel:

```
{
	"awsRegion": "us-west-2",
	"auth": {
		"method": "environment"
	}
}
```

## Konfigurieren von device.json
<a name="device-config"></a>

Zusätzlich zu den AWS Anmeldeinformationen AWS IoT Greengrass benötigt IDT for Informationen über die Geräte, auf denen Tests ausgeführt werden (z. B. IP-Adresse, Anmeldeinformationen, Betriebssystem und CPU-Architektur).

Sie müssen diese Informationen mittels der Vorlage `device.json` in ` <device_tester_extract_location>/configs/device.json` angeben:

------
#### [ Physical device ]

```
[
  {
    "id": "<pool-id>",
    "sku": "<sku>",
    "features": [
      {
        "name": "os",
        "value": "linux | ubuntu | openwrt"
      },
      {
        "name": "arch",
        "value": "x86_64 | armv6l | armv7l | aarch64"
      },
      {
        "name": "container",
        "value": "yes | no"
      },
      {
        "name": "docker",
        "value": "yes | no"
      },
      {
        "name": "streamManagement",
        "value": "yes | no"
      },
      {
        "name": "hsi",
        "value": "yes | no"
      },
      {
        "name": "ml",
        "value": "mxnet | tensorflow | dlr | mxnet,dlr,tensorflow | no"
      },
      *********** Remove the section below if the device is not qualifying for ML **************,
      {
        "name": "mlLambdaContainerizationMode",
        "value": "container | process | both"
      },
      {
        "name": "processor",
        "value": "cpu | gpu"
      },
      ******************************************************************************************
    ],
    *********** Remove the section below if the device is not qualifying for HSI ***************
    "hsm": {
      "p11Provider": "/path/to/pkcs11ProviderLibrary",
      "slotLabel": "<slot_label>",
      "slotUserPin": "<slot_pin>",
      "privateKeyLabel": "<key_label>",
      "openSSLEngine": "/path/to/openssl/engine"
    },
    ********************************************************************************************
    *********** Remove the section below if the device is not qualifying for ML ****************
    "machineLearning": {
      "dlrModelPath": "/path/to/compiled/dlr/model",
      "environmentVariables": [
        {
          "key": "<environment-variable-name>",
          "value": "<Path:$PATH>"
        }
      ],
      "deviceResources": [
        {
          "name": "<resource-name>",
          "path": "<resource-path>",
          "type": "device | volume"
        }
      ]
    },
    ******************************************************************************************
    "kernelConfigLocation": "",
    "greengrassLocation": "",
    "devices": [
      {
        "id": "<device-id>",
        "connectivity": {
          "protocol": "ssh",
          "ip": "<ip-address>",
          "port": 22,
          "auth": {
            "method": "pki | password",
            "credentials": {
              "user": "<user-name>",
              "privKeyPath": "/path/to/private/key",
              "password": "<password>"
            }
          }
        }
      }
    ]
  }
]
```

**Anmerkung**  
Geben Sie `privKeyPath` nur an, wenn `method` auf `pki` gesetzt ist.  
Geben Sie `password` nur an, wenn `method` auf `password` gesetzt ist.

------
#### [ Docker container ]

```
[
  {
    "id": "<pool-id>",
    "sku": "<sku>",
    "features": [
      {
        "name": "os",
        "value": "linux | ubuntu | openwrt"
      },
      {
        "name": "arch",
        "value": "x86_64"
      },
      {
        "name": "container",
        "value": "no"
      },
      {
        "name": "docker",
        "value": "no"
      },
      {
        "name": "streamManagement",
        "value": "yes | no"
      },
      {
        "name": "hsi",
        "value": "no"
      },
      {
        "name": "ml",
        "value": "mxnet | tensorflow | dlr | mxnet,dlr,tensorflow | no"
      },
      *********** Remove the section below if the device is not qualifying for ML **************,
      {
        "name": "mlLambdaContainerizationMode",
        "value": "process"
      },
      {
        "name": "processor",
        "value": "cpu | gpu"
      },
      ******************************************************************************************
    ],
    *********** Remove the section below if the device is not qualifying for ML ****************
    "machineLearning": {
      "dlrModelPath": "/path/to/compiled/dlr/model",
      "environmentVariables": [
        {
          "key": "<environment-variable-name>",
          "value": "<Path:$PATH>"
        }
      ],
      "deviceResources": [
        {
          "name": "<resource-name>",
          "path": "<resource-path>",
          "type": "device | volume"
        }
      ]
    },
    ******************************************************************************************
    "kernelConfigLocation": "",
    "greengrassLocation": "",
    "devices": [
      {
        "id": "<device-id>",
        "connectivity": {
          "protocol": "docker",
          "containerId": "<container-name | container-id>",
          "containerUser": "<user>"
        }
      }
    ]
  }
]
```

------

Nachfolgend sind alle Pflichtfelder beschrieben:

`id`  
Eine benutzerdefinierte alphanumerische ID, die eine Sammlung von Geräten, den sogenannten *Gerätepool*, eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen über identische Hardware verfügen. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um die Workload zu parallelisieren. Mehrere Geräte werden verwendet, um verschiedene Tests auszuführen.

`sku`  
Ein alphanumerischer Wert, durch den das zu testende Gerät eindeutig identifiziert wird. Die SKU wird verwendet, um qualifizierte Boards nachzuverfolgen.  
Wenn Sie Ihr Motherboard im AWS Partner Gerätekatalog auflisten möchten, muss die hier angegebene SKU mit der SKU übereinstimmen, die Sie bei der Angebotserstellung verwenden.

`features`  
Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Alle Funktionen sind erforderlich.    
`os` und `arch`  
  
Unterstützte Kombinationen aus Betriebssystem (OS) und Architektur:  
+ `linux`, `x86_64`
+ `linux`, `armv6l`
+ `linux`, `armv7l`
+ `linux`, `aarch64`
+ `ubuntu`, `x86_64`
+ `openwrt`, `armv7l`
+ `openwrt`, `aarch64`
Wenn Sie IDT verwenden, um die AWS IoT Greengrass Ausführung in einem Docker-Container zu testen, wird nur die x86\$164-Docker-Architektur unterstützt.  
`container`  
<a name="description-container"></a>Überprüft, ob das Gerät alle Software- und Hardwareanforderungen erfüllt, um Lambda-Funktionen im Containermodus auf einem Greengrass-Kern auszuführen.  
Der gültige Wert ist oder. `yes` `no`  
`docker`  
<a name="description-docker"></a>Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um den Greengrass Docker Application Deployment Connector für die Ausführung von Containern zu verwenden  
Der gültige Wert ist oder. `yes` `no`  
`streamManagement`  
<a name="description-sm"></a>Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um AWS IoT Greengrass Stream Manager auszuführen.  
Der gültige Wert ist `yes` oder`no`.  
`hsi`  
<a name="description-hsi"></a>Überprüft, ob die bereitgestellte gemeinsam genutzte HSI-Bibliothek eine Schnittstelle zum Hardware-Sicherheitsmodul (HSM) herstellen kann, und implementiert das erforderliche PKCS \$111 korrekt. APIs Das HSM und die freigegebene Bibliothek müssen in der Lage sein, eine CSR zu signieren, TLS-Operationen auszuführen und die korrekten Schlüssellängen sowie den korrekten Algorithmus für den öffentlichen Schlüssel bereitzustellen.  
Der gültige Wert ist oder. `yes` `no`  
`ml`  
<a name="description-ml"></a>Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um die ML-Inferenz lokal ausführen zu können.  
Der gültige Wert kann eine beliebige Kombination aus`mxnet`, `tensorflow``dlr`, und sein `no` (z. B.`mxnet`,`mxnet,tensorflow`,`mxnet,tensorflow,dlr`, oder`no`).  
`mlLambdaContainerizationMode`  
Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um ML-Inferenz im Container-Modus auf einem Greengrass-Gerät durchzuführen.  
Der gültige Wert ist`container`,, `process` oder. `both`  
`processor`  
Überprüft, ob das Gerät alle Hardwareanforderungen für den angegebenen Prozessortyp erfüllt.  
Der gültige Wert ist `cpu` oder`gpu`.
Wenn Sie die `ml` Funktion`container`,,`docker`, oder nicht verwenden möchten `streamManager``hsi`, können Sie den entsprechenden Wert `value` auf festlegen`no`.  
Docker unterstützt nur die Funktionsqualifizierung für `streamManagement` und`ml`.

`machineLearning`  
Optional. Konfigurationsinformationen für ML-Qualifizierungstests Weitere Informationen finden Sie unter [Konfigurieren von device.json für die ML-Qualifizierung](#device-json-ml-qualification).

`hsm`  
Optional. Konfigurationsinformationen für Tests mit einem AWS IoT Greengrass Hardware Security Module (HSM). Andernfalls sollte die `hsm`-Eigenschaft weggelassen werden. Weitere Informationen finden Sie unter [Integration von Hardware-Sicherheit](hardware-security.md).  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.    
`hsm.p11Provider`  
Der absolute Pfad zur libdl-ladbaren Bibliothek der PKCS\$111-Implementierung.  
`hsm.slotLabel`  
Das Slot-Label zur Identifizierung des Hardwaremoduls  
`hsm.slotUserPin`  
Die Benutzer-PIN, die zur Authentifizierung des AWS IoT Greengrass Kerns gegenüber dem Modul verwendet wurde.  
`hsm.privateKeyLabel`  
Das Label zur Identifizierung des Schlüssels im Hardwaremodul.  
`hsm.openSSLEngine`  
Der absolute Pfad zur `.so`-Datei der OpenSSL-Engine, um die PKCS\$111-Unterstützung unter OpenSSL zu aktivieren Wird vom AWS IoT Greengrass OTA-Update-Agenten verwendet.

`devices.id`  
Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.

`connectivity.protocol`  
Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Derzeit sind die einzigen unterstützten Werte `ssh` für physische Geräte und `docker` für Docker-Container.

`connectivity.ip`  
Die IP-Adresse des zu testenden Geräts.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.

`connectivity.containerId`  
Die Container-ID oder der Name des getesteten Docker-Containers.  
<a name="connectivity-protocol-docker-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `docker` festgelegt ist.

`connectivity.auth`  
Authentifizierungsinformationen für die Verbindung.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.    
`connectivity.auth.method`  
Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.  
Unterstützte Werte sind:  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
Die für die Authentifizierung verwendeten Anmeldeinformationen.    
`connectivity.auth.credentials.password`  
Das Passwort für die Anmeldung am Gerät wird überprüft.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `password` festgelegt ist.  
`connectivity.auth.credentials.privKeyPath`  
Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung bei dem zu testenden Gerät verwendet wird.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `pki` festgelegt ist.  
`connectivity.auth.credentials.user`  
Der Benutzername für die Anmeldung bei dem zu testenden Gerät.  
`connectivity.auth.credentials.privKeyPath`  
Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung beim zu testenden Gerät verwendet wird.

`connectivity.port`  
Optional. Die Portnummer, die für SSH-Verbindungen verwendet werden soll.  
Der Standardwert ist 22.  
Diese Eigenschaft gilt nur, wenn sie auf gesetzt `connectivity.protocol` ist`ssh`.

`greengrassLocation`  
Der Speicherort der AWS IoT Greengrass Core-Software auf Ihren Geräten.  
Für physische Geräte wird dieser Wert nur verwendet, wenn Sie eine vorhandene Installation von verwenden AWS IoT Greengrass. Verwenden Sie dieses Attribut, um IDT anzuweisen, die auf Ihren Geräten installierte Version der AWS IoT Greengrass Core-Software zu verwenden.  
Wenn Sie Tests in einem Docker-Container über das Docker-Image oder die von bereitgestellte Docker-Datei ausführen AWS IoT Greengrass, setzen Sie diesen Wert auf. `/greengrass`

`kernelConfigLocation`  
Optional. Der Pfad zur Kernel-Konfigurationsdatei. AWS IoT Device Tester verwendet diese Datei, um zu überprüfen, ob auf den Geräten die erforderlichen Kernel-Funktionen aktiviert sind. Falls nicht angegeben, verwendet IDT die folgenden Pfade, um nach der Kernel-Konfigurationsdatei zu suchen: `/proc/config.gz` und`/boot/config-<kernel-version>`. AWS IoT Device Tester verwendet den ersten Pfad, den er findet.

## Konfigurieren von device.json für die ML-Qualifizierung
<a name="device-json-ml-qualification"></a>

In diesem Abschnitt werden die optionalen Eigenschaften für die ML-Qualifizierung in der Gerätekonfigurationsdatei beschrieben. Wenn Sie Tests für die ML-Qualifizierung ausführen möchten, müssen Sie die Eigenschaften für Ihren Anwendungsfall definieren.

Sie können die Vorlage `device-ml.json` verwenden, um die Konfigurationseinstellungen für Ihr Gerät zu definieren. Diese Vorlage enthält die optionalen ML-Eigenschaften. Sie können auch die Datei `device.json` verwenden und die Eigenschaften für die ML-Qualifizierung hinzufügen. Diese Dateien sind unter `<device-tester-extract-location>/configs` gespeichert und enthalten Eigenschaften für die ML-Qualifizierung. Wenn Sie `device-ml.json` verwenden, müssen Sie die Datei in `device.json` umbenennen, bevor Sie IDT-Tests ausführen.

Weitere Informationen zu Eigenschaften für die Gerätekonfiguration, die nicht für die ML-Qualifizierung gelten, finden Sie unter [Konfigurieren von device.json](#device-config).

 

`ml` im Array `features`  
Die ML-Frameworks, die Ihr Board unterstützt. <a name="idt-version-ml-qualification"></a>Diese Eigenschaft erfordert IDT v3.1.0 oder höher.  
+ Wenn Ihr Board nur ein Framework unterstützt, geben Sie das Framework an. Beispiel:

  ```
  {
      "name": "ml",
      "value": "mxnet"
  }
  ```
+ Wenn Ihr Board mehrere Frameworks unterstützt, geben Sie die Frameworks als durch Kommas getrennte Liste an. Beispiel:

  ```
  {
      "name": "ml",
      "value": "mxnet,tensorflow"
  }
  ```

`mlLambdaContainerizationMode` im Array `features`  
Der [Containerisierungsmodus](lambda-group-config.md#lambda-containerization-considerations), den Sie für die Tests verwenden möchten. <a name="idt-version-ml-qualification"></a>Diese Eigenschaft erfordert IDT v3.1.0 oder höher.  
+ Wählen Sie`process`, ob ML-Inferenzcode mit einer nicht containerisierten Lambda-Funktion ausgeführt werden soll. Für diese Option ist Version 1.10.x oder höher erforderlich. AWS IoT Greengrass 
+ Wählen Sie`container`, ob ML-Inferenzcode mit einer containerisierten Lambda-Funktion ausgeführt werden soll.
+ Wählen Sie `both`, um ML-Inferenzcode mit beiden Modi auszuführen. Für diese Option ist Version 1.10.x oder höher erforderlich AWS IoT Greengrass .

`processor` im Array `features`  
Gibt den Hardwarebeschleuniger an, den Ihr Board unterstützt. <a name="idt-version-ml-qualification"></a>Diese Eigenschaft erfordert IDT v3.1.0 oder höher.  
+ Wählen Sie `cpu`, wenn Ihr Board eine CPU als Prozessor verwendet.
+ Wählen Sie `gpu`, wenn Ihr Board eine GPU als Prozessor verwendet.

`machineLearning`  
Optional. Konfigurationsinformationen für ML-Qualifizierungstests <a name="idt-version-ml-qualification"></a>Diese Eigenschaft erfordert IDT v3.1.0 oder höher.    
`dlrModelPath`  
Erforderlich, um das Framework `dlr` verwenden zu können. Der absolute Pfad zu Ihrem kompilierten DLR-Modellverzeichnis, das mit `resnet18` benannt werden muss. Weitere Informationen finden Sie unter [Kompilieren des DLR-Modells](idt-ml-qualification.md#ml-qualification-dlr-compile-model).  
Im Folgenden sehen Sie einen Beispielpfad unter macOS: `/Users/<user>/Downloads/resnet18`.  
`environmentVariables`  
Ein Array von Schlüssel-Wert-Paaren, die Einstellungen dynamisch an ML-Inferenztests übergeben können. Optional für CPU-Geräte. In diesem Abschnitt können Sie Framework-spezifische Umgebungsvariablen hinzufügen, die für Ihren Gerätetyp erforderlich sind. Weitere Informationen zu diesen Anforderungen finden Sie auf der offiziellen Website des Frameworks oder des Geräts. Um beispielsweise MXNet Inferenztests auf einigen Geräten auszuführen, sind möglicherweise die folgenden Umgebungsvariablen erforderlich.  

```
"environmentVariables": [
    ...
    {
        "key": "PYTHONPATH",      
        "value": "$MXNET_HOME/python:$PYTHONPATH"    
    },
    {
        "key": "MXNET_HOME",
        "value": "$HOME/mxnet/"
    },
    ...
]
```
Das `value` Feld kann je nach Ihrer MXNet Installation variieren.
Wenn Sie Lambda-Funktionen testen, die mit [Containerisierung](lambda-group-config.md#lambda-containerization-considerations) auf GPU-Geräten ausgeführt werden, fügen Sie Umgebungsvariablen für die GPU-Bibliothek hinzu. Dadurch kann die GPU Berechnungen ausführen. Informationen zur Verwendung verschiedener GPU-Bibliotheken finden Sie in der offiziellen Dokumentation für die Bibliothek oder das Gerät.  
Konfigurieren Sie die folgenden Schlüssel, wenn für die Funktion `mlLambdaContainerizationMode` `container` oder `both` festgelegt ist

```
"environmentVariables": [
    {
        "key": "PATH",      
        "value": "<path/to/software/bin>:$PATH"    
    },
    {
        "key": "LD_LIBRARY_PATH",      
        "value": "<path/to/ld/lib>"    
    },
    ...
]
```  
`deviceResources`  
Erforderlich für GPU-Geräte. Enthält [lokale Ressourcen](access-local-resources.md#lra-resource-types), auf die über Lambda-Funktionen zugegriffen werden kann. Verwenden Sie diesen Abschnitt, um lokale Geräte- und Volume-Ressourcen hinzuzufügen.  
+ Geben Sie für Geräteressourcen `"type": "device"` an. Bei GPU-Geräten sollten die Geräteressourcen GPU-bezogene Gerätedateien unter `/dev` sein.
**Anmerkung**  
Das Verzeichnis `/dev/shm` stellt eine Ausnahme dar. Sie kann nur als eine Volume-Ressource konfiguriert werden.
+ Geben Sie für Volume-Ressourcen `"type": "volume"` an.