

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á.

# Interagir e sincronizar as sombras do dispositivo cliente
<a name="work-with-client-device-shadows"></a>

Você pode usar o [componente Gerenciador de sombras](shadow-manager-component.md) para gerenciar as sombras locais, incluindo as do dispositivo cliente. Você pode usar o Gerenciador de sombras para fazer o seguinte:
+ Interagir com as sombras do dispositivo cliente nos componentes do Greengrass.
+ Sincronize as sombras do dispositivo cliente com o. AWS IoT Core

**nota**  
Por padrão, o componente gerenciador de sombras não sincroniza sombras com AWS IoT Core . Você deve configurar o componente Gerenciador de sombras para especificar as sombras do dispositivo cliente que devem ser sincronizadas.

**Topics**
+ [Pré-requisitos](#client-device-shadows-prerequisites)
+ [Habilitar o Gerenciador de sombras para comunicação com dispositivos cliente](#enable-shadow-manager-client-devices)
+ [Interagir com as sombras do dispositivo cliente em componentes](#interact-with-client-device-shadows)
+ [Sincronize as sombras do dispositivo cliente com AWS IoT Core](#sync-client-device-shadows-with-iot-core)

## Pré-requisitos
<a name="client-device-shadows-prerequisites"></a>

Para interagir com as sombras do dispositivo cliente e sincronizar as sombras do dispositivo cliente com AWS IoT Core, um dispositivo principal deve atender aos seguintes requisitos:
+ O dispositivo principal deve executar os seguintes componentes, além dos [componentes do Greengrass para suporte ao dispositivo cliente](connect-client-devices.md#cloud-discovery-components):
  + [Núcleo do Greengrass](greengrass-nucleus-component.md) v2.6.0 ou posterior
  + [Gerenciador de sombras](shadow-manager-component.md) v2.2.0 ou posterior
  + [Ponte MQTT](mqtt-bridge-component.md) v2.2.0 ou posterior
+ O componente de [autenticação do dispositivo cliente](client-device-auth-component.md) deve ser configurado para permitir que os dispositivos cliente se comuniquem pelos [tópicos da sombra do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-shadow).

## Habilitar o Gerenciador de sombras para comunicação com dispositivos cliente
<a name="enable-shadow-manager-client-devices"></a>

Por padrão, o componente Gerenciador de sombras não gerencia as sombras do dispositivo cliente. Para habilitar esse recurso, você deve retransmitir as mensagens MQTT entre os dispositivos cliente e o componente Gerenciador de sombras. Os dispositivos cliente usam as mensagens MQTT para receber e enviar atualizações da sombra do dispositivo. [O componente do gerenciador de sombras se inscreve na interface local do publish/subscribe Greengrass, para que você possa configurar [o componente bridge do MQTT](mqtt-bridge-component.md) para retransmitir mensagens do MQTT sobre tópicos paralelos do dispositivo.](https://docs.aws.amazon.com/iot/latest/developerguide/reserved-topics.html#reserved-topics-shadow)

O componente de ponte MQTT consome uma lista de mapeamentos de tópicos, cada um especificando a origem e o destino da mensagem. Para permitir que o componente Gerenciador de sombras gerencie as sombras do dispositivo cliente, implante o componente de ponte MQTT e especifique os tópicos para as sombras do dispositivo cliente. Você deve configurar a ponte para retransmitir as mensagens nas duas direções entre o MQTT local e a publicação/assinatura local.

<a name="create-mqtt-bridge-deployment-info"></a>Para implantar o componente de ponte MQTT em um dispositivo principal ou grupo de dispositivos principais, [crie uma implantação](create-deployments.md) que inclua o componente `aws.greengrass.clientdevices.mqtt.Bridge`. Especifique os mapeamentos de tópicos, `mqttTopicMapping`, na configuração do componente de ponte MQTT na implantação.

Use os exemplos abaixo para configurar o componente de ponte MQTT para permitir a comunicação entre os dispositivos cliente e o componente Gerenciador de sombras.

**nota**  
Você pode usar esses exemplos de configuração no AWS IoT Greengrass console. Se você usa a AWS IoT Greengrass API, a atualização de `merge` configuração requer um objeto JSON serializado, portanto, você deve serializar os seguintes objetos JSON em strings. Para obter mais informações, consulte [Atualizar configurações do componente](update-component-configurations.md).

**Example Exemplo: gerenciar todas as sombras do dispositivo cliente**  
O exemplo de configuração da ponte MQTT a seguir permite que o Gerenciador de sombras gerencie todas as sombras de todos os dispositivos cliente.  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Exemplo: gerenciar sombras de um dispositivo cliente**  
O exemplo de configuração da ponte MQTT a seguir permite que o Gerenciador de sombras gerencie todas as sombras de um dispositivo cliente chamado `MyClientDevice`.  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/MyClientDevice/shadow/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/MyClientDevice/shadow/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Exemplo: gerenciar uma sombra nomeada de todos os dispositivos cliente**  
O exemplo de configuração da ponte MQTT a seguir permite que o Gerenciador de sombras gerencie uma sombra chamada `DeviceConfiguration` de todos os dispositivos cliente.  

```
{
  "mqttTopicMapping": {
    "ShadowsLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ShadowsPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

**Example Exemplo: gerenciar sombras sem nome de todos os dispositivos cliente**  
O exemplo de configuração da ponte MQTT a seguir permite que o Gerenciador de sombras gerencie sombras sem nome, mas não sombras nomeadas, de todos os dispositivos cliente.  

```
{
  "mqttTopicMapping": {
    "DeleteShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/delete",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "DeleteShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/delete/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    },
    "GetShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/get",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "GetShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/get/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    },
    "UpdateShadowLocalMqttToPubsub": {
      "topic": "$aws/things/+/shadow/update",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "UpdateShadowPubsubToLocalMqtt": {
      "topic": "$aws/things/+/shadow/update/#",
      "source": "Pubsub",
      "target": "LocalMqtt"
    }
  }
}
```

## Interagir com as sombras do dispositivo cliente em componentes
<a name="interact-with-client-device-shadows"></a>

Você pode desenvolver componentes personalizados que usam o serviço de sombra local para ler e modificar os documentos de sombras locais dos dispositivos cliente. Para obter mais informações, consulte [Interaja com sombras em componentes](interact-with-shadows-in-components.md).

## Sincronize as sombras do dispositivo cliente com AWS IoT Core
<a name="sync-client-device-shadows-with-iot-core"></a>

Você pode configurar o componente do gerenciador de sombras para sincronizar os estados de sombra do dispositivo cliente local com AWS IoT Core. Para obter mais informações, consulte [Sincronize sombras do dispositivo local com AWS IoT Core](sync-shadows-with-iot-core.md).