

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.

# Interacción con las sombras de los componentes
<a name="interact-with-shadows-in-components"></a>

Puede desarrollar componentes personalizados, incluidos los componentes de la función de Lambda, que utilicen el servicio de sombra local para leer y modificar documentos de sombra locales y documentos de sombra de dispositivo de cliente.

Los componentes personalizados interactúan con el servicio oculto local mediante las bibliotecas AWS IoT Greengrass Core IPC del SDK de componentes SDK para dispositivos con AWS IoT o el SDK de AWS IoT Greengrass componentes. El componente [administrador de sombras](shadow-manager-component.md) habilita el servicio de sombra local en su dispositivo principal.

Para implementar el componente de administrador de sombras en un dispositivo principal de Greengrass, [cree una implementación](create-deployments.md) que incluya el componente `aws.greengrass.ShadowManager`.

**nota**  
De forma predeterminada, la implementación del componente administrador de sombras solo permite las operaciones de sombras locales. AWS IoT Greengrass Para poder sincronizar la información sobre el estado de las sombras de los dispositivos principales o de cualquier sombra de los dispositivos cliente con los documentos de sombra de nube correspondientes AWS IoT Core, debe crear una actualización de configuración para el componente del administrador de sombras que incluya el `synchronize` parámetro. Para obtener más información, consulte [Sincronice las sombras de los dispositivos locales con AWS IoT Core](sync-shadows-with-iot-core.md).

**Topics**
+ [Recuperación y modificación de los estados de sombra](#interact-shadow-states)
+ [Reacción a los cambios en el estado de sombra](#react-shadow-events)

## Recuperación y modificación de los estados de sombra
<a name="interact-shadow-states"></a>

Las operaciones de IPC de sombra recuperan y actualizan la información sobre el estado de los documentos de sombra local. El componente administrador de sombras se encarga del almacenamiento de estos documentos de sombra en el dispositivo principal.

**Cómo modificar los estados de sombra local**

1. Agregue políticas de autorización a la receta de su componente personalizado para permitir que el componente reciba mensajes sobre temas de sombra local.

   Para ver ejemplos de políticas de autorización, consulte [Ejemplos de políticas de autorización de IPC de sombra local](ipc-local-shadows.md#ipc-local-shadow-authorization-policy-examples).

1. Utilice las operaciones de IPC de sombras para recuperar y modificar la información sobre el estado de sombras. Para obtener más información sobre el uso de operaciones de IPC de sombras en el código de los componentes, consulte [Interactúe con las sombras locales](ipc-local-shadows.md).

**nota**  <a name="note-requirement-enable-shadow-manager-client-devices"></a>
Para permitir que un dispositivo principal interactúe con las sombras de dispositivos de cliente, también debe configurar e implementar el componente puente MQTT. Para obtener más información, consulte [Habilitación del administrador de sombras para que se comunique con los dispositivos de cliente](work-with-client-device-shadows.md).

## Reacción a los cambios en el estado de sombra
<a name="react-shadow-events"></a>

Los componentes de Greengrass utilizan la publish/subscribe interfaz local para comunicarse en un dispositivo central. Para permitir que un componente personalizado reaccione ante los cambios en el estado de sombra, puede suscribirse a los publish/subscribe temas locales. Esto permite que el componente reciba mensajes sobre los temas de sombra local y, a continuación, actúe en función de esos mensajes. 

Los temas ocultos locales utilizan el mismo formato que los temas MQTT ocultos de AWS IoT dispositivos. Para obtener más información sobre temas de sombras, consulte [Temas MQTT de sombra de dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html) en la *Guía para desarrolladores de AWS IoT *.

**Reacción a los cambios en el estado de sombra local**

1. Agregue políticas de control de acceso a la receta de su componente personalizado para permitir que el componente reciba mensajes sobre temas de sombra local.

   Para ver ejemplos de políticas de autorización, consulte [Ejemplos de políticas de autorización de IPC de sombra local](ipc-local-shadows.md#ipc-local-shadow-authorization-policy-examples).

1. Para iniciar una acción personalizada en un componente, utilice las operaciones de IPC `SubscribeToTopic` para suscribirse a los temas de sombra sobre los que desee recibir mensajes. Para obtener más información sobre el uso de operaciones de publish/subscribe IPC locales en el código de los componentes, consulte. [Publicar/suscribir mensajes locales](ipc-publish-subscribe.md)

1. Para invocar una función Lambda, utilice la configuración de la fuente de eventos para proporcionar el nombre del tema paralelo y especificar que se trata de un publish/subscribe tema local. Para obtener más información sobre la creación de componentes de la función de Lambda, consulte [Ejecución de funciones de AWS Lambda](run-lambda-functions.md).

**nota**  <a name="note-requirement-enable-shadow-manager-client-devices"></a>
Para permitir que un dispositivo principal interactúe con las sombras de dispositivos de cliente, también debe configurar e implementar el componente puente MQTT. Para obtener más información, consulte [Habilitación del administrador de sombras para que se comunique con los dispositivos de cliente](work-with-client-device-shadows.md).