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
El componente administrador de sombras permite sincronizar AWS IoT Greengrass los estados de sombra de los dispositivos locales conAWS 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 de nubes.
También puede especificar si el componente del 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 momento en que AWS IoT Core se produce cada actualización. Puede configurar intervalos periódicos para reducir el uso de ancho de banda y los cargos.
Temas
Requisitos previos
Para sincronizar las sombras localesAWS 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:
Configure el componente shadow manager
El administrador de sombras necesita una lista de asignaciones de nombres ocultas para sincronizar la información sobre el estado de las sombras en los documentos paralelos locales y ocultarlos. AWS IoT Core
Para sincronizar los estados de sombra, cree una implementación que incluya el aws.greengrass.ShadowManager
componente y especifique las sombras que desea sincronizar en el parámetro de configuración de la synchronize
configuración del administrador de sombras de la implementación.
nota
Para permitir que un dispositivo principal interactúe con las sombras de los dispositivos cliente, también debe configurar e implementar el componente MQTT bridge. Para obtener más información, consulte Habilitar el administrador de sombras para que se comunique con los dispositivos cliente.
El siguiente ejemplo de actualización de configuración indica al componente administrador de sombras que sincronice las siguientes sombras conAWS IoT Core:
-
La sombra clásica para el dispositivo principal
-
El nombre
MyCoreShadow
del dispositivo principal -
La sombra clásica para una cosa del IoT llamada
MyDevice2
-
Las sombras nombradas
MyShadowA
yMyShadowB
para una cosa del IoT llamadaMyDevice1
Esta actualización de configuración especifica sincronizar las sombras con AWS IoT Core ellas en tiempo real. Si utiliza la versión 2.1.0 o posterior del administrador de sombras, puede configurar el componente del administrador de sombras para que sincronice las sombras a intervalos periódicos. Para configurar esta función, cambie la estrategia de sincronización a periodic
y especifique una delay
en segundos para el intervalo. Para obtener más información, consulte el parámetro de configuración de la estrategia del componente shadow manager.
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 de gestión de sombras para que sincronice las sombras en una sola dirección. Para configurar esta función, cambie la sincronización direction
a deviceToCloud
o. cloudToDevice
Para obtener más información, consulte el parámetro de configuración de dirección del componente Shadow Manager.
{ "strategy": { "type": "realTime" }, "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadow" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [ ] } ], "direction": "betweenDeviceAndCloud" } }
Sincronice las sombras locales
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 de la dirección de sincronización de sombras que especifique. De forma predeterminada, el administrador de sombras usa la betweenDeviceAndCloud
opción de 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 sola dirección, que puede ser cloudToDevice
o. deviceToCloud
-
Si la configuración de dirección de sincronización de sombras es
betweenDeviceAndCloud
ocloudToDevice
, el administrador de sombras recupera la información de estado notificada del documento de sombra de la nube en el que se encuentra. AWS IoT Core A continuación, actualiza los documentos ocultos almacenados localmente para sincronizar el estado del dispositivo. -
Si la configuración de dirección de sincronización oculta es
betweenDeviceAndCloud
odeviceToCloud
, el administrador de sombras publica el estado actual del dispositivo en el documento oculto de la nube.
Comportamiento conflictivo de fusión de sombras
En algunos casos, por ejemplo, cuando el dispositivo principal está desconectado de Internet, es posible que una sombra cambie en el servicio virtual local y en la AWS IoT nube antes de que el administrador virtual 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 2.2.0, o si especifica la dirección de sincronización de las
betweenDeviceAndCloud
sombras, se aplica el siguiente comportamiento:-
Cuando se produce un conflicto de fusión en el estado deseado de una sombra, el administrador de sombras sobrescribe la sección conflictiva del documento paralelo local con el valor de la nube. AWS IoT
-
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