

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Interaja com sombras em componentes
<a name="interact-with-shadows-in-components"></a>

Você pode desenvolver componentes personalizados, incluindo componentes da função do Lambda, que usam o serviço paralelo local para ler e modificar documentos paralelos locais e documentos paralelos do dispositivo cliente.

Os componentes personalizados interagem com o serviço paralelo local usando as bibliotecas AWS IoT Greengrass principais do IPC no AWS IoT Device SDK ou no SDK do AWS IoT Greengrass componente. O componente do [gerenciador de sombras](shadow-manager-component.md) ativa o serviço paralelo local em seu dispositivo principal.

Para implantar o componente shadow manager em um dispositivo principal do Greengrass, [crie uma implantação](create-deployments.md) que inclua o `aws.greengrass.ShadowManager` componente.

**nota**  
Por padrão, a implantação do componente do gerenciador de sombras permite somente operações de sombra locais. AWS IoT Greengrass Para permitir a sincronização das informações do estado da sombra das sombras do dispositivo principal ou de quaisquer sombras dos dispositivos cliente com os documentos de sombra da nuvem correspondentes em AWS IoT Core, você deve criar uma atualização de configuração para o componente do gerenciador de sombras que inclua o `synchronize` parâmetro. Para obter mais informações, consulte [Sincronize sombras do dispositivo local com AWS IoT Core](sync-shadows-with-iot-core.md).

**Topics**
+ [Recupere e modifique estados de sombra](#interact-shadow-states)
+ [Reaja às mudanças do estado da sombra](#react-shadow-events)

## Recupere e modifique estados de sombra
<a name="interact-shadow-states"></a>

As operações paralelas do IPC recuperam e atualizam informações de estado em documentos paralelos locais. O componente do gerenciador de sombras gerencia o armazenamento desses documentos paralelos em seu dispositivo principal.

**Para modificar estados de sombra locais**

1. Adicione políticas de autorização à fórmula do seu componente personalizado para permitir que o componente receba mensagens sobre tópicos paralelos locais.

   Por exemplo, políticas de autorização, consulte [Exemplos de políticas de autorização local de IPC paralelo](ipc-local-shadows.md#ipc-local-shadow-authorization-policy-examples).

1. Use as operações de IPC de sombra para recuperar e modificar as informações do estado de sombra. Para obter mais informações sobre o uso de operações de IPC de sombra no código do componente, consulte[Interagir com sombras locais](ipc-local-shadows.md).

**nota**  <a name="note-requirement-enable-shadow-manager-client-devices"></a>
Para permitir que um dispositivo principal interaja com as sombras do dispositivo cliente, você também deve configurar e implantar o componente de ponte MQTT. Para obter mais informações, consulte [Habilitar o Gerenciador de sombras para comunicação com dispositivos cliente](work-with-client-device-shadows.md).

## Reaja às mudanças do estado da sombra
<a name="react-shadow-events"></a>

Os componentes do Greengrass usam a publish/subscribe interface local para se comunicar em um dispositivo principal. Para permitir que um componente personalizado reaja às mudanças do estado da sombra, você pode se inscrever nos publish/subscribe tópicos locais. Isso permite que o componente receba mensagens sobre os tópicos paralelos locais e, em seguida, aja de acordo com essas mensagens. 

Os tópicos paralelos locais usam o mesmo formato dos tópicos MQTT de sombra do AWS IoT dispositivo. Para obter mais informações sobre tópicos de sombra, consulte [Device Shadow MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-mqtt.html) no *Guia do desenvolvedor do AWS IoT *.

**Para reagir às mudanças locais do estado da sombra**

1. Adicione políticas de controle de acesso à fórmula do seu componente personalizado para permitir que o componente receba mensagens sobre tópicos paralelos locais.

   Por exemplo, políticas de autorização, consulte [Exemplos de políticas de autorização local de IPC paralelo](ipc-local-shadows.md#ipc-local-shadow-authorization-policy-examples).

1. Para iniciar uma ação personalizada em um componente, use as operações `SubscribeToTopic` IPC para assinar os tópicos paralelos nos quais você deseja receber mensagens. Para obter mais informações sobre o uso de operações publish/subscribe IPC locais no código do componente, consulte[Publicar/assinar mensagens locais](ipc-publish-subscribe.md).

1. Para invocar uma função Lambda, use a configuração da fonte de eventos para fornecer o nome do tópico paralelo e especificar que é um publish/subscribe tópico local. Para obter informações sobre a criação de componentes de funções do Lambda, consulte [Executar funções AWS Lambda.](run-lambda-functions.md).

**nota**  <a name="note-requirement-enable-shadow-manager-client-devices"></a>
Para permitir que um dispositivo principal interaja com as sombras do dispositivo cliente, você também deve configurar e implantar o componente de ponte MQTT. Para obter mais informações, consulte [Habilitar o Gerenciador de sombras para comunicação com dispositivos cliente](work-with-client-device-shadows.md).