

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.

# So konfigurieren Sie den lokalen Ressourcenzugriff mit dem AWS-Managementkonsole
<a name="lra-console"></a>

Diese Funktion ist für AWS IoT Greengrass Core v1.3 und höher verfügbar.

Sie können Lambda-Funktionen so konfigurieren, dass sie sicher auf lokale Ressourcen auf dem Greengrass-Host-Core-Gerät zugreifen. Zu *lokalen Ressourcen* zählen Busse und Peripheriegeräte, die sich physisch auf dem Host befinden, oder Dateisystemvolumes auf dem Hostbetriebssystem. Weitere Informationen einschließlich Anforderungen und Einschränkungen finden Sie unter [Greifen Sie mit Lambda-Funktionen und Konnektoren auf lokale Ressourcen zu](access-local-resources.md).

In diesem Tutorial wird beschrieben, wie Sie mit dem den AWS-Managementkonsole Zugriff auf lokale Ressourcen konfigurieren, die auf einem AWS IoT Greengrass Core-Gerät vorhanden sind. Es enthält die folgenden allgemeinen Schritte:

1. [Erstellen Sie ein Bereitstellungspaket für Lambda-Funktionen](#lra-console-create-package)

1. [Eine Lambda-Funktion erstellen und veröffentlichen](#lra-console-create-function)

1. [Fügen Sie die Lambda-Funktion zur Gruppe hinzu](#lra-console-add-function)

1. [Hinzufügen einer lokalen Ressource zur Gruppe](#lra-console-create-resource)

1. [Hinzufügen von Abonnements zur Gruppe](#lra-console-add-subscription)

1. [Bereitstellen der Gruppe](#lra-console-deploy-group)

Ein Tutorial, das die verwendet AWS Command Line Interface, finden Sie unter[So konfigurieren Sie den lokalen Ressourcenzugriff über die AWS Befehlszeilenschnittstelle](lra-cli.md).

## Voraussetzungen
<a name="lra-console-prerequisites"></a>

Zum Durchführen dieses Tutorials benötigen Sie Folgendes:
+ Eine Greengrass-Gruppe und ein Greengrass-Kern (v1.3 oder höher). Weitere Informationen zum Erstellen einer Greengrass-Gruppe oder eines Greengrass-Cores finden Sie unter [Erste Schritte mit AWS IoT Greengrass](gg-gs.md).
+ Die folgenden Verzeichnisse auf dem Greengrass Core-Gerät:
  + /src/ LRAtest
  + /dest/ LRAtest

  Die Besitzergruppe dieser Verzeichnisse muss über Lese- und Schreibzugriff auf die Verzeichnisse verfügen. Sie können den folgenden Befehl verwenden, um Zugriff zu erteilen:

  ```
  sudo chmod 0775 /src/LRAtest
  ```

## Schritt 1: Erstellen Sie ein Lambda-Funktionsbereitstellungspaket
<a name="lra-console-create-package"></a>

In diesem Schritt erstellen Sie ein Lambda-Funktionsbereitstellungspaket, bei dem es sich um eine ZIP-Datei handelt, die den Code und die Abhängigkeiten der Funktion enthält. Sie laden auch das AWS IoT Greengrass Core-SDK herunter, um es als Abhängigkeit in das Paket aufzunehmen.

1. Kopieren Sie auf Ihrem Computer folgendes Python-Skript in eine lokale Datei mit dem Namen `lraTest.py`. Dies ist die App-Logik für die Lambda-Funktion.

   ```
   # Demonstrates a simple use case of local resource access.
   # This Lambda function writes a file test to a volume mounted inside
   # the Lambda environment under destLRAtest. Then it reads the file and 
   # publishes the content to the AWS IoT LRAtest topic. 
   
   import sys
   import greengrasssdk
   import platform
   import os
   import logging
   
   # Setup logging to stdout
   logger = logging.getLogger(__name__)
   logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
   
   # Create a Greengrass Core SDK client.
   client = greengrasssdk.client('iot-data')
   volumePath = '/dest/LRAtest'
   
   def function_handler(event, context):
       try:
           client.publish(topic='LRA/test', payload='Sent from AWS IoT Greengrass Core.')
           volumeInfo = os.stat(volumePath)
           client.publish(topic='LRA/test', payload=str(volumeInfo))
           with open(volumePath + '/test', 'a') as output:
               output.write('Successfully write to a file.')
           with open(volumePath + '/test', 'r') as myfile:
               data = myfile.read()
           client.publish(topic='LRA/test', payload=data)
       except Exception as e:
           logger.error('Failed to publish message: ' + repr(e))
       return
   ```

1. <a name="download-ggc-sdk"></a> Laden Sie von der [AWS IoT Greengrass Core SDK-Downloadseite](what-is-gg.md#gg-core-sdk-download) das AWS IoT Greengrass Core SDK für Python auf Ihren Computer herunter.

1. <a name="unzip-ggc-sdk"></a>Entpacken Sie das heruntergeladene Paket, um das SDK zu erhalten. Das SDK ist der `greengrasssdk`-Ordner.

1. Packen Sie die folgenden Elemente in einer ZIP-Datei mit dem Namen `lraTestLambda.zip`:
   + `lraTest.py`. App-Logik.
   + `greengrasssdk`. Erforderliche Bibliothek für alle Python-Lambda-Funktionen.

   Die `lraTestLambda.zip` Datei ist Ihr Lambda-Funktionsbereitstellungspaket. Jetzt sind Sie bereit, eine Lambda-Funktion zu erstellen und das Bereitstellungspaket hochzuladen.

## Schritt 2: Eine Lambda-Funktion erstellen und veröffentlichen
<a name="lra-console-create-function"></a>

In diesem Schritt verwenden Sie die AWS Lambda Konsole, um eine Lambda-Funktion zu erstellen und sie für die Verwendung Ihres Bereitstellungspakets zu konfigurieren. Anschließend veröffentlichen Sie eine Funktionsversion und erstellen einen Alias.

Erstellen Sie zunächst die Lambda-Funktion.

1. Wählen Sie in der AWS-Managementkonsole**Dienste** aus und öffnen Sie die AWS Lambda Konsole.

1. Wählen Sie **Funktionen**.

1. <a name="lambda-console-create-function"></a>Wählen Sie „**Funktion erstellen**“ und anschließend „**Von Grund auf neu erstellen**“.

1. Geben Sie im Abschnitt **Basic information (Basisinformationen)** folgende Werte ein:

   1. Geben Sie für **Function name** (Funktionsname) **TestLRA** ein.

   1. Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.

   1. Behalten Sie für **Berechtigungen** die Standardeinstellung bei. Dadurch wird eine Ausführungsrolle erstellt, die grundlegende Lambda-Berechtigungen gewährt. Diese Rolle wird nicht verwendet von AWS IoT Greengrass.

1. Wählen Sie **Funktion erstellen**.  
![\[Seite „Create function“ mit hervorgehobener Option „Create function“.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/create-function.png)

    

1. Laden Sie Ihr Lambda-Funktionsbereitstellungspaket hoch und registrieren Sie den Handler.

   1. <a name="lambda-console-upload"></a>Wählen Sie auf der Registerkarte **Code** unter **Codequelle** die Option **Hochladen von aus aus**. Wählen Sie in der Dropdownliste die **ZIP-Datei** aus.  
![\[Das Drop-down-Menü „Von hochladen“, wobei die ZIP-Datei hervorgehoben ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Wählen Sie **Hochladen** und dann Ihr `lraTestLambda.zip` Bereitstellungspaket aus. Wählen Sie dann **Save (Speichern)** aus.

   1. <a name="lambda-console-runtime-settings-para"></a>Wählen Sie auf der Registerkarte **Code** für die Funktion unter **Laufzeiteinstellungen** die Option **Bearbeiten** aus, und geben Sie dann die folgenden Werte ein.
      + Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.
      + Geben Sie unter **Handler** die Einstellung **lraTest.function\$1handler** ein.

   1. <a name="lambda-console-save-config"></a>Wählen Sie **Speichern**.
**Anmerkung**  
Die **Testtaste** auf der AWS Lambda Konsole funktioniert mit dieser Funktion nicht. Das AWS IoT Greengrass Core SDK enthält keine Module, die erforderlich sind, um Ihre Greengrass Lambda-Funktionen unabhängig in der AWS Lambda Konsole auszuführen. Diese Module (zum Beispiel`greengrass_common`) werden den Funktionen zur Verfügung gestellt, nachdem sie auf Ihrem Greengrass-Kern bereitgestellt wurden.

   Veröffentlichen Sie als Nächstes die erste Version Ihrer Lambda-Funktion. Anschließend erstellen Sie einen [Alias für die Version](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

   Greengrass-Gruppen können eine Lambda-Funktion nach Alias (empfohlen) oder nach Version referenzieren. Die Verwendung eines Alias erleichtert die Verwaltung von Codeaktualisierungen, da Sie Ihre Abonnementtabelle oder Gruppendefinition nicht ändern müssen, wenn der Funktionscode aktualisiert wird. Stattdessen verweisen Sie einfach mit dem Alias auf die neue Funktionsversion.

1. Wählen Sie im Menü **Actions (Aktionen)** die Option **Publish new version (Neue Version veröffentlichen)** aus.

1. Geben Sie unter **Version description (Versionsbeschreibung)** den Wert **First version** ein und wählen Sie dann **Publish (Veröffentlichen)** aus.

1. Wählen Sie auf der Konfigurationsseite für **TestLRA: 1** unter **Actions (Aktionen)** die Option **Create alias (Alias erstellen)** aus.

1. Geben Sie auf der Seite **Alias erstellen** als **Namen** den Wert ein**test**. Geben Sie für **Version** **1** ein. 
**Anmerkung**  
AWS IoT Greengrass unterstützt keine Lambda-Aliase für **\$1LATEST-Versionen**.

1. Wählen Sie **Erstellen** aus.  
![\[Seite „Create a new alias“ mit hervorgehobener Option „Create“.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/create-alias.png)

   Sie können jetzt die Lambda-Funktion zu Ihrer Greengrass-Gruppe hinzufügen.

## Schritt 3: Fügen Sie die Lambda-Funktion zur Greengrass-Gruppe hinzu
<a name="lra-console-add-function"></a>

In diesem Schritt fügen Sie die Funktion Ihrer Gruppe hinzu und konfigurieren dann den Lebenszyklus der Funktion.

Fügen Sie zunächst die Lambda-Funktion zu Ihrer Greengrass-Gruppe hinzu.

1. Erweitern Sie im Navigationsbereich der AWS IoT Konsole unter **Verwalten** die Option **Greengrass-Geräte** und wählen Sie dann **Gruppen (V1)** aus.

1. Wählen Sie die Greengrass-Gruppe aus, der Sie die Lambda-Funktion hinzufügen möchten.

1. Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Lambda-Funktionen** aus.

1. Wählen Sie im Abschnitt **Meine Lambda-Funktionen** die Option **Hinzufügen** aus.

1. Wählen Sie auf der Seite **Lambda-Funktion hinzufügen** die **Lambda-Funktion** aus. Wählen Sie **TestLRA**.

1. Wählen Sie die **Lambda-Funktionsversion**.

1. Wählen Sie im Abschnitt **Lambda-Funktionskonfiguration** die Optionen **Systembenutzer und -gruppe und** **Lambda-Funktionscontainerisierung** aus.

    

   Als Nächstes konfigurieren Sie den Lebenszyklus der Lambda-Funktion.

1. Wählen Sie für **Timeout** **30 seconds (30 Sekunden)**.
**Wichtig**  
Lambda-Funktionen, die lokale Ressourcen verwenden (wie in diesem Verfahren beschrieben), müssen in einem Greengrass-Container ausgeführt werden. Andernfalls wird die Bereitstellung der Funktion fehlschlagen. Weitere Informationen finden Sie unter [Containerization (Containerisierung)](lambda-group-config.md#lambda-function-containerization).

1. Wählen Sie unten auf der Seite **Lambda-Funktion hinzufügen** aus.

## Schritt 4: Hinzufügen einer lokalen Ressource zur Greengrass-Gruppe
<a name="lra-console-create-resource"></a>

In diesem Schritt fügen Sie eine lokale Volume-Ressource der Greengrass-Gruppe hinzu und erteilen der Funktion Lese- und Schreibzugriff auf die Ressource. Eine lokale Ressource verfügt über einen Gruppenebenen-Bereich. Sie können jeder Lambda-Funktion in der Gruppe Berechtigungen für den Zugriff auf die Ressource gewähren.

1. Wählen Sie auf der Gruppenkonfigurationsseite die Registerkarte **Ressourcen** aus.

1. Wählen Sie im Abschnitt **Lokale Ressourcen** die Option **Hinzufügen** aus.

1. Verwenden Sie auf der Seite **Lokale Ressource hinzufügen** die folgenden Werte.

   1. Geben Sie für **Resource name (Ressourcenname)** **testDirectory** ein.

   1. Wählen Sie für **Resource type (Ressourcentyp)** die Option **Volume** aus.

   1. Geben Sie für **Lokaler Gerätepfad** den Wert ein**/src/LRAtest**. Dieser Pfad muss auf dem Host-Betriebssystem vorhanden sein. 

      Der lokale Gerätepfad ist der lokale absolute Pfad der Ressource im Dateisystem des Kerngeräts. Dieser Speicherort befindet sich außerhalb des [Containers](lambda-group-config.md#lambda-function-containerization), indem die Funktion ausgeführt wird. Der Pfad darf nicht mit `/sys` beginnen.

   1. Geben Sie für **Destination path (Zielpfad)** **/dest/LRAtest** ein. Dieser Pfad muss auf dem Host-Betriebssystem vorhanden sein.

      Der Zielpfad ist der absolute Pfad der Ressource im Lambda-Namespace. Dieser Speicherort befindet sich innerhalb des Containers, indem die Funktion ausgeführt wird.

   1. Wählen Sie unter **Besitzer der Systemgruppe und Dateizugriffsberechtigung** die Option **Dateisystemberechtigungen der Systemgruppe, der die Ressource gehört, automatisch hinzufügen** aus.

      Mit der Option **Systemgruppenbesitzer und Dateizugriffsberechtigung** können Sie dem Lambda-Prozess zusätzliche Dateizugriffsberechtigungen gewähren. Weitere Informationen finden Sie unter [Dateizugriffsberechtigung des Gruppenbesitzers](access-local-resources.md#lra-group-owner).

1. Wählen Sie **Add resource (Ressource hinzufügen)** aus. Auf der Seite **Resources** wird die neue Ressource "testDirectory" angezeigt.

## Schritt 5: Hinzufügen von Abonnements zur Greengrass-Gruppe
<a name="lra-console-add-subscription"></a>

In diesem Schritt fügen Sie zwei Abonnements zur Greengrass-Gruppe hinzu. Diese Abonnements ermöglichen die bidirektionale Kommunikation zwischen der Lambda-Funktion und. AWS IoT

Erstellen Sie zunächst ein Abonnement für die Lambda-Funktion, an die Nachrichten gesendet werden sollen AWS IoT.

1. Wählen Sie auf der Seite mit der Gruppenkonfiguration die Registerkarte **Abonnements** aus.

1. Wählen Sie **Hinzufügen** aus.

1. Konfigurieren Sie auf der Seite **Abonnement erstellen** die Quelle und das Ziel wie folgt:

   1. Wählen Sie als **Quelltyp** die Option **Lambda-Funktion** und dann **TestLRA** aus.

   1. Wählen Sie als **Zieltyp** **Service** und dann **IoT Cloud** aus.

   1. Geben Sie **LRA/test** als **Themenfilter** Folgendes ein und wählen Sie dann **Abonnement erstellen** aus.

1. Auf der Seite **Subscriptions** wird das neue Abonnement angezeigt.

    

   Als Nächstes konfigurieren Sie ein Abonnement, das die Funktion von AWS IoT aufruft.

1. Wählen Sie auf der Seite **Subscriptions** die Option **Add Subscription** aus.

1. Konfigurieren Sie auf der Seite **Select your source and target** die Quelle und das Ziel wie folgt:

   1. Wählen Sie als **Quelltyp** **Lambda-Funktion** und dann **IoT Cloud** aus.

   1. Wählen Sie als **Zieltyp** **Service** und dann **TestLRA** aus.

   1. Wählen Sie **Weiter** aus.

1. Geben Sie auf der Seite **Filter your data with a topic (Filtern Sie Ihre Daten nach einem Thema.)** für **Topic filter (Themenfilter)** **invoke/LRAFunction** ein und wählen Sie dann **Next (Weiter)**.

1. Wählen Sie **Finish** (Abschließen). Auf der Seite **Subscriptions** werden die beiden Abonnements angezeigt.

## Schritt 6: Stellen Sie die Gruppe bereit AWS IoT Greengrass
<a name="lra-console-deploy-group"></a>

In diesem Schritt stellen Sie die aktuelle Version der Gruppendefinition bereit.

1. Stellen Sie sicher, dass der AWS IoT Greengrass Core läuft. Führen Sie im Raspberry Pi-Terminal die folgenden Befehle aus, falls nötig.

   1. 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/1.11.6/bin/daemon` enthält, dann wird der Daemon ausgeführt.
**Anmerkung**  
Die Version im Pfad hängt von der AWS IoT Greengrass Core-Softwareversion ab, die auf Ihrem Core-Gerät installiert ist.

   1. Um den Daemon zu starten:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. Wählen Sie auf der Seite mit der Gruppenkonfiguration die Option **Deploy** aus.
**Anmerkung**  
Die Bereitstellung schlägt fehl, wenn Sie Ihre Lambda-Funktion ohne Containerisierung ausführen und versuchen, auf angehängte lokale Ressourcen zuzugreifen.

1. Wenn Sie dazu aufgefordert werden, wählen Sie auf der Registerkarte **Lambda-Funktion** unter **System-Lambda-Funktionen** die Option **IP-Detektor** und dann **Bearbeiten** und dann **Automatisch** erkennen aus.

   Damit können Geräte automatisch Core-Verbindungsinformationen abrufen, z. B. die IP-Adresse, DNS und die Portnummer. Eine automatische Erkennung wird empfohlen, unterstützt aber AWS IoT Greengrass auch manuell angegebene Endpunkte. Sie werden nur bei der ersten Bereitstellung der Gruppe zur Angabe der Ermittlungsmethode aufgefordert.
**Anmerkung**  
Wenn Sie dazu aufgefordert werden, erteilen Sie die Erlaubnis, die [Greengrass-Servicerolle zu erstellen und sie Ihrer AWS-Konto aktuellen AWS-Region Rolle](service-role.md) zuzuordnen. Diese Rolle ermöglicht AWS IoT Greengrass den Zugriff auf Ihre Ressourcen in AWS Diensten.

   Auf der Seite **Deployments** werden der Zeitstempel, die Versions-ID und der Status der Bereitstellung angegeben. Nach Abschluss lautet der Bereitstellungsstatus **Abgeschlossen**.

   Hilfe zur Problembehebung finden Sie unter [Problembehebung AWS IoT Greengrass](gg-troubleshooting.md).

## Testen des lokalen Ressourcenzugriffs
<a name="lra-console-test-results"></a>

Nun können Sie prüfen, ob der Zugriff auf die lokale Ressource korrekt konfiguriert ist. Um zu testen, abonnieren Sie das Thema `LRA/test` und veröffentlichen Sie im `invoke/LRAFunction`-Thema. Der Test ist erfolgreich, wenn die Lambda-Funktion die erwartete Nutzlast an sendet. AWS IoT

1. Wählen Sie im Navigationsmenü der AWS IoT Konsole unter **Test** die Option **MQTT-Testclient** aus.

1. Geben ****LRA/test**Sie unter Thema abonnieren** für **Themenfilter** den Wert ein.

1. Wählen Sie unter **Zusätzliche Informationen** für die **Anzeige von MQTT-Payloads die Option Payloads** **als Zeichenketten anzeigen** aus.

1. Wählen Sie **Subscribe (Abonnieren)** aus. Ihre Lambda-Funktion veröffentlicht zum LRA/test Thema.  
![\[Seite „Subscriptions“ mit hervorgehobener Option „Subscribe to topic“.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/test-subscribe.png)

1. Geben **Sie unter In einem Thema veröffentlichen** den **Namen des Themas** ein**invoke/LRAFunction**, und wählen Sie dann **Veröffentlichen** aus, um Ihre Lambda-Funktion aufzurufen. Der Test ist erfolgreich, wenn auf der Seite die drei Nachrichtennutzlasten der Funktion angezeigt werden.  
![\[Die Abonnementseite, auf der das invoke/LRAFunction Thema und Im Thema veröffentlichen hervorgehoben sind und die Testergebnisse mit Nachrichtendaten angezeigt werden.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/test-publish.png)

Die von der Lambda-Funktion erstellte Testdatei befindet sich im `/src/LRAtest` Verzeichnis auf dem Greengrass-Core-Gerät. Obwohl die Lambda-Funktion in eine Datei im `/dest/LRAtest` Verzeichnis schreibt, ist diese Datei nur im Lambda-Namespace sichtbar. Sie können sie in einem regulären Linux-Namespace nicht sehen. Alle Änderungen am Zielpfad werden im Quellpfad des Dateisystems reflektiert.

Hilfe zur Problembehebung finden Sie unter [Problembehebung AWS IoT Greengrass](gg-troubleshooting.md).