Interaja com sombras em componentes - AWS IoT Greengrass

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

Você pode desenvolver componentes personalizados, incluindo componentes da função 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 Core IPC noAWS IoT Device SDK. O componente do gerenciador de sombras 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 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 GreengrassPara 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 emAWS 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 ter mais informações, consulte Sincronize sombras do dispositivo local com AWS IoT Core.

Recupere e modifique estados de sombra

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 os estados de sombra locais
  1. Adicione políticas de autorização à receita 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.

  2. 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, consulteInteraja com sombras locais.

nota

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 shadow manager para se comunicar com dispositivos clientes.

Reaja às mudanças do estado da sombra

Os componentes do Greengrass usam a interface local de publicação/assinatura para se comunicarem em um dispositivo principal. Para permitir que um componente personalizado reaja às mudanças do estado de sombra, você pode se inscrever nos tópicos locais de publicação/assinatura. Isso permite que o componente receba mensagens sobre os tópicos paralelos locais e, em seguida, atue 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 paralelos, consulte os tópicos do Device Shadow MQTT no Guia do AWS IoT desenvolvedor.

Para reagir às mudanças locais do estado da sombra
  1. Adicione políticas de controle de acesso à receita 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.

  2. 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 IPC locais de publicação/assinatura no código do componente, consulte. Publique/assine mensagens locais

  3. 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 tópico local de publicação/assinatura. Para obter informações sobre a criação de componentes da função Lambda, consulte. Executar AWS Lambda funções

nota

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 shadow manager para se comunicar com dispositivos clientes.