

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.

# Sincronice las sombras de los dispositivos locales con AWS IoT Core
<a name="sync-shadows-with-iot-core"></a>

El componente administrador de sombras permite sincronizar AWS IoT Greengrass los estados de sombra de los dispositivos locales con AWS IoT Core. Debe modificar la configuración del componente administrador de sombras para incluir el parámetro de `synchronization` configuración y AWS IoT especificar los nombres de los dispositivos y las sombras que desea sincronizar. 

Al configurar el administrador de sombras para que sincronice las sombras, sincroniza todos los cambios de estado de las sombras especificadas, independientemente de si los cambios se producen en documentos de sombra locales o en documentos de sombra en la nube.

También puede especificar si el componente administrador de sombras sincroniza las sombras en tiempo real o en intervalos periódicos. De forma predeterminada, el componente administrador de sombras sincroniza las sombras en tiempo real, por lo que el dispositivo principal envía y recibe actualizaciones ocultas desde y hacia el AWS IoT Core momento en que se produce cada actualización. Puede configurar intervalos periódicos para reducir el uso de ancho de banda y los cargos.

**Topics**
+ [Requisitos previos](#shadow-sync-prereqs)
+ [Configuración del componente administrador de sombras](#configure-shadow-manager-for-sync)
+ [Sincronización de sombras locales](#sync-local-shadows)
+ [Comportamiento conflictivo en la combinación de sombras](#shadow-merge-behavior)

## Requisitos previos
<a name="shadow-sync-prereqs"></a>

Para sincronizar las sombras locales AWS IoT Core, debe configurar la AWS IoT política del dispositivo principal de Greengrass para permitir las siguientes acciones de política AWS IoT Core clandestina.
+ `iot:GetThingShadow`
+ `iot:UpdateThingShadow`
+ `iot:DeleteThingShadow`

Para obtener más información, consulte los siguientes temas:
+ [AWS IoT Core acciones políticas](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) en la Guía *AWS IoT para desarrolladores*
+ [AWS IoT Política mínima para los dispositivos AWS IoT Greengrass V2 principales](device-auth.md#greengrass-core-minimal-iot-policy)
+ [Actualice la AWS IoT política de un dispositivo principal](device-auth.md#update-core-device-iot-policy)

## Configuración del componente administrador de sombras
<a name="configure-shadow-manager-for-sync"></a>

El administrador de sombras necesita una lista de asignaciones de nombres de sombras, con el fin de sincronizar la información sobre el estado de las sombras en los documentos de sombras locales con los documentos de sombras en la nube en AWS IoT Core.

Para sincronizar los estados de sombra, [cree una implementación](create-deployments.md) que incluya el componente `aws.greengrass.ShadowManager` y especifique las sombras que desea sincronizar en el parámetro de configuración `synchronize` de la configuración del administrador de sombras en la implementación.

**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).

El siguiente ejemplo de actualización de configuración indica al componente administrador de sombras que sincronice las siguientes sombras con AWS IoT Core:
+ La sombra clásica para el dispositivo principal 
+ La `MyCoreShadow` con nombre del dispositivo principal 
+ La sombra clásica para un objeto del IoT llamada `MyDevice2` 
+ Las sombras con nombre `MyShadowA` y `MyShadowB` para un objeto del IoT llamada `MyDevice1`

Esta actualización de configuración especifica sincronizar las sombras con ellas AWS IoT Core en tiempo real. Si utiliza la versión 2.1.0 o posterior del administrador de sombras, puede configurar el componente administrador de sombras para que sincronice las sombras a intervalos periódicos. Para configurar esta característica, cambie la estrategia de sincronización a `periodic` y especifique un `delay` en segundos para el intervalo. Para obtener más información, consulte [el parámetro de configuración de la estrategia](shadow-manager-component.md#shadow-manager-component-configuration) del componente administrador de sombras.

Esta actualización de configuración especifica que las sombras se sincronicen en ambas direcciones entre AWS IoT Core y el dispositivo principal. Si utiliza la versión 2.2.0 o posterior del administrador de sombras, puede configurar el componente administrador de sombras para que sincronice las sombras en una dirección. Para configurar esta característica, cambie la sincronización `direction` a `deviceToCloud` o `cloudToDevice`. Para obtener más información, consulte [el parámetro de configuración de la dirección](shadow-manager-component.md#shadow-manager-component-configuration) del componente administrador de sombras.

```
{
  "strategy": {
    "type": "realTime"
  },
  "synchronize": {
    "coreThing": {
      "classic": true,
      "namedShadows": [
        "MyCoreShadow"
      ]
    },
    "shadowDocuments": [
      {
        "thingName": "MyDevice1",
        "classic": false,
        "namedShadows": [
          "MyShadowA",
          "MyShadowB"
        ]
      },
      {
        "thingName": "MyDevice2",
        "classic": true,
        "namedShadows": [ ]
      }
    ],
    "direction": "betweenDeviceAndCloud"
  }
}
```

## Sincronización de sombras locales
<a name="sync-local-shadows"></a>

Cuando el dispositivo principal de Greengrass está conectado a la AWS IoT nube, el administrador de sombras realiza las siguientes tareas para las sombras que especifique en la configuración del componente. El comportamiento depende de la opción de configuración especificada en la dirección de sincronización de sombras. De forma predeterminada, el administrador de sombras usa la opción `betweenDeviceAndCloud` para sincronizar las sombras en ambas direcciones. Si utiliza la versión 2.2.0 o posterior del administrador de sombras, puede configurar el dispositivo principal para que sincronice las sombras en una dirección, que puede ser `cloudToDevice` o `deviceToCloud`.
+ Si la configuración de la dirección de sincronización de sombras es `betweenDeviceAndCloud` o `cloudToDevice`, el administrador de sombras recupera la información de estado notificada del documento de sombra en la nube en AWS IoT Core. A continuación, actualiza los documentos de sombras almacenados localmente para sincronizar el estado del dispositivo.
+ Si la configuración de la dirección de sincronización de sombra es `betweenDeviceAndCloud` o`deviceToCloud`, el administrador de sombras publica el estado actual del dispositivo en el documento de sombra en la nube.

## Comportamiento conflictivo en la combinación de sombras
<a name="shadow-merge-behavior"></a>

En algunos casos, como cuando el dispositivo principal está desconectado de Internet, es posible que una sombra cambie en el servicio de sombra local y en la AWS IoT nube antes de que el administrador de sombras sincronice los cambios. Como resultado, los estados deseados y notificados difieren entre el servicio paralelo local y la nube AWS IoT 

Cuando el administrador de sombras sincroniza la sombra, fusiona los cambios de acuerdo con el siguiente comportamiento:
+ Si utiliza una versión del administrador de sombras anterior a la versión 2.2.0, o si especifica la dirección de sincronización de sombras `betweenDeviceAndCloud`, se aplica el siguiente comportamiento:
  + Cuando se produce un conflicto de fusión en el estado deseado de una sombra, el administrador de la sombra sobrescribe la sección conflictiva del documento alternativo local con el valor de la AWS IoT nube.
  + Cuando se produce un conflicto de fusión en el estado registrado de una sombra, el administrador de la sombra sobrescribe la sección conflictiva de la sombra de la AWS IoT nube con el valor del documento paralelo local.
+ Al especificar la dirección de sincronización de las `deviceToCloud` sombras, el administrador de sombras sobrescribe la sección conflictiva de la sombra en la AWS IoT nube con el valor del documento paralelo local.
+ Al especificar la dirección de sincronización de las `cloudToDevice` sombras, el administrador de sombras sobrescribe la sección conflictiva del documento paralelo local con el valor de la nube. AWS IoT 