AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
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 IDT-Einstellungen zum Ausführen desAWS IoT GreengrassQualifizierungs-Paket
Bevor Sie Tests ausführen, müssen Sie Einstellungen für konfigurierenAWS-Anmeldeinformationen und Geräte auf Ihrem Hostcomputer.
Konfigurieren Ihrer AWS-Anmeldeinformationen
Sie müssen Ihre IAM-Benutzeranmeldeinformationen in der
file. Verwenden Sie die IDT-Anmeldeinformationen für AWS IoT Greengrass-Benutzer, die Sie in Erstellen und konfigurieren Sie ein AWS-Konto erstellt haben. Sie können Ihre Anmeldeinformationen auf zwei Arten angeben:<device-tester-extract-location>
/configs/config.json
-
Anmeldeinformationen-Datei
-
Umgebungsvariablen
IDT verwendet die gleiche Anmeldeinformationsdatei wie das AWS CLI. Weitere Informationen finden Sie unter Konfigurations- und Anmeldeinformationsdateien.
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 IhreAWS-Anmeldeinformationen fürcredentials
Datei im folgenden Format:
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
So konfigurieren Sie IDT fürAWS IoT Greengrasszu verwendenAWS-Anmeldeinformationen von Ihremcredentials
Datei, bearbeite deineconfig.json
Datei wie folgt:
{ "awsRegion": "us-west-2", "auth": { "method": "file", "credentials": { "profile": "default" } } }
Anmerkung
Wenn Sie dendefault
AWSÄndern Sie unbedingt den Profilnamen in Ihremconfig.json
file. Weitere Informationen hierzu finden Sie unter Benannte Profile.
Umgebungsvariablen sind Variablen, die vom Betriebssystem gepflegt und von Systembefehlen verwendet werden. Sie werden nicht gespeichert, wenn Sie die SSH-Sitzung schließen. IDT fürAWS IoT GreengrassSie können dieAWS_ACCESS_KEY_ID
undAWS_SECRET_ACCESS_KEY
-Umgebungsvariablen zum Speichern IhrerAWS-Anmeldeinformationen.
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
Zusätzlich zuAWS-Anmeldeinformationen, IDT fürAWS IoT Greengrassbenötigt Informationen zu den Geräten, 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
angeben:
<device_tester_extract_location>
/configs/device.json
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.
Anmerkung
Wenn Sie Ihr Board im AWS Partner-Gerätekatalog auflisten möchten, muss die hier angegebene SKU mit der SKU übereinstimmen, die Sie während des Einreichungsprozesses verwenden.
features
-
Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Alle Funktionen sind erforderlich.
os
undarch
-
Unterstützte Kombinationen von Betriebssystemen (OS) und Architektur:
-
linux
,x86_64
-
linux
,armv6l
-
linux
,armv7l
-
linux
,aarch64
-
ubuntu
,x86_64
-
openwrt
,armv7l
-
openwrt
,aarch64
Anmerkung
Wenn Sie IDT zum Testen verwendenAWS IoT GreengrassWenn in einem Docker-Container ausgeführt wird, wird nur die x86_64 Docker-Architektur unterstützt.
-
container
-
Überprüft, ob das Gerät alle Software- und Hardwareanforderungen zum Ausführen von Lambda-Funktionen im Containermodus auf einem Greengrass-Kern erfüllt.
Der gültige Wert ist
yes
oderno
aus. docker
-
Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um den Greengrass-Docker-Anwendungsbereitstellungs-Konnektor zum Ausführen von Containern verwenden zu können
Der gültige Wert ist
yes
oderno
aus. streamManagement
-
Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um den AWS IoT Greengrass-Stream-Manager ausführen zu können.
Der gültige Wert ist
yes
oderno
aus. hsi
-
Überprüft, ob die bereitgestellte freigegebene HSI-Bibliothek eine Schnittstelle mit dem Hardwaresicherheitsmodul (HSM) herstellen kann und die erforderlichen PKCS# 11-APIs korrekt implementiert. 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
yes
oderno
aus. ml
-
Ü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 von
mxnet
,tensorflow
,dlr
, undno
(z. B.mxnet
,mxnet,tensorflow
,mxnet,tensorflow,dlr
, oderno
) enthalten. mlLambdaContainerizationMode
-
Überprüft, ob das Gerät alle erforderlichen technischen Abhängigkeiten erfüllt, um die ML-Inferenz im Containermodus auf einem Greengrass-Gerät durchführen zu können.
Der gültige Wert ist
container
,process
, oderboth
aus. processor
-
Überprüft, ob das Gerät alle Hardwareanforderungen für den angegebenen Prozessortyp erfüllt.
Der gültige Wert ist
cpu
odergpu
aus.
Anmerkung
Wenn Sie den
container
,docker
,streamManager
,hsi
, oderml
-Funktion können Sie die entsprechende Option festlegenvalue
zuno
aus.Docker unterstützt nur Feature-Qualifikation für
streamManagement
undml
aus. machineLearning
-
Optional. Konfigurationsinformationen für ML-Qualifizierungstests Weitere Informationen finden Sie unter Konfigurieren von device.json für die ML-Qualifizierung.
hsm
-
Optional. Konfigurationsinformationen für Tests mit einem AWS IoT Greengrass-Hardware-Sicherheitsmodul (HSM). Andernfalls sollte die
hsm
-Eigenschaft weggelassen werden. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.Diese Eigenschaft gilt nur, wenn
connectivity.protocol
aufssh
festgelegt ist.hsm.p11Provider
-
Der absolute Pfad zur libdl-ladbaren Bibliothek der PKCS#11-Implementierung.
hsm.slotLabel
-
Das Slot-Label zur Identifizierung des Hardwaremoduls
hsm.slotUserPin
-
Die Benutzer-PIN, mit demAWS IoT GreengrassKern des Moduls.
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#11-Unterstützung unter OpenSSL zu aktivieren Wird vom AWS IoT Greengrass-OTA-Aktualisierungsagent 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 unddocker
für Docker-Container. connectivity.ip
-
Die IP-Adresse des zu testenden Geräts.
Diese Eigenschaft gilt nur, wenn
connectivity.protocol
aufssh
festgelegt ist. connectivity.containerId
-
Die Container-ID oder der Name des getesteten Docker-Containers.
Diese Eigenschaft gilt nur, wenn
connectivity.protocol
aufdocker
festgelegt ist. connectivity.auth
-
Authentifizierungsinformationen für die Verbindung.
Diese Eigenschaft gilt nur, wenn
connectivity.protocol
aufssh
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
aufpassword
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
aufpki
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
connectivity.protocol
wird auf gesetztssh
aus. greengrassLocation
-
Der Speicherort der AWS IoT Greengrass Core-Software auf Ihren Geräten.
Dieser Wert wird für physische Geräte nur verwendet, wenn Sie eine bestehende Installation von AWS IoT Greengrass verwenden. 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 aus dem von AWS IoT Greengrass bereitgestellten Docker-Image oder Dockerfile ausführen, setzen Sie diesen Wert auf
/greengrass
. kernelConfigLocation
-
Optional. Der Pfad zur Kernel-Konfigurationsdatei.AWS IoT Device Tester überprüft anhand dieser Datei, ob für die Geräte die erforderlichen Kernel-Funktionen aktiviert sind. Wenn nicht angeben, verwendet IDT die folgenden Pfade, um nach der Kernel-Konfigurationsdatei zu suchen:
/proc/config.gz
und/boot/config-
aus.AWS IoT Device Tester verwendet den ersten Pfad, der gefunden wird.<kernel-version>
Konfigurieren von device.json für die ML-Qualifizierung
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
gespeichert und enthalten Eigenschaften für die ML-Qualifizierung. Wenn Sie <device-tester-extract-location>
/configsdevice-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.
ml
im Arrayfeatures
-
Die ML-Frameworks, die Ihr Board unterstützt. Diese Eigenschaft erfordert IDT v3.1.0 oder höher.
-
Wenn Ihr Board nur ein Framework unterstützt, geben Sie das Framework an. Zum Beispiel:
{ "name": "ml", "value": "mxnet" }
-
Wenn Ihr Board mehrere Frameworks unterstützt, geben Sie die Frameworks als durch Kommas getrennte Liste an. Zum Beispiel:
{ "name": "ml", "value": "mxnet,tensorflow" }
-
mlLambdaContainerizationMode
im Arrayfeatures
-
Der Containerisierungsmodus, den Sie für die Tests verwenden möchten. Diese Eigenschaft erfordert IDT v3.1.0 oder höher.
-
Klicken Sie auf
process
um ML-Inferenzcode mit einer nicht containerisierten Lambda-Funktion auszuführen. Diese Option erfordert AWS IoT Greengrass v1.10.x oder höher. -
Klicken Sie auf
container
um ML-Inferenzcode mit einer containerisierten Lambda-Funktion auszuführen. -
Wählen Sie
both
, um ML-Inferenzcode mit beiden Modi auszuführen. Diese Option erfordert AWS IoT Greengrass v1.10.x oder höher.
-
processor
im Arrayfeatures
-
Gibt den Hardwarebeschleuniger an, den Ihr Board unterstützt. 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 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 mitresnet18
benannt werden muss. Weitere Informationen finden Sie unter Kompilieren des DLR-Modells.Anmerkung
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. Zum Ausführen von MXNet-Inferenztests sind auf einigen Geräten möglicherweise die folgenden Umgebungsvariablen erforderlich.
"environmentVariables": [ ... { "key": "PYTHONPATH", "value": "$MXNET_HOME/python:$PYTHONPATH" }, { "key": "MXNET_HOME", "value": "$HOME/mxnet/" }, ... ]
Anmerkung
Das Feld
value
kann je nach Ihrer MXNet-Installation variieren.Wenn Sie Lambda-Funktionen testen, die mitContainerisierungFügen Sie auf GPU-Geräten 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.
Anmerkung
Konfigurieren Sie die folgenden Schlüssel, wenn für die Funktion
mlLambdaContainerizationMode
container
oderboth
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ältLokale Ressourcenauf die 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.
-