

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Sincronizza le ombre del dispositivo locale con AWS IoT Core
<a name="sync-shadows-with-iot-core"></a>

Il componente shadow manager consente di AWS IoT Greengrass sincronizzare gli stati ombra del dispositivo locale con. AWS IoT CoreÈ necessario modificare la configurazione del componente shadow manager per includere il parametro di `synchronization` configurazione e specificare i nomi AWS IoT degli oggetti per i dispositivi e le ombre che si desidera sincronizzare. 

Quando configurate Shadow Manager per sincronizzare le ombre, sincronizza tutte le modifiche di stato per le ombre specificate, indipendentemente dal fatto che le modifiche avvengano nei documenti shadow locali o nei documenti shadow nel cloud.

È inoltre possibile specificare se il componente shadow manager sincronizza le ombre in tempo reale o a intervalli periodici. Per impostazione predefinita, il componente shadow manager sincronizza le ombre in tempo reale, in modo che il dispositivo principale invii e riceva gli aggiornamenti delle ombre da e verso ogni aggiornamento. AWS IoT Core È possibile configurare intervalli periodici per ridurre l'utilizzo della larghezza di banda e i costi.

**Topics**
+ [Prerequisiti](#shadow-sync-prereqs)
+ [Configurare il componente shadow manager](#configure-shadow-manager-for-sync)
+ [Sincronizza le ombre locali](#sync-local-shadows)
+ [Comportamento dei conflitti di fusione delle ombre](#shadow-merge-behavior)

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

Per sincronizzare le ombre locali con AWS IoT Core, è necessario configurare la politica del dispositivo principale AWS IoT di Greengrass per consentire le AWS IoT Core seguenti azioni di policy ombra.
+ `iot:GetThingShadow`
+ `iot:UpdateThingShadow`
+ `iot:DeleteThingShadow`

Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [AWS IoT Core azioni politiche nella Guida](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) *per gli sviluppatori AWS IoT *
+ [AWS IoT Politica minima per i dispositivi AWS IoT Greengrass V2 principali](device-auth.md#greengrass-core-minimal-iot-policy)
+ [Aggiorna la politica di un dispositivo principale AWS IoT](device-auth.md#update-core-device-iot-policy)

## Configurare il componente shadow manager
<a name="configure-shadow-manager-for-sync"></a>

Lo shadow manager richiede un elenco di mappature dei nomi shadow per sincronizzare le informazioni sullo stato ombra nei documenti shadow locali con i documenti shadow nel cloud. AWS IoT Core

Per sincronizzare gli stati shadow, [create una distribuzione](create-deployments.md) che includa il `aws.greengrass.ShadowManager` componente e specificate le shadow che desiderate sincronizzare nel parametro di `synchronize` configurazione nella configurazione dello shadow manager nella distribuzione.

**Nota**  <a name="note-requirement-enable-shadow-manager-client-devices"></a>
Per consentire a un dispositivo principale di interagire con le ombre dei dispositivi client, è inoltre necessario configurare e distribuire il componente bridge MQTT. Per ulteriori informazioni, consultate [Attivare lo shadow manager per comunicare con](work-with-client-device-shadows.md) i dispositivi client.

L'aggiornamento della configurazione di esempio seguente indica al componente shadow manager di sincronizzare le seguenti ombre con: AWS IoT Core
+ L'ombra classica per il dispositivo principale 
+ Il nome `MyCoreShadow` del dispositivo principale 
+ La classica ombra per una cosa chiamata IoT `MyDevice2` 
+ Le ombre denominate `MyShadowA` e `MyShadowB` per una cosa chiamata IoT `MyDevice1`

Questo aggiornamento della configurazione specifica di sincronizzare le ombre con AWS IoT Core in tempo reale. Se si utilizza shadow manager v2.1.0 o versione successiva, è possibile configurare il componente shadow manager per sincronizzare le ombre a intervalli periodici. Per configurare questa funzionalità, modificate la strategia di sincronizzazione in e specificate un intervallo `delay` in secondi. `periodic` Per ulteriori informazioni, vedete [il parametro di configurazione della strategia](shadow-manager-component.md#shadow-manager-component-configuration) del componente shadow manager.

Questo aggiornamento della configurazione specifica di sincronizzare le ombre in entrambe le direzioni tra AWS IoT Core e il dispositivo principale. Se si utilizza shadow manager v2.2.0 o versione successiva, è possibile configurare il componente Shadow Manager per sincronizzare le ombre in una sola direzione. Per configurare questa funzionalità, modifica la sincronizzazione `direction` in o. `deviceToCloud` `cloudToDevice` Per ulteriori informazioni, vedete [il parametro di configurazione della direzione](shadow-manager-component.md#shadow-manager-component-configuration) 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"
  }
}
```

## Sincronizza le ombre locali
<a name="sync-local-shadows"></a>

Quando il dispositivo principale Greengrass è connesso al AWS IoT cloud, lo shadow manager esegue le seguenti attività per le ombre specificate nella configurazione del componente. Il comportamento dipende dall'opzione di configurazione della direzione di sincronizzazione delle ombre specificata. Per impostazione predefinita, Shadow Manager utilizza l'`betweenDeviceAndCloud`opzione per sincronizzare le ombre in entrambe le direzioni. Se si utilizza shadow manager v2.2.0 o versione successiva, è possibile configurare il dispositivo principale per sincronizzare le ombre in una sola direzione, che può essere o. `cloudToDevice` `deviceToCloud`
+ Se la configurazione della direzione di sincronizzazione dello shadow è `betweenDeviceAndCloud` o`cloudToDevice`, shadow manager recupera le informazioni sullo stato riportate dal documento cloud shadow in. AWS IoT Core Quindi, aggiorna i documenti shadow archiviati localmente per sincronizzare lo stato del dispositivo.
+ Se la configurazione della direzione di sincronizzazione dello shadow è `betweenDeviceAndCloud` o`deviceToCloud`, shadow manager pubblica lo stato corrente del dispositivo nel documento cloud shadow.

## Comportamento dei conflitti di fusione delle ombre
<a name="shadow-merge-behavior"></a>

In alcuni casi, ad esempio quando il dispositivo principale è disconnesso da Internet, uno shadow potrebbe cambiare nel servizio shadow locale e nel AWS IoT cloud prima che lo shadow manager sincronizzi le modifiche. Di conseguenza, gli stati desiderati e quelli riportati differiscono tra il servizio shadow locale e il cloud AWS IoT 

Quando lo shadow manager sincronizza l'ombra, unisce le modifiche in base al seguente comportamento:
+ Se utilizzate una versione di shadow manager precedente alla v2.2.0 o quando specificate la direzione di sincronizzazione dello `betweenDeviceAndCloud` shadow, si applica il seguente comportamento:
  + Quando si verifica un conflitto di fusione nello stato desiderato di un'ombra, lo shadow manager sovrascrive la sezione in conflitto del documento shadow locale con il valore proveniente dal cloud. AWS IoT 
  + Quando si verifica un conflitto di unione nello stato riportato da un'ombra, lo shadow manager sovrascrive la sezione in conflitto dell'ombra nel AWS IoT cloud con il valore del documento shadow locale.
+ Quando specificate la `deviceToCloud` direzione di sincronizzazione delle ombre, lo shadow manager sovrascrive la sezione in conflitto dell'ombra nel AWS IoT cloud con il valore del documento shadow locale.
+ Quando specificate la direzione di sincronizzazione dello `cloudToDevice` shadow, lo shadow manager sovrascrive la sezione in conflitto del documento shadow locale con il valore proveniente dal cloud. AWS IoT 