

Aviso de fin de soporte: el 7 de octubre de 2026, AWS suspenderemos el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visita [Migrar desde AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cómo configurar el acceso a los recursos locales mediante Consola de administración de AWS
<a name="lra-console"></a>

Esta función está disponible para AWS IoT Greengrass Core v1.3 y versiones posteriores.

Puede configurar funciones de Lambda para obtener acceso seguro a los recursos locales en el dispositivo host del núcleo de Greengrass. Los *recursos locales* son los buses y periféricos que se encuentran físicamente en el mismo host o volúmenes del sistema de archivos del sistema operativo del host. Para obtener más información, incluidos los requisitos y las restricciones, consulte [Acceder a recursos locales con conectores y funciones de Lambda](access-local-resources.md).

En este tutorial se describe cómo utilizarla Consola de administración de AWS para configurar el acceso a los recursos locales que están presentes en un dispositivo AWS IoT Greengrass principal. Contiene los siguientes pasos de alto nivel:

1. [Creación de un paquete de implementación de la función de Lambda](#lra-console-create-package)

1. [Crear y publicar una función de Lambda.](#lra-console-create-function)

1. [Añadir la función de Lambda al grupo](#lra-console-add-function)

1. [Agregar un recurso local al grupo](#lra-console-create-resource)

1. [Agregar suscripciones al grupo](#lra-console-add-subscription)

1. [Implementar el grupo](#lra-console-deploy-group)

Para ver un tutorial que utiliza el AWS Command Line Interface, consulte[Cómo configurar el acceso a los recursos locales mediante la interfaz de línea de AWS comandos](lra-cli.md).

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

Para completar este tutorial, se necesita lo siguiente:
+ Un grupo de Greengrass y un núcleo de Greengrass (versión 1.3 o posterior). Para crear un grupo o dispositivo del núcleo de Greengrass, consulte [Empezar con AWS IoT Greengrass](gg-gs.md).
+ Los siguientes directorios están en el dispositivo del núcleo de Greengrass:
  + /src/ LRAtest
  + /dest/ LRAtest

  El grupo propietario de estos directorios debe tener acceso de lectura y escritura a los directorios. Puede utilizar el siguiente comando para conceder el acceso:

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

## Paso 1: Creación de un paquete de implementación de la función de Lambda
<a name="lra-console-create-package"></a>

En este paso, va a crear un paquete de implementación de la función de Lambda, que es un archivo ZIP que contiene el código de la característica y dependencias. También debe descargar el SDK AWS IoT Greengrass principal para incluirlo en el paquete como dependencia.

1. En su equipo, copie el siguiente script de Python en un archivo local denominado `lraTest.py`. Contiene la lógica de la aplicación para la función de Lambda.

   ```
   # 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> Desde la página de descargas del [SDK AWS IoT Greengrass principal](what-is-gg.md#gg-core-sdk-download), descarga el SDK AWS IoT Greengrass básico para Python en tu ordenador.

1. <a name="unzip-ggc-sdk"></a>Descomprima el paquete descargado para obtener el SDK. El SDK es la carpeta `greengrasssdk`.

1. Comprima los siguientes elementos en un archivo denominado `lraTestLambda.zip`:
   + `lraTest.py`. Lógica de la aplicación.
   + `greengrasssdk`. Biblioteca necesaria para todas las funciones de Lambda de Python.

   El archivo `lraTestLambda.zip` es el paquete de implementación de la función de Lambda. Ya está listo para crear una función de Lambda y cargar el paquete de implementación.

## Paso 2: Crear y publicar una función de Lambda
<a name="lra-console-create-function"></a>

En este paso, utilizará la AWS Lambda consola para crear una función Lambda y configurarla para que utilice su paquete de despliegue. A continuación, publicará una versión de la característica y creará un alias.

Primero, cree la función de Lambda.

1. En Consola de administración de AWS, elija **Servicios** y abra la AWS Lambda consola.

1. Elija **Funciones**.

1. <a name="lambda-console-create-function"></a>Elija **Crear función**, y, a continuación, elija **Autor desde cero**.

1. En la sección **Basic information (Información básica)**, especifique los siguientes valores.

   1. En **Nombre de la función**, introduzca **TestLRA**.

   1. En **Runtime** (Tiempo de ejecución), elija **Python 3.7**.

   1. En **Permisos**, mantenga la configuración predeterminada. Esto crea un rol de ejecución que otorga permisos Lambda básicos. Esta función no la utiliza AWS IoT Greengrass.

1. Elija **Crear función**.  
![\[La página Create function (Crear función) con Create function (Crear función) resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/create-function.png)

    

1. Cargue el paquete de implementación de la función de Lambda y registre el controlador.

   1. <a name="lambda-console-upload"></a>En la pestaña **Código**, en **Código fuente**, seleccione **Cargar desde**. En el menú desplegable, seleccione un **archivo .zip.**  
![\[La carga del menú desplegable con el archivo .zip resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Seleccione **Cargar** y, a continuación, elija su paquete de implementación de `lraTestLambda.zip`. A continuación, elija **Guardar**.

   1. <a name="lambda-console-runtime-settings-para"></a>En la pestaña **Código** de la función, en **Configuración de tiempo de ejecución**, elija **Editar** y, a continuación, introduzca los siguientes valores.
      + En **Runtime** (Tiempo de ejecución), elija **Python 3.7**.
      + En **Handler (Controlador)**, escriba **lraTest.function\$1handler**.

   1. <a name="lambda-console-save-config"></a>Seleccione **Save**.
**nota**  
El botón de **prueba** de la AWS Lambda consola no funciona con esta función. El SDK AWS IoT Greengrass principal no contiene los módulos necesarios para ejecutar las funciones de Greengrass Lambda de forma independiente en la consola. AWS Lambda Estos módulos (por ejemplo, `greengrass_common`) se suministran a las funciones una vez desplegados en el núcleo de Greengrass.

   A continuación, publique la primera versión de la función de Lambda. A continuación, cree un [alias para la versión](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

   Los grupos de Greengrass pueden hacer referencia a una función de Lambda por versión o alias (recomendado). El uso de un alias facilita la gestión de las actualizaciones del código porque no tiene que cambiar la tabla de suscripción o la definición del grupo cuando se actualiza el código de la función. En su lugar, basta con apuntar el alias a la nueva versión de la función.

1. En **Actions (Acciones)**, elija **Publish new version (Publicar nueva versión)**.

1. En **Version description (Descripción de versión)**, escriba **First version** y, a continuación, elija **Publish (Publicar)**.

1. En la página de configuración de **TestLRA: 1**, en el menú **Actions (Acciones)**, elija **Create alias (Crear alias)**.

1. En la página **Crear un alias**, introduzca **test** para **Nombre**. En **Version (Versión)**, escriba **1**. 
**nota**  
AWS IoT Greengrass **no admite los alias de Lambda para las versiones \$1LATEST.**

1. Seleccione **Crear**.  
![\[La página Create a new alias (Crear un nuevo alias) con Create (Crear) resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/create-alias.png)

   Ahora puede añadir la función de Lambda al grupo de Greengrass.

## Paso 3: Adición de la función de Lambda al grupo de Greengrass
<a name="lra-console-add-function"></a>

En este paso, va a añadir la función al grupo y va a configurar el ciclo de vida de la función.

Primero, añada la función de Lambda al grupo de Greengrass.

1. En el panel de navegación de la AWS IoT consola, en **Administrar**, expanda **los dispositivos Greengrass** y, a continuación, elija **Grupos (V1)**.

1. Elija el grupo de Greengrass en el que desea añadir la función de Lambda.

1. En la página de configuración del grupo, elija la pestaña **Funciones de Lambda**.

1. En la sección **Mis funciones de Lambda**, seleccione **Añadir**.

1. En la página **Añadir función de Lambda**, elija la **Función de Lambda**. Seleccione **TestLRA**.

1. Elija la **versión de la función de Lambda**.

1. En la sección **Configuración de la función de Lambda**, seleccione **Usuario y grupo del sistema** y **Creación de contenedores de la función de Lambda**.

    

   A continuación, configure el ciclo de vida de la función de Lambda.

1. En **Timeout (Tiempo de espera)**, elija **30 seconds (30 segundos)**.
**importante**  
Las funciones de Lambda que utilizan recursos locales (tal y como se describe en este procedimiento) deben ejecutarse en un contenedor de Greengrass. De lo contrario, si intenta implementar la función, se producirá un error en la implementación. Para obtener más información, consulte [Containerization (Creación de contenedores)](lambda-group-config.md#lambda-function-containerization).

1. En la parte inferior de la página, elija **Agregar función de Lambda**.

## Paso 4: Agregar un recurso local al grupo de Greengrass
<a name="lra-console-create-resource"></a>

En este paso, va a añadir un recurso de volumen local al grupo de Greengrass y va a conceder a la característica acceso de lectura y escritura al recurso. Un recurso local tiene un ámbito de nivel de grupo. Puede conceder permisos para que cualquier función de Lambda del grupo obtenga acceso al recurso.

1. En la página de configuración del grupo, elija la pestaña **Recursos**.

1. En la sección **Recursos locales**, seleccione **Añadir**.

1. En la página **Añadir un recurso local**, utilice los siguientes valores.

   1. En **Nombre del recurso**, escriba **testDirectory**.

   1. En **Resource type (Tipo de recurso)**, elija **Device (Dispositivo)**.

   1. En **Ruta del dispositivo local**, escriba **/src/LRAtest**. Esta ruta debe existir en el sistema operativo del host. 

      La ruta del dispositivo local es la ruta absoluta local del recurso en el sistema de archivos del dispositivo del núcleo. Esta ubicación se encuentra fuera del [contenedor](lambda-group-config.md#lambda-function-containerization) en el que se ejecuta la característica. La ruta no puede comenzar con `/sys`.

   1. En **Destination path (Ruta de destino)**, escriba **/dest/LRAtest**. Esta ruta debe existir en el sistema operativo del host.

      El valor de ruta de destino es la ruta completa del recurso en el espacio de nombres de Lambda. Esta ubicación se encuentra dentro del contenedor en el que se ejecuta la característica.

   1. En **Propietario del grupo del sistema y permiso de acceso a archivos**, seleccione **Añadir automáticamente permisos del sistema de archivos del grupo del sistema propietario del recurso**.

      La opción **Propietario del grupo del sistema y permiso de acceso a archivos** le permite conceder permisos adicionales de acceso a archivos al proceso de Lambda. Para obtener más información, consulte [Group owner file access permission (Permiso de acceso a los archivos del propietario del grupo)](access-local-resources.md#lra-group-owner).

1. Seleccione **Add resource** (Añadir recurso). La página **Resources** muestra el nuevo recurso testDirectory.

## Paso 5: Agregar suscripciones al grupo de Greengrass
<a name="lra-console-add-subscription"></a>

En este paso, va a añadir dos suscripciones al grupo de Greengrass. Estas suscripciones permiten la comunicación bidireccional entre la función Lambda y. AWS IoT

En primer lugar, cree una suscripción para que la función de Lambda envíe mensajes a AWS IoT.

1. En la página de configuración del grupo, elija la pestaña **Suscripciones**.

1. Elija **Añadir**.

1. En la página **Crear una suscripción**, configure el origen y el destino de la siguiente manera:

   1. Para **Tipo de origen**, elija **Función de lambda** y, a continuación, **TestLRA**.

   1. Para **Tipo de destino**, elija **Servicio** y, a continuación, **Nube de IoT**.

   1. **En **Filtro por temas**, introduzca **LRA/test** y, a continuación, seleccione Crear suscripción.**

1. La página **Subscriptions** muestra la nueva suscripción.

    

   A continuación, configure una suscripción que invoque la función desde. AWS IoT

1. En la página **Subscriptions**, elija **Add Subscription**.

1. En la página **Select your source and target**, configure el origen y el destino, de la siguiente manera:

   1. En **Tipo de origen**, elija la **función de Lambda** y, a continuación, elija **Nube de IoT**.

   1. Para **Tipo de destino**, elija **Servicio** y, a continuación, **TestLRA**.

   1. Elija **Siguiente**.

1. En la página **Filter your data with a topic (Filtrar los datos con un tema)**, en el campo **Topic filter (Filtro de temas)**, escriba **invoke/LRAFunction** y, a continuación, elija **Next (Siguiente)**.

1. Seleccione **Finalizar**. La página **Subscriptions** muestra ambas suscripciones.

## Paso 6: Implemente el grupo AWS IoT Greengrass
<a name="lra-console-deploy-group"></a>

En este paso, va a implementar la versión actual de la definición del grupo.

1. Asegúrese de que el AWS IoT Greengrass núcleo esté funcionando. Ejecute los siguientes comandos en el terminal de Raspberry Pi según sea necesario.

   1. Para comprobar si el daemon está en ejecución:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Si la salida contiene una entrada `root` para `/greengrass/ggc/packages/1.11.6/bin/daemon`, el daemon está en ejecución.
**nota**  
La versión de la ruta depende de la versión del software AWS IoT Greengrass principal que esté instalada en el dispositivo principal.

   1. Inicio de daemon:

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

1. En la página de configuración de grupo, elija **Implementar**.
**nota**  
La implementación produce un error si ejecuta la función de Lambda sin creación de contenedores e intenta acceder a los recursos locales asociados.

1. Si se le solicita, en la pestaña **Función de lambda**, en **Funciones de Lambda del sistema**, seleccione **Detector IP** y, a continuación, **Editar** y, a continuación, **Detectar automáticamente**.

   Esto permite a los dispositivos adquirir automáticamente la información de conexión del dispositivo principal, como la dirección IP, el DNS y el número de puerto. Se recomienda la detección automática, pero AWS IoT Greengrass también es compatible con los puntos finales especificados manualmente. Solo se le solicitará el método de detección la primera vez que se implemente el grupo.
**nota**  
Si se le solicita, conceda permiso para crear el [rol de servicio de Greengrass](service-role.md) y asócielo al suyo Cuenta de AWS en el actual. Región de AWS Este rol le permite acceder AWS IoT Greengrass a sus recursos en los AWS servicios.

   En la página **Deployments** (Implementaciones), se muestra la marca temporal, el ID de versión y el estado de la implementación. Al terminar, el estado de la implementación es **Completado**.

   Para obtener ayuda sobre la resolución de problemas, consulte [Solución de problemas AWS IoT Greengrass](gg-troubleshooting.md).

## Probar el acceso al recurso local
<a name="lra-console-test-results"></a>

Ahora puede verificar si el acceso al recurso local se ha configurado correctamente. Para probarlo, suscríbase al tema `LRA/test` y publique en el tema `invoke/LRAFunction`. La prueba se realiza correctamente si la función Lambda envía la carga útil esperada a. AWS IoT

1. En el menú de navegación de la AWS IoT consola, en **Probar, elija el cliente de prueba** **MQTT**.

1. En **Suscribirse a un tema**, en **Filtro de temas**, introduzca **LRA/test**.

1. En **Información adicional**, en **Visualización de cargas útiles en MQTT**, seleccione **Mostrar cargas útiles** como cadenas.

1. Seleccione **Suscribirse**. La función Lambda publica en el LRA/test tema.  
![\[La página Subscriptions (Suscripciones) con Subscribe to topic (Suscribirse al tema) resaltado.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/test-subscribe.png)

1. En **Publicar en un tema**, en el **nombre del tema****invoke/LRAFunction**, escriba y, a continuación, elija **Publicar** para invocar la función de Lambda. La prueba se realiza correctamente si la página muestra las tres cargas de mensajes de la característica.  
![\[La página de suscripciones con el invoke/LRAFunction tema y Publicar en el tema resaltados y los resultados de las pruebas con los datos del mensaje.\]](http://docs.aws.amazon.com/es_es/greengrass/v1/developerguide/images/lra-console/test-publish.png)

El archivo de prueba creado por la función de Lambda se encuentra en el directorio `/src/LRAtest` del dispositivo del núcleo de Greengrass. Aunque la función de Lambda escribe en un archivo del directorio `/dest/LRAtest`, ese archivo está visible solo en el espacio de nombres de Lambda. No puede verlo en un espacio de nombres normal de Linux. Cualquier cambio que se realice en la ruta de destino se refleja en ruta de origen del sistema de archivos.

Para obtener ayuda sobre la resolución de problemas, consulte [Solución de problemas AWS IoT Greengrass](gg-troubleshooting.md).