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.
Installieren Sie die AWS IoT Greengrass Core-Software
Die AWS IoT Greengrass Core-Software erweitert die AWS Funktionalität auf ein AWS IoT Greengrass Kerngerät, sodass lokale Geräte lokal auf die von ihnen generierten Daten reagieren können.
AWS IoT Greengrass bietet mehrere Optionen für die Installation der AWS IoT Greengrass Core-Software:
AWS IoT Greengrass bietet auch containerisierte Umgebungen, in denen die AWS IoT Greengrass Core-Software ausgeführt wird.
Laden Sie das AWS IoT Greengrass Core-Softwarepaket herunter und extrahieren Sie es
Wählen Sie die AWS IoT Greengrass Core-Software für Ihre Plattform aus, um sie als Datei tar.gz herunterzuladen und auf Ihr Gerät zu extrahieren. Sie können aktuelle Versionen der Software herunterladen. Weitere Informationen finden Sie unter AWS IoT Greengrass Kernsoftware.
Ausführen des Greengrass Device Setup-Skripts
Führen Sie das Greengrass-Geräte-Setup aus, um Ihr Gerät zu konfigurieren, die neueste AWS IoT Greengrass Core-Softwareversion zu installieren und innerhalb weniger Minuten eine Hello World Lambda-Funktion bereitzustellen. Weitere Informationen finden Sie unter Schnellstart: Greengrass-Geräteeinrichtung.
Installieren Sie die AWS IoT Greengrass Core-Software aus einem APT-Repository
Wichtig
Ab dem 11. Februar 2022 können Sie die AWS IoT Greengrass Core-Software nicht mehr über ein APT-Repository installieren oder aktualisieren. Auf Geräten, auf denen Sie das AWS IoT Greengrass Repository hinzugefügt haben, müssen Sie das Repository aus der Quellenliste entfernen. Geräte, auf denen die Software aus dem APT-Repository ausgeführt wird, funktionieren weiterhin normal. Wir empfehlen, dass Sie die AWS IoT Greengrass Core-Software mithilfe von Tar-Dateien aktualisieren.
Das von bereitgestellte APT-Repository AWS IoT Greengrass umfasst die folgenden Pakete:
-
aws-iot-greengrass-core
. Installiert die AWS IoT Greengrass Core-Software. -
aws-iot-greengrass-keyring
. Installiert die GnuPG-Schlüssel (GPG), die zum Signieren des AWS IoT Greengrass Paket-Repositorys verwendet werden.Mit dem Download dieser Software stimmen Sie der Greengrass Core-Software-Lizenzvereinbarung
zu.
Themen
Verwenden von systemd-Skripts zum Verwalten des Greengrass Daemon-Lebenszyklus
Das aws-iot-greengrass-core
Paket installiert auch systemd
Skripten, mit denen Sie den Lebenszyklus der AWS IoT Greengrass Core-Software (Daemon) verwalten können.
-
So starten Sie den Greengras-Daemon während des Boots:
systemctl enable greengrass.service
-
So starten Sie den Greengras-Daemon:
systemctl start greengrass.service
-
So halten Sie den Greengrass-Daemon an:
systemctl stop greengrass.service
-
So überprüfen Sie den Status des Greengras-Daemons:
systemctl status greengrass.service
Deinstallieren Sie die AWS IoT Greengrass Kernsoftware mithilfe des APT-Repositorys
Wenn Sie die AWS IoT Greengrass Kernsoftware deinstallieren, können Sie wählen, ob Sie die Konfigurationsinformationen der AWS IoT Greengrass Kernsoftware wie Gerätezertifikate, Gruppeninformationen und Protokolldateien beibehalten oder entfernen möchten.
Um die AWS IoT Greengrass Kernsoftware zu deinstallieren und die Konfigurationsinformationen beizubehalten
-
Führen Sie den folgenden Befehl aus, um die AWS IoT Greengrass Kernsoftwarepakete zu entfernen und die Konfigurationsinformationen im
/greengrass
Ordner beizubehalten.sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
Um die AWS IoT Greengrass Kernsoftware zu deinstallieren und die Konfigurationsinformationen zu entfernen
-
Führen Sie den folgenden Befehl aus, um die AWS IoT Greengrass Kernsoftwarepakete und die Konfigurationsinformationen aus dem zu entfernen
/greengrass folder
.sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
-
Entfernen Sie das AWS IoT Greengrass Core-Software-Repository aus Ihrer Quellenliste. Weitere Informationen finden Sie unter Entfernen Sie die Quellen des AWS IoT Greengrass Kern-Software-Repositorys.
Entfernen Sie die Quellen des AWS IoT Greengrass Kern-Software-Repositorys
Sie können die AWS IoT Greengrass Kern-Software-Repository-Quellen entfernen, wenn Sie die AWS IoT Greengrass Kernsoftware nicht mehr aus dem APT-Repository installieren oder aktualisieren müssen. Nach dem 11. Februar 2022 müssen Sie das Repository aus Ihrer Quellenliste entfernen, um Fehler bei der Ausführung zu vermeidenapt update
.
Um das APT-Repository aus der Quellenliste zu entfernen
-
Führen Sie die folgenden Befehle aus, um das AWS IoT Greengrass Core-Software-Repository aus der Quellenliste zu entfernen.
sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update
AWS IoT Greengrass In einem Docker-Container ausführen
AWS IoT Greengrass stellt ein Dockerfile und Docker-Images bereit, die es Ihnen erleichtern, die AWS IoT Greengrass Core-Software in einem Docker-Container auszuführen. Weitere Informationen finden Sie unter AWS IoT Greengrass Docker-Software.
Anmerkung
Sie können eine Docker-Anwendung auch auf einem Greengrass-Kerngerät ausführen. Verwenden Sie dazu den Greengrass-Docker-Anwendungsbereitstellungskonnektor.
Im Handumdrehen ausführen AWS IoT Greengrass
AWS IoT Greengrass Snap 1.11.x ermöglicht es Ihnen, eine eingeschränkte Version von AWS IoT Greengrass über praktische Softwarepakete zusammen mit allen erforderlichen Abhängigkeiten in einer containerisierten Umgebung auszuführen.
Am 31. Dezember 2023 AWS IoT Greengrass wird die Wartung für die AWS IoT Greengrass Kernsoftwareversion 1.11.x Snap, die auf snapcraft.io veröffentlicht ist, eingestellt.
Snap-Konzepte
Im Folgenden finden Sie wichtige Snap-Konzepte, die Ihnen helfen sollen, die Verwendung von AWS IoT Greengrass Snap zu verstehen:
- Channel
-
Eine Snap-Komponente, die definiert, welche Version eines Snaps installiert ist, und deren Aktualisierung überwacht wird. Snaps werden automatisch auf die neueste Version des aktuellen Kanals aktualisiert.
- Schnittstelle
-
Eine Snap-Komponente, die Zugriff auf Ressourcen wie Netzwerke und Benutzerdateien gewährt.
Um den AWS IoT Greengrass Snap auszuführen, müssen die folgenden Schnittstellen angeschlossen sein. Beachten Sie, dass die Verbindung zuerst hergestellt und niemals getrennt werden
greengrass-support-no-container
muss.- greengrass-support-no-container - hardware-observe - home-for-hooks - hugepages-control - log-observe - mount-observe - network - network-bind - network-control - process-control - system-observe
Die anderen Schnittstellen sind optional. Wenn Ihre Lambda-Funktionen Zugriff auf bestimmte Ressourcen benötigen, müssen Sie möglicherweise eine Verbindung zu den entsprechenden Schnittstellen herstellen.
- Aktualisieren
-
Snaps werden automatisch aktualisiert. Der
snapd
Daemon ist der Snap-Paketmanager, der standardmäßig viermal täglich nach Updates sucht. Jede Aktualisierungsprüfung wird als Aktualisierung bezeichnet. Wenn eine Aktualisierung erfolgt, stoppt der Daemon, der Snap wird aktualisiert und anschließend wird der Daemon neu gestartet.
Weitere Informationen finden Sie auf der Snapcraft-Website.
Was ist neu in AWS IoT Greengrass Snap v1.11.x
Im Folgenden wird beschrieben, was mit der Version 1.11.x des Snap neu und geändert wurde. AWS IoT Greengrass
-
Diese Version unterstützt nur den
snap_daemon
Benutzer, der als Benutzer-ID (UID) und Gruppe (GID) angezeigt wird.584788
-
Diese Version unterstützt nur nicht containerisierte Lambda-Funktionen.
Wichtig
Da nicht containerisierte Lambda-Funktionen denselben Benutzer (
snap_daemon
) gemeinsam nutzen müssen, sind die Lambda-Funktionen nicht voneinander isoliert. Weitere Informationen finden Sie unter Steuern der Ausführung von Greengrass Lambda-Funktionen mithilfe einer gruppenspezifischen Konfiguration. -
Diese Version unterstützt die Laufzeiten C, C++, Java 8, Node.js 12.x, Python 2.7, Python 3.7 und Python 3.8.
Anmerkung
Um redundante Python-Laufzeiten zu vermeiden, führen Lambda-Funktionen von Python 3.7 tatsächlich die Python 3.8-Laufzeit aus.
Erste Schritte mit Snap AWS IoT Greengrass
Das folgende Verfahren hilft Ihnen bei der Installation und Konfiguration des AWS IoT Greengrass Snaps auf Ihrem Gerät.
Voraussetzungen
Um den AWS IoT Greengrass Snap auszuführen, müssen Sie wie folgt vorgehen:
-
Führen Sie den AWS IoT Greengrass Snap auf einer unterstützten Linux-Distribution wie Ubuntu, Linux Mint, Debian und Fedora aus.
-
Installieren Sie den
snapd
Daemon auf Ihrem Gerät. Dersnapd
Daemon einschließlich dessnap
Tools verwaltet die Snap-Umgebung auf Ihrem Gerät.
Eine Liste der unterstützten Linux-Distributionen und Installationsanweisungen finden Sie in der Snap-Dokumentation unter Snapd installieren
Installieren und konfigurieren Sie den Snap AWS IoT Greengrass
Das folgende Tutorial zeigt Ihnen, wie Sie den AWS IoT Greengrass Snap auf Ihrem Gerät installieren und konfigurieren.
Anmerkung
-
Obwohl dieses Tutorial eine EC2 Amazon-Instance (x86 t2.micro Ubuntu 20.04) verwendet, können Sie den AWS IoT Greengrass Snap mit physischer Hardware wie einem Raspberry Pi ausführen.
-
Der
snapd
Daemon ist auf Ubuntu vorinstalliert.
-
Installieren Sie den
core18
Snap, indem Sie den folgenden Befehl im Terminal Ihres Geräts ausführen:sudo snap install core18
Der
core18
Snap ist ein Basis-Snap, der eine Laufzeitumgebung mit häufig verwendeten Bibliotheken bietet. Dieser Snap wurde mit Ubuntu 18.04 LTS erstellt. -
Führen Sie das Upgrade
snapd
durch, indem Sie den folgenden Befehl ausführen:sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
-
Führen Sie den
snap list
Befehl aus, um zu überprüfen, ob Sie den AWS IoT Greengrass Snap installiert haben.Die folgende Beispielantwort zeigt, dass dieser installiert
snapd
ist, aberaws-iot-greengrass
nicht.Name Version Rev Tracking Publisher Notes amazon-ssm-agent 3.0.161.0 2996 latest/stable/… aws✓ classic core 16-2.48 10444 latest/stable canonical✓ core core18 20200929 1932 latest/stable canonical✓ base lxd 4.0.4 18150 4.0/stable/… canonical✓ - snapd 2.48+git548.g929ccfb 10526 latest/edge canonical✓ snapd
-
Wählen Sie eine der folgenden Optionen, um AWS IoT Greengrass Snap 1.11.x zu installieren.
-
Führen Sie den folgenden Befehl aus, um den AWS IoT Greengrass Snap zu installieren:
sudo snap install aws-iot-greengrass
Beispielantwort:
aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
-
Führen Sie den folgenden Befehl aus, um von einer früheren Version auf v1.11.x zu migrieren oder auf die neueste verfügbare Patch-Version zu aktualisieren:
sudo snap refresh --channel=1.11.x aws-iot-greengrass
Wie andere Snaps verwendet der AWS IoT Greengrass Snap Kanäle, um Nebenversionen zu verwalten. Snaps werden automatisch auf die neueste verfügbare Version des aktuellen Kanals aktualisiert. Wenn Sie beispielsweise angeben
--channel=1.11.x
, wird Ihr AWS IoT Greengrass Snap auf Version 1.11.5 aktualisiert.Sie können den
snap info aws-iot-greengrass
Befehl ausführen, um die Liste der verfügbaren Kanäle für abzurufen. AWS IoT GreengrassBeispielantwort:
name: aws-iot-greengrass summary: AWS supported software that extends cloud capabilities to local devices. publisher: Amazon Web Services (aws✓) store-url: https://snapcraft.io/aws-iot-greengrass contact: https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass license: Proprietary description: | AWS IoT Greengrass seamlessly extends AWS onto edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greenrgrass snap v1.11.0 enables you to run a limited version of AWS IoT Greengrass with all necessary dependencies in a containerized environment. The AWS IoT Greengrass snap doesn't support connectors and machine learning (ML) inference. By downloading this software you agree to the Greengrass Core Software License Agreement (https://s3-us-west-2.amazonaws.com/greengrass-release-license/greengrass-license-v1.pdf). For more information, see Run AWS IoT Greengrass in a snap (https://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html#gg-snap-support) in the AWS IoT Greengrass Developer. If you need help, try the AWS IoT Greengrass tag on AWS re:Post (https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) or connect with an AWS IQ expert (https://iq.aws.amazon.com/services/aws/greengrass). snap-id: SRDuhPJGj4XPxFNNZQKOTvURAp0wxKnd channels: latest/stable: 1.11.3 2021-06-15 (59) 111MB - latest/candidate: 1.11.3 2021-06-14 (59) 111MB - latest/beta: 1.11.3 2021-06-14 (59) 111MB - latest/edge: 1.11.3 2021-06-14 (59) 111MB - 1.11.x/stable: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/candidate: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/beta: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/edge: 1.11.3 2021-06-15 (59) 111MB -
-
-
Um auf bestimmte Ressourcen zuzugreifen, die Ihre Lambda-Funktionen benötigen, können Sie eine Verbindung zu zusätzlichen Schnittstellen herstellen.
Führen Sie den folgenden Befehl aus, um die Liste der von AWS IoT Greengrass Snap unterstützten Schnittstellen abzurufen:
snap connections aws-iot-greengrass
Beispielantwort:
Interface Plug Slot Notes camera aws-iot-greengrass:camera - - dvb aws-iot-greengrass:dvb - - gpio aws-iot-greengrass:gpio - - gpio-memory-control aws-iot-greengrass:gpio-memory-control - - greengrass-support aws-iot-greengrass:greengrass-support-no-container :greengrass-support - hardware-observe aws-iot-greengrass:hardware-observe :hardware-observe manual hardware-random-control aws-iot-greengrass:hardware-random-control - - home aws-iot-greengrass:home-for-greengrassd - - home aws-iot-greengrass:home-for-hooks :home manual hugepages-control aws-iot-greengrass:hugepages-control :hugepages-control manual i2c aws-iot-greengrass:i2c - - iio aws-iot-greengrass:iio - - joystick aws-iot-greengrass:joystick - - log-observe aws-iot-greengrass:log-observe :log-observe manual mount-observe aws-iot-greengrass:mount-observe :mount-observe manual network aws-iot-greengrass:network :network - network-bind aws-iot-greengrass:network-bind :network-bind - network-control aws-iot-greengrass:network-control :network-control - opengl aws-iot-greengrass:opengl :opengl - optical-drive aws-iot-greengrass:optical-drive :optical-drive - process-control aws-iot-greengrass:process-control :process-control - raw-usb aws-iot-greengrass:raw-usb - - removable-media aws-iot-greengrass:removable-media - - serial-port aws-iot-greengrass:serial-port - - spi aws-iot-greengrass:spi - - system-observe aws-iot-greengrass:system-observe :system-observe -
Wenn Sie in der Spalte Slot einen Bindestrich (-) sehen, ist die entsprechende Schnittstelle nicht verbunden.
-
Folgen Sie Installation der AWS IoT Greengrass Core-Software, um ein AWS IoT Ding, eine Greengrass-Gruppe, Sicherheitsressourcen, die eine sichere Kommunikation mit ermöglichen AWS IoT, und die AWS IoT Greengrass Core-Softwarekonfigurationsdatei zu erstellen. Die Konfigurationsdatei,
config.json
, enthält Konfigurationen, die für Ihren Greengrass-Kern spezifisch sind, z. B. den Speicherort der Zertifikatsdateien und den AWS IoT Gerätedatenendpunkt.Anmerkung
Wenn Sie die Datei auf ein anderes Gerät heruntergeladen haben, gehen Sie wie folgt vor, um die Dateien auf das AWS IoT Greengrass Kerngerät zu übertragen.
-
Stellen Sie für den AWS IoT Greengrass Snap sicher, dass Sie die Datei config.json aktualisieren, wie im Folgenden gezeigt:
-
Ersetzen Sie jede Instanz von
certificateId
durch die Zertifikat-ID im Namen des Zertifikats und der Schlüsseldateien. -
Wenn Sie ein anderes Amazon-Root-CA-Zertifikat als Amazon Root CA 1 heruntergeladen haben, ersetzen Sie jede Instanz von
AmazonRootCA1.pem
durch den Namen der Amazon-Root-CA-Datei.
{ ... "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/
certificateId
-private.pem.keyy" }, "IoTCertificate" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId
-private.pem.key", "certificatePath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/certificateId
-certificate.pem.crt" } }, "caPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/AmazonRootCA1.pem
" }, "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory", "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory" } -
-
Führen Sie den folgenden Befehl aus, um Ihr AWS IoT Greengrass Zertifikat und Ihre Konfigurationsdateien hinzuzufügen:
sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/
my-certs
Bereitstellung einer Lambda-Funktion
In diesem Abschnitt erfahren Sie, wie Sie eine vom Kunden verwaltete Lambda-Funktion im AWS IoT Greengrass Handumdrehen bereitstellen.
Wichtig
AWS IoT Greengrass Snap v1.11 unterstützt nur nicht containerisierte Lambda-Funktionen.
-
Führen Sie den folgenden Befehl aus, um den Daemon zu starten: AWS IoT Greengrass
sudo snap start aws-iot-greengrass
Beispielantwort:
Started.
Anmerkung
Wenn Sie eine Fehlermeldung erhalten, können Sie den
snap run
Befehl für eine detaillierte Fehlermeldung verwenden. Weitere Informationen zur Problembehandlung finden Sie unterFehler: Die folgenden Aufgaben können nicht ausgeführt werden: - Führen Sie den Dienstbefehl „start“ für die Dienste ["greengrassd"] von Snap "" aus ([start snap. aws-iot-greengrass aws-iot-greengrass.greengrassd.service] ist mit dem Exit-Status 1 fehlgeschlagen: Job für Snap. aws-iot-greengrass.greengrassd.service ist fehlgeschlagen, weil der Kontrollprozess mit einem Fehlercode beendet wurde. Siehe „Systemctl Status Snap“. aws-iot-greengrassEinzelheiten finden Sie unter „.greengrassd.service“ und „journalctl -xe“.). -
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Daemon ausgeführt wird:
snap services aws-iot-greengrass.greengrassd
Beispielantwort:
Service Startup Current Notes aws-iot-greengrass.greengrassd disabled active -
-
Folgen Sie Modul 3 (Teil 1): Lambda-Funktionen weiter AWS IoT Greengrass, um eine Hello World Lambda-Funktion zu erstellen und bereitzustellen. Bevor Sie jedoch die Lambda-Funktion bereitstellen, müssen Sie den nächsten Schritt abschließen.
-
Stellen Sie sicher, dass Ihre Lambda-Funktion als
snap_daemon
Benutzer und im Modus ohne Container ausgeführt wird. Gehen Sie in der AWS IoT Greengrass Konsole wie folgt vor, um die Einstellungen Ihrer Greengrass-Gruppe zu aktualisieren:-
Melden Sie sich bei der AWS IoT Greengrass Konsole an.
Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter Verwalten die Option Greengrass-Geräte und wählen Sie dann Gruppen (V1) aus.
-
Wählen Sie unter Greengrass-Gruppen die Zielgruppe aus.
-
Wählen Sie auf der Gruppenkonfigurationsseite im Navigationsbereich die Registerkarte Lambda-Funktionen aus.
-
Wählen Sie unter Standard-Laufzeitumgebung für Lambda-Funktionen die Option Bearbeiten aus, und gehen Sie wie folgt vor:
-
Wählen Sie für Standardsystembenutzer und -gruppe die Option Andere Benutzer-ID/Gruppen-ID aus, und geben Sie
584788
dann sowohl Systembenutzer-ID (Nummer) als auch Systemgruppen-ID (Nummer) ein. -
Wählen Sie für Containerisierung der Standard-Lambda-Funktion die Option Kein Container aus.
-
Wählen Sie Save (Speichern) aus.
-
-
Den Daemon stoppen AWS IoT Greengrass
Sie können den snap stop
Befehl verwenden, um einen Dienst zu beenden.
Führen Sie den folgenden Befehl aus, um den AWS IoT Greengrass Daemon zu beenden:
sudo snap stop aws-iot-greengrass
Der Befehl sollte zurückkehrenStopped.
.
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie den Snap erfolgreich gestoppt haben:
snap services aws-iot-greengrass.greengrassd
Beispielantwort:
Service Startup Current Notes aws-iot-greengrass.greengrassd disabled inactive -
Den Snap deinstallieren AWS IoT Greengrass
Führen Sie den folgenden Befehl aus, um den AWS IoT Greengrass Snap zu deinstallieren:
sudo snap remove aws-iot-greengrass
Beispielantwort:
aws-iot-greengrass removed
Problembehandlung beim AWS IoT Greengrass Snap
Verwenden Sie die folgenden Informationen, um Probleme mit dem AWS IoT Greengrass Snap zu beheben.
Es wurden Fehler „Zugriff verweigert“ angezeigt.
Lösung: Fehler mit verweigerter Berechtigung sind häufig auf fehlende Schnittstellen zurückzuführen. Für eine Liste der fehlenden Schnittstellen und detaillierte Informationen zur Fehlerbehebung können Sie das snappy-debug
Tool verwenden.
Führen Sie den folgenden Befehl aus, um das Tool zu installieren.
sudo snap install snappy-debug
Beispielantwort:
snappy-debug 0.36-snapd2.45.1 from Canonical✓ installed
Führen Sie den sudo snappy-debug
Befehl in einer separaten Terminalsitzung aus. Der Vorgang wird fortgesetzt, bis der Fehler „Zugriff verweigert“ auftritt.
Wenn Ihre Lambda-Funktion beispielsweise versucht, eine Datei im $HOME
Verzeichnis zu lesen, erhalten Sie möglicherweise die folgende Antwort:
INFO: Following '/var/log/syslog'. If have dropped messages, use:
INFO: $ sudo journalctl --output=short --follow --all | sudo snappy-debug
kernel.printk_ratelimit = 0
= AppArmor =
Time: Dec 6 04:48:26
Log: apparmor="DENIED" operation="mknod" profile="snap.aws-iot-greengrass.greengrassd" name="/home/ubuntu/my-file.txt" pid=12345 comm="touch" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
File: /home/ubuntu/my-file.txt (write)
Suggestion:
* add 'home' to 'plugs'
Dieses Beispiel zeigt, dass das Erstellen der /home/ubuntu/my-file.txt
Datei den Berechtigungsfehler verursacht hat. Es wird auch vorgeschlagen, dass Sie home
zu hinzufügenplugs
. Dieser Vorschlag ist jedoch nicht zutreffend. Die home-for-hooks
Stecker home-for-greengrassd
und haben nur Lesezugriff.
Weitere Informationen finden Sie unter Der Snappy-Debug-Snap
Fehler: Die folgenden Aufgaben können nicht ausgeführt werden: - Führen Sie den Dienstbefehl „start“ für die Dienste ["greengrassd"] von Snap "" aus ([start snap. aws-iot-greengrass aws-iot-greengrass.greengrassd.service] ist mit dem Exit-Status 1 fehlgeschlagen: Job für Snap. aws-iot-greengrass.greengrassd.service ist fehlgeschlagen, weil der Kontrollprozess mit einem Fehlercode beendet wurde. Siehe „Systemctl Status Snap“. aws-iot-greengrassEinzelheiten finden Sie unter „.greengrassd.service“ und „journalctl -xe“.)
Lösung: Dieser Fehler wird möglicherweise angezeigt, wenn der Befehl die snap start aws-iot-greengrass
Core-Software nicht starten kann. AWS IoT Greengrass
Führen Sie den folgenden Befehl aus, um weitere Informationen zur Problembehandlung zu erhalten:
sudo snap run aws-iot-greengrass.greengrassd
Beispielantwort:
Couldn't find /snap/aws-iot-greengrass/44/greengrass/config/config.json.
Dieses Beispiel zeigt, dass die config.json
Datei nicht gefunden werden AWS IoT Greengrass konnte. Sie könnten die Konfiguration und die Zertifikatsdateien überprüfen.
/var/snap/aws-iot-greengrass/current/ggc-write-directory/packages/1.11.5/rootfs/mergedist kein absoluter Pfad oder ein Symlink.
Lösung: Der AWS IoT Greengrass Snap unterstützt nur nicht containerisierte Lambda-Funktionen. Stellen Sie sicher, dass Sie Ihre Lambda-Funktionen im Modus ohne Container ausführen. Weitere Informationen finden Sie unter Überlegungen zur Auswahl der Lambda-Funktionscontainerisierung im AWS IoT Greengrass Version 1 Entwicklerhandbuch.
Der snapd-Daemon konnte nicht neu gestartet werden, nachdem Sie den Befehl sudo snap refresh snapd ausgeführt haben.
Lösung: Folgen Sie den Schritten 6 bis 8 unterInstallieren und konfigurieren Sie den Snap AWS IoT Greengrass, um das AWS IoT Greengrass Zertifikat und die Konfigurationsdateien zum Snap hinzuzufügen. AWS IoT Greengrass
Archivieren Sie eine AWS IoT Greengrass Core-Software-Installation
Wenn Sie auf eine neue Version der AWS IoT Greengrass Core-Software aktualisieren, können Sie die aktuell installierte Version archivieren. Dadurch bleibt Ihre aktuelle Installationsumgebung erhalten, sodass Sie eine neue Softwareversion auf derselben Hardware testen können. Dadurch wird auch ein Rollback auf Ihre archivierte Version vereinfacht.
So archivieren Sie die aktuelle Installation und installieren eine neue Version
-
Laden Sie das Installationspaket für die AWS IoT Greengrass Core-Software herunter, auf die Sie upgraden möchten.
-
Kopieren Sie das Paket in das Core-Zielgerät. Anweisungen zum Übertragen von Dateien finden Sie in diesem Schritt.
Anmerkung
Sie kopieren Ihre aktuellen Zertifikate, Schlüssel und die Konfigurationsdatei später in die neue Installation.
Führen Sie die Befehle in den folgenden Schritten in Ihrem Core-Geräte-Terminal aus.
-
Stellen Sie sicher, dass der Greengrass-Daemon auf dem Code-Gerät beendet wird.
So prüfen Sie, ob der Daemon ausgeführt wird:
ps aux | grep -E 'greengrass.*daemon'
Wenn die Ausgabe einen
root
-Eintrag für/greengrass/ggc/packages/
enthält, dann wird der Daemon ausgeführt.ggc-version
/bin/daemonAnmerkung
Dieses Verfahren wurde unter der Annahme geschrieben, dass die AWS IoT Greengrass Core-Software im
/greengrass
Verzeichnis installiert ist.-
So beenden Sie den -Daemon:
cd /greengrass/ggc/core/ sudo ./greengrassd stop
-
Verschieben Sie das aktuelle Greengrass-Stammverzeichnis in ein anderes Verzeichnis.
sudo mv /greengrass /greengrass_backup
-
Entpacken Sie die neue Software auf dem Core-Gerät. Ersetzen Sie die
version
Platzhalteros-architecture
und im Befehl.sudo tar –zxvf greengrass-
os-architecture
-version
.tar.gz –C / -
Kopieren Sie die archivierten Zertifikate, Schlüssel und die Konfigurationsdatei in die neue Installation.
sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
-
Starten Sie den Daemon:
cd /greengrass/ggc/core/ sudo ./greengrassd start
Jetzt können Sie eine Gruppenbereitstellung vornehmen, um die neue Installation zu testen. Bei einem Fehler können Sie die archivierte Installation wiederherstellen.
So stellen Sie die archivierte Installation wieder her
-
Beenden Sie den Daemon.
-
Löschen Sie das neue
/greengrass
-Verzeichnis. -
Verschieben Sie das Verzeichnis
/greengrass_backup
wieder zu/greengrass
. -
Starten Sie den -Daemon.