

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

# Fonti di dati OPC UA per gateway Edge AWS IoT SiteWise
<a name="configure-sources-opcua"></a>

Dopo aver configurato un gateway AWS IoT SiteWise Edge, è possibile configurare le fonti di dati in modo che il gateway SiteWise Edge possa importare dati dalle apparecchiature industriali locali verso AWS IoT SiteWise. Ogni fonte rappresenta un server locale, ad esempio un server OPC UA, a cui il gateway SiteWise Edge collega e recupera i flussi di dati industriali. Per ulteriori informazioni sulla configurazione di un gateway SiteWise Edge, vedere. [Crea un gateway Edge ospitato autonomamente SiteWise](create-gateway-ggv2.md)

Il tipo di gateway, i gateway V3 abilitati per MQTT rispetto ai gateway Classic Stream, V2, influenza il modo in cui vengono gestiti i dati OPC UA. In Classic stream, i gateway V2 e le sorgenti dati OPC UA vengono aggiunte direttamente alla configurazione del gateway SiteWise IoT publisher. Ogni fonte di dati è associata al gateway e il routing dei dati è configurato individualmente per ciascuna fonte. Al contrario, utilizzando gateway V3 abilitati per MQTT, le fonti di dati OPC UA vengono convertite in argomenti MQTT e gestite tramite destinazioni centralizzate. Per ulteriori informazioni su ciascun tipo, vedere e. [Gateway V3 compatibili con MQTT per Edge AWS IoT SiteWise](mqtt-enabled-v3-gateway.md) [Stream classici, gateway V2 per Edge AWS IoT SiteWise](classic-streams-v2-gateway.md)

**Nota**  
AWS IoT SiteWise riavvia il gateway SiteWise Edge ogni volta che aggiungi o modifichi una fonte. Il gateway SiteWise Edge non inserirà dati durante l'aggiornamento della configurazione di origine. Il tempo necessario per riavviare il gateway SiteWise Edge dipende dal numero di tag presenti nelle sorgenti del gateway SiteWise Edge. Il tempo di riavvio può variare da pochi secondi (per un gateway SiteWise Edge con pochi tag) a diversi minuti (per un gateway SiteWise Edge con molti tag).

Dopo aver creato le fonti, puoi associare i flussi di dati alle proprietà delle risorse. Per ulteriori informazioni su come creare e utilizzare gli asset, consulta [Asset industriali modello](industrial-asset-models.md).

Puoi visualizzare le CloudWatch metriche per verificare che una fonte di dati sia connessa. AWS IoT SiteWise Per ulteriori informazioni, consulta [AWS IoT Greengrass Version 2 metriche del gateway](monitor-cloudwatch-metrics.md#gateway-metrics-ggv2).

Attualmente, AWS IoT SiteWise supporta i seguenti protocolli di origine dati:
+ [OPC UA](https://en.wikipedia.org/wiki/OPC_Unified_Architecture) — Protocollo di comunicazione A machine-to-machine (M2M) per l'automazione industriale.

## Support per protocolli industriali aggiuntivi
<a name="additional-protocols"></a>

SiteWise Edge supporta un'ampia gamma di protocolli industriali attraverso l'integrazione con partner di fonti di dati. Queste partnership consentono la connettività con oltre 200 protocolli diversi, compatibili con vari sistemi e dispositivi industriali.

Per un elenco dei partner disponibili per le fonti di dati, consulta. [SiteWise Opzioni di origine dati dei partner Edge Gateway](connect-partner-data-source.md)

# Configura una sorgente OPC UA in SiteWise Edge
<a name="configure-opcua-source"></a>

È possibile utilizzare la AWS IoT SiteWise console o la funzionalità di un gateway SiteWise Edge per definire e aggiungere una sorgente OPC UA al gateway SiteWise Edge per rappresentare un server OPC UA locale.

**Topics**
+ [Configura una sorgente OPC UA (console)](#config-opcua-source-console)
+ [Configurare una fonte OPC UA ()AWS CLI](#configure-opc-ua-source-cli)

## Configura una sorgente OPC UA (console)
<a name="config-opcua-source-console"></a>

È possibile utilizzare la console per configurare la sorgente OPC UA con la seguente procedura.

**Nota**  
Attenzione: la duplicazione TQVs può comportare una doppia ricarica.

**Per configurare una sorgente OPC UA utilizzando la console AWS IoT SiteWise**

1. Passare alla [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Nella barra di navigazione a sinistra, scegli **Edge gateway** nella sezione **Edge**.

1. Seleziona il gateway SiteWise Edge per aggiungere una fonte OPC UA.

1. Scegli **Aggiungi origine dati**

1. Immettete un nome per la fonte.

1. Compilare il campo **Local endpoint (Endpoint locale)** del server dell'origine dati. L'endpoint può essere l'indirizzo IP o il nome host. È inoltre possibile aggiungere un numero di porta all'endpoint locale. Ad esempio, l'endpoint locale potrebbe avere il seguente aspetto: **opc.tcp://203.0.113.0:49320**

1. (Facoltativo) Per **Node ID for selection**, aggiungi filtri di nodo per limitare i flussi di dati che vengono importati nel Cloud. AWS Per impostazione predefinita, i gateway SiteWise Edge utilizzano il nodo radice di un server per importare tutti i flussi di dati. È possibile utilizzare i filtri dei nodi per ridurre il tempo di avvio e l'utilizzo della CPU del gateway SiteWise Edge includendo solo i percorsi dei dati utilizzati per la modellazione. AWS IoT SiteWise Per impostazione predefinita, i gateway SiteWise Edge caricano tutti i percorsi OPC UA tranne quelli che iniziano con. `/Server/` Per definire i filtri dei nodi OPC UA, è possibile utilizzare i percorsi dei nodi `*` e `**` i caratteri jolly. Per ulteriori informazioni, consulta [Usa i filtri dei nodi OPC UA in Edge SiteWise](opc-ua-node-filters.md).

1. Le **destinazioni** variano tra i gateway V3 abilitati per MQTT e i gateway Classic Stream V2.
   + **Gli stream classici, le destinazioni gateway V2** hanno una relazione 1:1 con l'origine. Ogni fonte invia dati a una destinazione particolare.
   + Le **destinazioni gateway V3 abilitate per MQTT** vengono configurate separatamente perché il modello hub and spoke consente di centralizzare la configurazione e la gestione di più fonti di dati su gateway diversi. Per configurare le destinazioni in un gateway V3, vedere. [Comprendi le destinazioni Edge AWS IoT SiteWise](gw-destinations.md#source-destination)

------
#### [ Classic steams, V2 gateway destinations ]
   + **AWS IoT SiteWise in tempo reale**: scegli questa opzione per inviare i dati direttamente allo AWS IoT SiteWise storage. Acquisisci e monitora i dati in tempo reale all'edge.
   + AWS IoT SiteWise Memorizzato nel **buffer con Amazon** S3: invia dati in formato Parquet ad Amazon S3 e quindi importali nello storage. AWS IoT SiteWise Scegli questa opzione per importare i dati in batch e archiviare i dati storici in modo conveniente. Puoi configurare la posizione preferita del bucket Amazon S3 e la frequenza con cui desideri che i dati vengano caricati su Amazon S3. Puoi anche scegliere cosa fare con i dati dopo l'ingestione. AWS IoT SiteWise Puoi scegliere di rendere i dati disponibili sia AWS IoT SiteWise in Amazon S3 che in Amazon S3 oppure puoi scegliere di eliminarli automaticamente da Amazon S3 dopo che sono stati importati in. AWS IoT SiteWise
     + Il bucket Amazon S3 è un meccanismo di staging e buffering e supporta file in formato Parquet.
     + Se selezioni la casella di controllo **Importa dati nello AWS IoT SiteWise storage**, i dati vengono caricati prima in Amazon S3 e poi nello AWS IoT SiteWise storage.
       + Se selezioni la casella di controllo **Elimina dati da Amazon S3**, i dati vengono eliminati da Amazon S3 dopo essere stati importati nello storage. SiteWise 
       + Se deselezioni la casella di controllo **Elimina dati da Amazon S3**, i dati vengono archiviati sia in Amazon S3 che in storage. SiteWise 
     + Se deselezioni la casella di controllo **Importa dati nello AWS IoT SiteWise storage**, i dati vengono archiviati solo in Amazon S3. Non viene importato nello SiteWise storage. 

     Visita [Manage data storage](manage-data-storage.md) per i dettagli sulle varie opzioni di archiviazione AWS IoT SiteWise offerte. Per ulteriori informazioni sulle opzioni di prezzo, consulta la pagina [AWS IoT SiteWise dei prezzi](https://aws.amazon.com/iot-sitewise/pricing/).

      
   + **AWS IoT Greengrass stream manager**: utilizza AWS IoT Greengrass stream manager per inviare dati alle seguenti destinazioni AWS cloud: canali in AWS IoT Analytics, flussi in Amazon Kinesis Data Streams, proprietà degli asset o oggetti AWS IoT SiteWise in Amazon Simple Storage Service (Amazon S3). *Per ulteriori informazioni, consulta [Manage data stream on the AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-data-streams.html) Core nella Developer Guide.AWS IoT Greengrass Version 2 *

     Inserisci un nome per lo AWS IoT Greengrass stream.

------
#### [ MQTT-enabled, V3 gateway destinations ]

   1. [Gateway V3 compatibili con MQTT per Edge AWS IoT SiteWise](mqtt-enabled-v3-gateway.md)Per informazioni su come aggiungere le destinazioni pertinenti, consulta la pagina.

   1. Ritorna a questa procedura dopo aver aggiunto le destinazioni di origine.

------

1. Nel riquadro **Configurazione avanzata**, puoi fare quanto segue:

   1. Scegli una **modalità di sicurezza dei messaggi** per le connessioni e i dati in transito tra il server di origine e il gateway SiteWise Edge. Questo campo è la combinazione della politica di sicurezza OPC UA e della modalità di sicurezza dei messaggi. Scegliete la stessa politica di sicurezza e la stessa modalità di sicurezza dei messaggi che avete specificato per il vostro server OPC UA.

   1. Se la tua fonte richiede l'autenticazione, scegli un Gestione dei segreti AWS segreto dall'elenco di **configurazione dell'autenticazione**. Il gateway SiteWise Edge utilizza le credenziali di autenticazione contenute in questo segreto quando si connette a questa fonte di dati. È necessario allegare segreti al AWS IoT Greengrass componente del gateway SiteWise Edge per utilizzarli per l'autenticazione delle fonti di dati. Per ulteriori informazioni, consulta [Configurare l'autenticazione dell'origine dati per SiteWise Edge](configure-source-authentication-ggv2.md).
**Suggerimento**  
Il server di dati potrebbe disporre di un'opzione denominata **Allow anonymous login (Consenti accesso anonimo)**. Se questa opzione è impostata su **Yes (Sì)**, l'origine non richiede l'autenticazione.

   1. *(Facoltativo) È possibile attivare un prefisso del flusso di dati selezionando **Attiva prefisso del flusso di dati -** opzionale.*

      1. Immettete un prefisso per il **flusso di dati**. Il gateway SiteWise Edge aggiunge questo prefisso a tutti i flussi di dati provenienti da questa fonte. Utilizzare un prefisso del flusso di dati per distinguere tra flussi di dati con lo stesso nome da origini diverse. Ogni flusso di dati deve avere un nome univoco all'interno del tuo account.

   1. (Facoltativo) Scegliete un'opzione **di conversione del tipo di dati** per convertire i tipi di dati OPC UA non supportati in stringhe prima di inserirli. AWS IoT SiteWise Converti i valori degli array con tipi di dati semplici in stringhe JSON e i tipi di dati in stringhe ISO 8601 DateTime . Per ulteriori informazioni, consulta [Conversione di tipi di dati non supportati](string-conversion.md).

   1. Scegliete un **trigger di modifica dei dati predefinito** per i nodi che non sono contenuti in un gruppo di proprietà definito dall'utente. Il trigger di modifica dei dati predefinito determina quando il server OPC UA invia valori aggiornati al gateway. È possibile scegliere una delle seguenti opzioni:
      + **Stato**: per ricevere dati solo quando lo stato cambia.
      + **StatusValue**— per ricevere dati quando uno stato o un valore cambia.
      + **StatusValueTimestamp**— per ricevere dati quando uno stato, un valore o un timestamp cambia.

   1. (Facoltativo) Su un gateway V3 abilitato per MQTT, è possibile utilizzare la **configurazione Discovery per configurare il processo di scoperta** dei nodi OPC UA. La configurazione Discovery sostituisce il precedente file system di override di configurazione per queste opzioni con impostazioni basate su console che si aggiornano dinamicamente senza dover riavviare il gateway.
**Nota**  
Il **trigger di modifica dei dati predefinito** richiede la versione 3.1.0 o successiva del componente IoT SiteWise OPC UA Collector. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

      1. Per **Numero massimo di richieste di navigazione simultanee**, inserisci il numero massimo di richieste di navigazione che il tuo server OPC UA può gestire contemporaneamente. È possibile configurare fino a 500 richieste di navigazione simultanee per origine dati.

      1. Per **Numero massimo di nodi per richiesta di navigazione**, inserisci il numero massimo di nodi da inviare in ogni richiesta di navigazione al server OPC UA. È possibile inviare fino a 1.000 nodi per richiesta di navigazione.

      1. Scegli **Evita i loop dell'albero dei nodi** per evitare che il gateway rimanga bloccato in riferimenti circolari durante la navigazione nella struttura del server OPC UA. Se selezionato, il gateway tiene traccia delle posizioni visitate per evitare i loop infiniti che possono verificarsi quando i nodi del server fanno riferimento l'uno all'altro secondo uno schema circolare.

      1. Scegliete **Enable node traversal** per consentire al gateway di esplorare la struttura completa del vostro server OPC UA per scoprire tutti i punti dati disponibili dalle vostre apparecchiature e dispositivi. Se selezionato, il gateway naviga nell'organizzazione dei dati dell'apparecchiatura oltre il livello principale per trovare automaticamente tutti i sensori, i controlli e i punti di misurazione.

      1. Scegliete **Abilita il rilevamento periodico** per eseguire automaticamente le operazioni di rilevamento a intervalli regolari per rilevare i cambiamenti nella struttura del server OPC UA. Se selezionato, il gateway monitora continuamente le apparecchiature o i punti dati appena aggiunti, assicurando che vengano rilevati automaticamente e resi disponibili per la raccolta dei dati.

         1. Per Intervallo di **rilevamento periodico, imposta l'intervallo** di tempo tra le operazioni di rilevamento automatico quando è in esecuzione il rilevamento periodico. L'intervallo di rilevamento periodico minimo è di 30 secondi e il massimo è di 30 giorni.

         1. Per Numero **massimo di nodi scoperti per intervallo**, imposta il numero massimo di nodi che devono essere scoperti per intervallo di rilevamento. Questo aiuta a controllare il carico sia sul gateway che sul server OPC UA durante le operazioni di rilevamento.

   1. (Facoltativo) Per i **gruppi di proprietà**, **scegliete Aggiungi nuovo gruppo**.

      1. Immettete un **nome** per il gruppo di proprietà.

      1. Per **le proprietà**:

         1. Per **i percorsi dei nodi**, aggiungi i filtri dei nodi OPC UA per limitare i percorsi OPC UA su cui vengono caricati. AWS IoT SiteWise Il formato è simile all'**ID del nodo per la selezione**.

      1. Per **le impostazioni del gruppo**, effettuate le seguenti operazioni:

         1. Per l'**impostazione della qualità dei dati**, scegliete il tipo di qualità dei dati che desiderate che AWS IoT SiteWise Collector inserisca.

         1. Per l'**impostazione della modalità di scansione**, configurate le proprietà standard dell'abbonamento utilizzando la modalità di **scansione**. È possibile selezionare **Sottoscrivi** o **Sondaggio.** Per ulteriori informazioni sulla modalità di scansione, vedere[Filtra gli intervalli di inserimento dei dati con OPC UA](opcua-data-acquisition.md).

------
#### [ Subscribe ]

**Per inviare ogni punto dati**

            1. Scegli **Iscriviti** e imposta quanto segue:

               1. **[Trigger di modifica dei dati](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.2/)**: la condizione che avvia un avviso di modifica dei dati.

               1. **[Dimensione della coda di sottoscrizione](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.16/)**: la profondità della coda su un server OPC UA per una particolare metrica in cui vengono messe in coda le notifiche per gli articoli monitorati.

               1. Intervallo di **[pubblicazione dell'abbonamento: l'intervallo](https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/)** (in millisecondi) del ciclo di pubblicazione specificato al momento della creazione dell'abbonamento.

               1. **Intervallo di istantanea - *Facoltativo*:** l'impostazione del timeout della frequenza delle istantanee per garantire che Edge acquisisca un flusso costante di dati. AWS IoT SiteWise 

               1. **Velocità di scansione: la velocità** con cui si desidera che il gateway SiteWise Edge legga i registri. AWS IoT SiteWise calcola automaticamente la velocità di scansione minima consentita per il SiteWise gateway Edge.

               1. **Timestamp**: il timestamp da includere nei punti dati OPC UA. Puoi utilizzare il timestamp del server o il timestamp del tuo dispositivo.
**Nota**  
Utilizza la versione 2.5.0 o successiva del componente IoT SiteWise OPC UA Collector. Se si utilizza la funzionalità di timestamp con le versioni precedenti, gli aggiornamenti della configurazione non riescono. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

            1. **Nelle **impostazioni Deadband**, configura un tipo di Deadband.** Il tipo di banda morta controlla quali dati ti invia la fonte e quali dati scarta. AWS IoT SiteWise Per ulteriori informazioni sull'impostazione della banda morta, vedere. [Filtra gli intervalli di inserimento dei dati con OPC UA](opcua-data-acquisition.md)
               + **Nessuno**: il server associato invia tutti i punti dati per questo gruppo di proprietà.
               + **Percentuale**: il server associato invia solo i dati che non rientrano in una percentuale specificata dell'intervallo dei dati. Questo intervallo viene calcolato dal server in base all'unità tecnica minima e massima definita per ciascun nodo. Se il server non supporta bande morte percentuali o non dispone di unità tecniche definite, il gateway calcola l'intervallo utilizzando i valori minimo e massimo forniti di seguito.
               + **Assoluto**: il server associato invia solo dati che non rientrano in un intervallo specifico.

               1. Imposta il **valore Deadband** come percentuale dell'intervallo di dati sulla banda morta.

               1. *(Facoltativo) Specificate un valore minimo e massimo per l'intervallo di banda morta utilizzando Intervallo **minimo - *opzionale* e Intervallo** **massimo** - opzionale.*

------
#### [ Poll ]

**Per inviare punti dati a un intervallo specifico**
            + Scegliete **Sondaggio** e impostate quanto segue:

              1. **Velocità di scansione**: la velocità con cui desideri che il gateway SiteWise Edge legga i tuoi registri. AWS IoT SiteWise calcola automaticamente la velocità di scansione minima consentita per il SiteWise gateway Edge.

              1. **Timestamp**: il timestamp da includere nei punti dati OPC UA. Puoi utilizzare il timestamp del server o il timestamp del tuo dispositivo.
**Nota**  
Utilizza la versione 3.1.0 o successiva del componente IoT SiteWise OPC UA Collector. Se si utilizza la funzionalità di timestamp con le versioni precedenti, gli aggiornamenti della configurazione non riescono. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

**Nota**  
Le **impostazioni Deadband** sono applicabili se hai selezionato **Iscriviti** nelle impostazioni della modalità di **scansione**.

------

1. Scegli **Save** (Salva).

## Configurare una fonte OPC UA ()AWS CLI
<a name="configure-opc-ua-source-cli"></a>

È possibile definire sorgenti di dati OPC UA per un gateway SiteWise Edge utilizzando. AWS CLI A tale scopo, create un file JSON di configurazione della funzionalità OPC UA e utilizzate il [ update-gateway-capability-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotsitewise/update-gateway-capability-configuration.html#)comando per aggiornare la configurazione del gateway SiteWise Edge. È necessario definire tutte le fonti OPC UA in un'unica configurazione di funzionalità.

------
#### [ MQTT-enabled, V3 gateway ]

Questa funzionalità ha il seguente spazio dei nomi.
+ `iotsitewise:opcuacollector:3`

```
{
  "sources": [
    {
      "name": "string",
      "endpoint": {
        "certificateTrust": {
          "type": "TrustAny" | "X509",
          "certificateBody": "string",
          "certificateChain": "string",
        },
        "endpointUri": "string",
        "securityPolicy": "NONE" | "BASIC128_RSA15" | "BASIC256" | "BASIC256_SHA256" | "AES128_SHA256_RSAOAEP" | "AES256_SHA256_RSAPSS",
        "messageSecurityMode": "NONE" | "SIGN" | "SIGN_AND_ENCRYPT",
        "identityProvider": {
          "type": "Anonymous" | "Username",
          "usernameSecretArn": "string"
        },
        "nodeFilterRules": [
          {
            "action": "INCLUDE",
            "definition": {
              "type": "OpcUaRootPath",
              "rootPath": "string"
            }
          }
        ]
      },
      "measurementDataStreamPrefix": "string",
      "typeConversions": {
        "array": "JsonArray",
        "datetime": "ISO8601String"
        },
      "destination": {
        {
          "type":"MQTT"
        }           
      },
      "defaultPropertyGroupConfig": {
        "dataChangeTrigger": "STATUS" | "STATUS_VALUE" | "STATUS_VALUE_TIMESTAMP"
      },
      "discoveryConfig": {
        "enableNodeTraversal": true | false,
        "avoidNodeTreeLoops": true | false,
        "maxConcurrentBrowseRequests": integer,
        "maxNodesPerBrowseRequest": integer,
        "periodicDiscovery": {
          "interval": "string",
          "maxNodesDiscoveredPerInterval": integer
        }
      },
      "propertyGroups": [
        {
          "name": "string",
          "nodeFilterRuleDefinitions": [
            {
              "type": "OpcUaRootPath",
              "rootPath": "string"
            }
          ],
          "deadband": {
            "type": "PERCENT" | "ABSOLUTE",
            "value": double,
            "eguMin": double,
            "eguMax": double,
            "timeoutMilliseconds": integer
          },
          "scanMode": {
            "type": "EXCEPTION" | "POLL",
            "rate": integer,
            "timestampToReturn": "SOURCE_TIME" | "SERVER_TIME"
          },
          "dataQuality": {
            "allowGoodQuality": true | false,
            "allowBadQuality": true | false,
            "allowUncertainQuality": true | false
          },
          "subscription": {
            "dataChangeTrigger": "STATUS" | "STATUS_VALUE" | "STATUS_VALUE_TIMESTAMP",
            "queueSize": integer,
            "publishingIntervalMilliseconds": integer,
            "snapshotFrequencyMilliseconds": integer
          }  
        }  
      ]  
    }  
  ]  
}
```

------
#### [ Classic streams, V2 gateway ]

Questa funzionalità ha il seguente spazio dei nomi.
+ `iotsitewise:opcuacollector:2`

Sintassi della richiesta

```
{
  "sources": [
    {
      "name": "string",
      "endpoint": {
        "certificateTrust": {
          "type": "TrustAny" | "X509",
          "certificateBody": "string",
          "certificateChain": "string",
        },
        "endpointUri": "string",
        "securityPolicy": "NONE" | "BASIC128_RSA15" | "BASIC256" | "BASIC256_SHA256" | "AES128_SHA256_RSAOAEP" | "AES256_SHA256_RSAPSS",
        "messageSecurityMode": "NONE" | "SIGN" | "SIGN_AND_ENCRYPT",
        "identityProvider": {
          "type": "Anonymous" | "Username",
          "usernameSecretArn": "string"
        },
        "nodeFilterRules": [
          {
            "action": "INCLUDE",
            "definition": {
              "type": "OpcUaRootPath",
              "rootPath": "string"
            }
          }
        ]
      },
      "measurementDataStreamPrefix": "string",
      "typeConversions": {
        "array": "JsonArray",
        "datetime": "ISO8601String"
        },
      "destination": {
        "type": "StreamManager",
        "streamName": "string",
        "streamBufferSize": integer,                      
      },
      "propertyGroups": [
        {
          "name": "string",
          "nodeFilterRuleDefinitions": [
            {
              "type": "OpcUaRootPath",
              "rootPath": "string"
            }
          ],
          "deadband": {
            "type": "PERCENT" | "ABSOLUTE",
            "value": double,
            "eguMin": double,
            "eguMax": double,
            "timeoutMilliseconds": integer
          },
          "scanMode": {
            "type": "EXCEPTION" | "POLL",
            "rate": integer,
            "timestampToReturn": "SOURCE_TIME" | "SERVER_TIME"
          },
          "dataQuality": {
            "allowGoodQuality": true | false,
            "allowBadQuality": true | false,
            "allowUncertainQuality": true | false
          },
          "subscription": {
            "dataChangeTrigger": "STATUS" | "STATUS_VALUE" | "STATUS_VALUE_TIMESTAMP",
            "queueSize": integer,
            "publishingIntervalMilliseconds": integer,
            "snapshotFrequencyMilliseconds": integer
          }  
        }  
      ]  
    }  
  ]  
}
```

------

### Corpo della richiesta
<a name="opcua-request-body"></a>

`sources`  
Un elenco di strutture di definizione dei sorgenti OPC UA, ciascuna delle quali contiene le seguenti informazioni:    
`name`  
Un nome descrittivo univoco per l'origine.  
`endpoint`  
Una struttura endpoint contenente le seguenti informazioni:    
`certificateTrust`  
Una struttura delle policy di attendibilità dei certificati contenente le seguenti informazioni:    
`type`  
La modalità di attendibilità dei certificati per l'origine. Seleziona una delle seguenti opzioni:  
+ `TrustAny`— Il gateway SiteWise Edge si fida di qualsiasi certificato quando si connette alla fonte OPC UA.
+ `X509`— Il gateway SiteWise Edge si fida di un certificato X.509 quando si connette alla fonte OPC UA. Se si sceglie questa opzione, è necessario definire `certificateBody` in `certificateTrust`. È inoltre possibile definire `certificateChain` in `certificateTrust`.  
`certificateBody`  
(Facoltativo) Il corpo di un certificato X.509.  
Questo campo è obbligatorio se si sceglie `X509` per `type` in `certificateTrust`.  
`certificateChain`  
(Facoltativo) La catena di attendibilità per un certificato X.509.  
Questo campo viene utilizzato solo se si sceglie `X509` per `type` in `certificateTrust`.  
`endpointUri`  
L'endpoint locale della sorgente OPC UA. Ad esempio, l'endpoint locale potrebbe essere simile a `opc.tcp://203.0.113.0:49320`.  
`securityPolicy`  
La politica di sicurezza da utilizzare per proteggere i messaggi letti dalla fonte OPC UA. Seleziona una delle seguenti opzioni:  
+ `NONE`— Il gateway SiteWise Edge non protegge i messaggi provenienti dalla fonte OPC UA. Ti consigliamo di scegliere una politica di sicurezza diversa. Se si sceglie questa opzione, è necessario anche selezionare `NONE` per `messageSecurityMode`.
+ `BASIC256_SHA256`— La politica `Basic256Sha256` di sicurezza.
+ `AES128_SHA256_RSAOAEP`— La politica `Aes128_Sha256_RsaOaep` di sicurezza.
+ `AES256_SHA256_RSAPSS`— La politica `Aes256_Sha256_RsaPss` di sicurezza.
+ `BASIC128_RSA15`— (Obsoleta) La politica `Basic128Rsa15` di sicurezza è obsoleta nelle specifiche OPC UA perché non è più considerata sicura. Ti consigliamo di scegliere una politica di sicurezza diversa. Per ulteriori informazioni, vedere [Profile SecurityPolicy — Basic128Rsa15](https://profiles.opcfoundation.org/profile/1532).
+ `BASIC256`— (Obsoleto) La politica di `Basic256` sicurezza è obsoleta nelle specifiche OPC UA perché non è più considerata sicura. Ti consigliamo di scegliere una politica di sicurezza diversa. Per ulteriori informazioni, vedere [SecurityPolicy — Basic256](https://profiles.opcfoundation.org/profile/1536).
Se scegli una politica di sicurezza diversa da`NONE`, devi scegliere `SIGN` o `SIGN_AND_ENCRYPT` per. `messageSecurityMode` È inoltre necessario configurare il server di origine in modo che consideri attendibile il gateway SiteWise Edge. Per ulteriori informazioni, consulta [Configura i server OPC UA in modo che si affidino al gateway AWS IoT SiteWise Edge](enable-source-trust.md).  
`messageSecurityMode`  
La modalità di sicurezza dei messaggi da utilizzare per proteggere le connessioni alla sorgente OPC UA. Seleziona una delle seguenti opzioni:  
+ `NONE`— Il gateway SiteWise Edge non protegge le connessioni alla fonte OPC UA. Ti consigliamo di scegliere una modalità di sicurezza dei messaggi diversa. Se si sceglie questa opzione, è necessario anche selezionare `NONE` per `securityPolicy`.
+ `SIGN`— I dati in transito tra il gateway SiteWise Edge e la fonte OPC UA sono firmati ma non crittografati.
+ `SIGN_AND_ENCRYPT`— I dati in transito tra il gateway e la fonte OPC UA sono firmati e crittografati.
Se si sceglie una modalità di sicurezza dei messaggi diversa da`NONE`, è necessario sceglierne una `securityPolicy` diversa`NONE`. È inoltre necessario configurare il server di origine in modo che consideri attendibile il gateway SiteWise Edge. Per ulteriori informazioni, consulta [Configura i server OPC UA in modo che si affidino al gateway AWS IoT SiteWise Edge](enable-source-trust.md).  
`identityProvider`  
Una struttura del provider di identità che contiene le seguenti informazioni:    
`type`  
Il tipo di credenziali di autenticazione richieste dall'origine. Seleziona una delle seguenti opzioni:  
+ `Anonymous`— La fonte non richiede l'autenticazione per la connessione.
+ `Username`— L'origine richiede un nome utente e una password per la connessione. Se si sceglie questa opzione, è necessario definire `usernameSecretArn` in `identityProvider`.  
`usernameSecretArn`  
(Facoltativo) L'ARN di un Gestione dei segreti AWS segreto. Il gateway SiteWise Edge utilizza le credenziali di autenticazione contenute in questo segreto quando si connette a questa fonte. È necessario collegare segreti al SiteWise connettore IoT del gateway SiteWise Edge per utilizzarli per l'autenticazione dell'origine. Per ulteriori informazioni, consulta [Configurare l'autenticazione dell'origine dati per SiteWise Edge](configure-source-authentication-ggv2.md).  
Questo campo è obbligatorio se si sceglie `Username` per `type` in `identityProvider`.  
`nodeFilterRules`  
Un elenco di strutture di regole di filtro dei nodi che definiscono i percorsi dei flussi di dati OPC UA da inviare al AWS Cloud. Puoi utilizzare i filtri dei nodi per ridurre il tempo di avvio e l'utilizzo della CPU del gateway SiteWise Edge includendo solo i percorsi dei dati utilizzati per la modellazione. AWS IoT SiteWise Per impostazione predefinita, i gateway SiteWise Edge caricano tutti i percorsi OPC UA tranne quelli che iniziano con. `/Server/` Per definire i filtri dei nodi OPC UA, è possibile utilizzare i percorsi dei nodi `*` e `**` i caratteri jolly. Per ulteriori informazioni, consulta [Usa i filtri dei nodi OPC UA in Edge SiteWise](opc-ua-node-filters.md).  
Ogni struttura dell'elenco deve contenere le seguenti informazioni:    
`action`  
L'operazione per questa regola di filtro dei nodi. Puoi scegliere le seguenti opzioni:  
+ `INCLUDE`— Il gateway SiteWise Edge include solo flussi di dati che soddisfano questa regola.  
`definition`  
Una struttura di regole del filtro dei nodi che contiene le seguenti informazioni:    
`type`  
Il tipo di percorso del filtro dei nodi per questa regola. Puoi scegliere le seguenti opzioni:  
+ `OpcUaRootPath`— Il gateway SiteWise Edge valuta questo percorso di filtro del nodo rispetto alla radice della gerarchia dei percorsi OPC UA.  
`rootPath`  
Il percorso del filtro del nodo da valutare rispetto alla radice della gerarchia dei percorsi OPC UA. Questo percorso deve iniziare con. `/`  
`measurementDataStreamPrefix`  
Una stringa da aggiungere a tutti i flussi di dati dall'origine. Il gateway SiteWise Edge aggiunge questo prefisso a tutti i flussi di dati provenienti da questa fonte. Utilizzare un prefisso del flusso di dati per distinguere tra flussi di dati con lo stesso nome da origini diverse. Ogni flusso di dati deve avere un nome univoco all'interno del tuo account.  
`typeConversions`  
I tipi di conversioni disponibili per i tipi di dati OPC UA non supportati. Ogni tipo di dati viene convertito in stringhe. Per ulteriori informazioni, consulta [Conversione di tipi di dati non supportati](string-conversion.md).    
`array`  
Il tipo di dati di matrice semplice che viene convertito in stringhe. Puoi scegliere le seguenti opzioni:  
+ `JsonArray`— Indica che avete scelto di convertire i tipi di dati dell'array semplice in stringhe.  
`datetime`  
Il tipo di DateTime dati che viene convertito in stringhe. Puoi scegliere le seguenti opzioni:  
+ `ISO8601String`— Indica che avete scelto di convertire i tipi di dati ISO 8601 in stringhe.  
`destination`  
Configurazione per la destinazione dei tag OPC UA. I gateway V3 con stream classico, v2 e MQTT hanno configurazioni diverse per le destinazioni.    
`type`  
Il tipo di destinazione.  
`streamName`— *solo per stream classici, gateway V2*  
Il nome del flusso . Il nome dello stream deve essere univoco.  
`streamBufferSize`— *solo per stream classici, gateway V2*  
La dimensione del buffer dello stream. Questo è importante per gestire il flusso di dati da fonti OPC UA.  
`defaultPropertyGroupConfig`— Solo gateway V3 *abilitati per MQTT*  
(Facoltativo) Configurazione per il gruppo di proprietà predefinito. Il gruppo di proprietà predefinito contiene tutti i nodi non altrimenti contenuti in un gruppo di proprietà definito dall'utente.    
`dataChangeTrigger`  
Il trigger di modifica dei dati predefinito da utilizzare nel gruppo di proprietà predefinito. I valori validi sono `STATUS_VALUE_TIMESTAMP`, `STATUS_VALUE` o `STATUS`.
`defaultPropertyGroupConfig`richiede la versione 3.1.0 o successiva del componente IoT SiteWise OPC UA collector. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).  
`discoveryConfig`— Solo gateway V3 abilitati per *MQTT*  
(Opzionale) Configurazione per il processo di scoperta dei nodi OPC UA.    
`enableNodeTraversal`  
Speciifica se continuare ad attraversare i nodi secondari del nodo radice definito dal filtro dei nodi dell'origine dati. Se impostato su`false`, il rilevamento si interrompe nel nodo radice.  
`avoidNodeTreeLoops`  
Speciifica se evitare loop infiniti durante il processo di navigazione dei nodi OPC UA. Se impostato su`true`, il gateway tiene traccia dei nodi visitati per evitare riferimenti circolari.  
`maxConcurrentBrowseRequests`  
Il numero massimo di richieste di navigazione simultanee che il server OPC UA può gestire contemporaneamente. L'intervallo valido è compreso tra 1 e 500.  
`maxNodesPerBrowseRequest`  
Il numero massimo di nodi da inviare in ogni richiesta di navigazione al server OPC UA. L'intervallo valido è compreso tra 1 e 1.000.  
`periodicDiscovery`  
Configurazione per l'esecuzione periodica del rilevamento a intervalli fissi. Il rilevamento periodico è abilitato quando viene fornita questa configurazione.    
`interval`  
La quantità di tempo che intercorre tra le operazioni di rilevamento periodiche. È possibile utilizzarlo `m` per minuti, `h` per ore e `d` per giorni. Ad esempio `90m` o `1h`. L'intervallo minimo è di 30 secondi.  
`maxNodesDiscoveredPerInterval`  
Il numero massimo di nodi che devono essere scoperti per intervallo di rilevamento. Questo aiuta a controllare il carico sia sul gateway che sul server OPC UA.
`periodicDiscovery`richiede la versione 3.1.0 o successiva del componente IoT SiteWise OPC UA collector. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).
Se il rilevamento viene eseguito all'infinito, abilita. `avoidNodeTreeLoops` Monitora l'avanzamento del rilevamento nei CloudWatch log del componente. `aws.iot.SiteWiseOpcUaCollector`

`propertyGroups`  
(Facoltativo) L'elenco dei gruppi di proprietà che definiscono `deadband` e `scanMode` richiesti dal protocollo.    
`name`  
Il nome del gruppo di proprietà. Dovrebbe essere un identificatore univoco.  
`deadband`  
Il `deadband` valore definisce la modifica minima del valore di un punto dati che deve avvenire prima che i dati vengano inviati al cloud. Contiene le seguenti informazioni:    
`type`  
I tipi di banda morta supportati. Puoi scegliere le seguenti opzioni:  
+ `ABSOLUTE`— Un valore fisso che specifica la modifica assoluta minima richiesta per considerare un punto dati sufficientemente significativo da essere inviato al cloud.
+ `PERCENT`— Un valore dinamico che specifica la modifica minima richiesta come percentuale del valore dell'ultimo punto dati inviato. Questo tipo di banda morta è utile quando i valori dei dati variano in modo significativo nel tempo.  
`value`  
Il valore della banda morta. Quando `type` è`ABSOLUTE`, questo valore è un doppio senza unità. Quando `type` è`PERCENT`, questo valore è un doppio tra `1` e`100`.  
`eguMin`  
(Facoltativo) L'unità tecnica minima quando si utilizza una `PERCENT` banda morta. Si imposta questa impostazione se il server OPC UA non ha unità tecniche configurate.  
`eguMax`  
(Facoltativo) Il valore massimo dell'unità tecnica quando si utilizza una banda `PERCENT` morta. Si imposta questa impostazione se il server OPC UA non ha unità tecniche configurate.  
`timeoutMilliseconds`  
La durata in millisecondi prima del timeout. Il valore minimo è. `100`  
`scanMode`  
La `scanMode` struttura che contiene le seguenti informazioni:    
`type`  
I tipi supportati di`scanMode`. I valori accettati sono `POLL` e`EXCEPTION`.  
`rate`  
L'intervallo di campionamento per la modalità di scansione.  
`timestampToReturn`  
La fonte del timestamp. Puoi scegliere le seguenti opzioni:  
+ `SOURCE_TIME`— Utilizza il timestamp del tuo dispositivo.
+ `SERVER_TIME`— Utilizza il timestamp del tuo server.
Da utilizzare `TimestampToReturn` con la versione 2.5.0 o successiva del componente IoT SiteWise OPC UA Collector. Se si utilizza questa funzionalità con versioni precedenti, gli aggiornamenti della configurazione non riescono. Per ulteriori informazioni, consulta [Aggiorna la versione di un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).  
`nodeFilterRuleDefinitions`  
(Facoltativo) Un elenco di percorsi di nodi da includere nel gruppo di proprietà. I gruppi di proprietà non possono sovrapporsi. Se non si specifica un valore per questo campo, il gruppo contiene tutti i percorsi sotto la radice e non è possibile creare gruppi di proprietà aggiuntivi. La struttura `nodeFilterRuleDefinitions` contiene le seguenti informazioni:    
`type`  
`OpcUaRootPath`è l'unico tipo supportato. Ciò specifica che il valore di `rootPath` è un percorso relativo alla radice dello spazio di navigazione OPC UA.  
`rootPath`  
Un elenco delimitato da virgole che specifica i percorsi (relativi alla radice) da includere nel gruppo di proprietà.

### Esempi di configurazione delle funzionalità aggiuntivi per stream Classic, gateway V2 ()AWS CLI
<a name="opc-ua-source-example-cli"></a>

L'esempio seguente definisce una configurazione della funzionalità del gateway OPC UA SiteWise Edge a partire da un payload archiviato in un file JSON.

```
aws iotsitewise update-gateway-capability-configuration \
--capability-namespace "iotsitewise:opcuacollector:2" \
--capability-configuration file://opc-ua-configuration.json
```

**Example : configurazione del codice sorgente OPC UA**  
Il `opc-ua-configuration.json` file seguente definisce una configurazione sorgente OPC UA di base e non sicura.  

```
{
    "sources": [
        {
            "name": "Wind Farm #1",
            "endpoint": {
                "certificateTrust": {
                    "type": "TrustAny"
                },
                "endpointUri": "opc.tcp://203.0.113.0:49320",
                "securityPolicy": "NONE",
                "messageSecurityMode": "NONE",
                "identityProvider": {
                    "type": "Anonymous"
                },
                "nodeFilterRules": []
            },
            "measurementDataStreamPrefix": ""
        }
    ]
}
```

**Example : configurazione del codice sorgente OPC UA con gruppi di proprietà definiti**  
Il `opc-ua-configuration.json` file seguente definisce una configurazione sorgente OPC UA di base e non sicura con gruppi di proprietà definiti.  

```
{
    "sources": [
        {
            "name": "source1",
            "endpoint": {
                "certificateTrust": {
                    "type": "TrustAny"
                },
                "endpointUri": "opc.tcp://10.0.0.9:49320",
                "securityPolicy": "NONE",
                "messageSecurityMode": "NONE",
                "identityProvider": {
                    "type": "Anonymous"
                },
                "nodeFilterRules": [
                    {
                        "action": "INCLUDE",
                        "definition": {
                            "type": "OpcUaRootPath",
                            "rootPath": "/Utilities/Tank"
                        }
                    }
                ]
            },
            "measurementDataStreamPrefix": "propertyGroups",
            "propertyGroups": [
                 {
                     "name": "Deadband_Abs_5",
                     "nodeFilterRuleDefinitions": [
                         {
                             "type": "OpcUaRootPath",
                             "rootPath": "/Utilities/Tank/Temperature/TT-001"
                         },
                         {
                             "type": "OpcUaRootPath",
                             "rootPath": "/Utilities/Tank/Temperature/TT-002"
                         }
                     ],
                     "deadband": {
                         "type":"ABSOLUTE",
                         "value": 5.0,
                         "timeoutMilliseconds": 120000
                     }
                 },
                 {
                     "name": "Polling_10s",
                     "nodeFilterRuleDefinitions": [
                         {
                             "type": "OpcUaRootPath",
                             "rootPath": "/Utilities/Tank/Pressure/PT-001"
                         }
                     ],
                     "scanMode": {
                         "type": "POLL",
                         "rate": 10000
                     }
                 },
                 {
                     "name": "Percent_Deadband_Timeout_90s",
                     "nodeFilterRuleDefinitions": [
                         {
                             "type": "OpcUaRootPath",
                             "rootPath": "/Utilities/Tank/Flow/FT-*"
                         }
                     ],
                     "deadband": {
                         "type":"PERCENT",
                         "value": 5.0,
                         "eguMin": -100,
                         "eguMax": 100,
                         "timeoutMilliseconds": 90000
                     }
                 }
             ]
        }
    ]
}
```

**Example : configurazione del codice sorgente OPC UA con proprietà**  
Il seguente esempio JSON `opc-ua-configuration.json` definisce una configurazione di origine OPC UA con le seguenti proprietà:  
+ Considera attendibile qualsiasi certificato.
+ Utilizza la politica `BASIC256` di sicurezza per proteggere i messaggi.
+ Usa la modalità `SIGN_AND_ENCRYPT` per proteggere le connessioni.
+ Utilizza le credenziali di autenticazione memorizzate in un segreto di Secrets Manager.
+ Filtra i flussi di dati tranne quelli il cui percorso inizia con `/WindFarm/2/WindTurbine/`.
+ Aggiunge `/Washington` all'inizio di ogni percorso del flusso di dati per distinguere tra questo "Parco eolico \$12" e un "Parco eolico \$12" in un'altra area.

```
{
    "sources": [
        {
            "name": "Wind Farm #2",
            "endpoint": {
                "certificateTrust": {
                    "type": "TrustAny"
                },
                "endpointUri": "opc.tcp://203.0.113.1:49320",
                "securityPolicy": "BASIC256",
                "messageSecurityMode": "SIGN_AND_ENCRYPT",
                "identityProvider": {
                    "type": "Username",
                    "usernameSecretArn": "arn:aws:secretsmanager:region:123456789012:secret:greengrass-windfarm2-auth-1ABCDE"
                },
                "nodeFilterRules": [
                  {
                      "action": "INCLUDE",
                      "definition": {
                          "type": "OpcUaRootPath",
                          "rootPath": "/WindFarm/2/WindTurbine/"
                    }
                  }
                ]
            },
            "measurementDataStreamPrefix": "/Washington"
        }
    ]
}
```

**Example : configurazione del codice sorgente OPC UA con certificato attendibile**  
Il seguente esempio JSON `opc-ua-configuration.json` definisce una configurazione di origine OPC UA con le seguenti proprietà:  
+ Considera attendibile un determinato certificato X.509.
+ Utilizza la politica `BASIC256` di sicurezza per proteggere i messaggi.
+ Usa la modalità `SIGN_AND_ENCRYPT` per proteggere le connessioni.

```
{
    "sources": [
        {
            "name": "Wind Farm #3",
            "endpoint": {
                "certificateTrust": {
                    "type": "X509",
                    "certificateBody": "-----BEGIN CERTIFICATE-----
          MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w
 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ
 WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw
 EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5
 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh
 MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb
 WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx
 HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE
 BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI
 k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ
 ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr
 AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN
 KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo
 EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw
 3rrszlaEXAMPLE=
          -----END CERTIFICATE-----",
                    "certificateChain": "-----BEGIN CERTIFICATE-----
          MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w
 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ
 WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw
 EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5
 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh
 MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb
 WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx
 HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE
 BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI
 k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ
 ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr
 AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN
 KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo
 EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw
 3rrszlaEXAMPLE=
          -----END CERTIFICATE-----"
                },
                "endpointUri": "opc.tcp://203.0.113.2:49320",
                "securityPolicy": "BASIC256",
                "messageSecurityMode": "SIGN_AND_ENCRYPT",
                "identityProvider": {
                    "type": "Anonymous"
                },
                "nodeFilterRules": []
              },
            "measurementDataStreamPrefix": ""
              
        }
    ]
}
```

# Configura i server OPC UA in modo che si affidino al gateway AWS IoT SiteWise Edge
<a name="enable-source-trust"></a>

Se scegli un'opzione `messageSecurityMode` diversa da **Nessuno** quando configuri la tua sorgente OPC UA, devi abilitare i server di origine a considerare attendibile il AWS IoT SiteWise gateway Edge. Il gateway SiteWise Edge genera un certificato che il server di origine potrebbe richiedere. Il processo varia a seconda dei server di origine. Per ulteriori informazioni, consulta la documentazione relativa ai server in uso.

La procedura seguente descrive i passaggi di base.

**Per consentire a un server OPC UA di considerare attendibile il SiteWise gateway Edge**

1. Apri l'interfaccia per configurare il tuo server OPC UA.

1. Inserite il nome utente e la password per l'amministratore del server OPC UA.

1. Individua **Trusted Clients** nell'interfaccia, quindi scegli **AWS IoT SiteWise Gateway Client**.

1. Scegliere **Trust (Considera attendibile)**.

## Esportazione del certificato client OPC UA
<a name="export-opc-ua-client-certificate"></a>

Alcuni server OPC UA richiedono l'accesso al file di certificato del client OPC UA per considerare attendibili il gateway Edge. SiteWise Se ciò si applica ai server OPC UA, è possibile utilizzare la seguente procedura per esportare il certificato client OPC UA dal gateway Edge. SiteWise Quindi, puoi importare il certificato sul tuo server OPC UA.

**Per esportare il file del certificato del client OPC UA per una fonte**

1. Eseguire il comando seguente per passare alla directory che contiene il file del certificato. Sostituisci *sitewise-work* con il percorso di archiviazione locale per la cartella di lavoro *aws.iot.SiteWiseEdgeCollectorOpcua* Greengrass e *source-name* sostituiscilo con il nome dell'origine dati. 

   Per impostazione predefinita, la cartella di lavoro Greengrass si trova */greengrass/v2/work/aws.iot.SiteWiseEdgeCollectorOpcua* su Linux e *C:/greengrass/v2/work/aws.iot.SiteWiseEdgeCollectorOpcua* su. Microsoft Windows 

   ```
   cd /sitewise-work/source-name/opcua-certificate-store
   ```

1. Il certificato client OPC UA del gateway SiteWise Edge per questa fonte è contenuto nel `aws-iot-opcua-client.pfx` file.

   Eseguire il comando seguente per esportare il certificato in un file `.pem` chiamato `aws-iot-opcua-client-certificate.pem`.

   ```
   keytool -exportcert -v -alias aws-iot-opcua-client -keystore aws-iot-opcua-client.pfx -storepass amazon -storetype PKCS12 -rfc > aws-iot-opcua-client-certificate.pem
   ```

1. Trasferisci il file del certificato dal gateway SiteWise Edge al server OPC UA. `aws-iot-opcua-client-certificate.pem`

   Per fare ciò, è possibile utilizzare software comuni come il programma `scp` per trasferire il file utilizzando il protocollo SSH. Per ulteriori informazioni, consultare la pagina [Secure copy](https://en.wikipedia.org/wiki/Secure_copy) su *Wikipedia*.
**Nota**  
Se il tuo SiteWise Edge gateway è in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2) e ti connetti ad esso per la prima volta, devi configurare i prerequisiti per la connessione. Per ulteriori informazioni, consultare [Connect to your Linux instance using SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) nella *Guida per l'utente di Amazon EC2*.

1. Importa il file del certificato sul server OPC UA per considerare attendibile il gateway Edge. `aws-iot-opcua-client-certificate.pem` SiteWise Le fasi variano a seconda dei server di origine in uso. Consultare la documentazione relativa al server.

# Filtra gli intervalli di inserimento dei dati con OPC UA
<a name="opcua-data-acquisition"></a>

È possibile controllare il modo in cui si inseriscono i dati con una fonte OPC UA utilizzando la modalità di scansione e gli intervalli di banda morta. Queste funzionalità consentono di controllare il tipo di dati da importare e come e quando il server e il gateway SiteWise Edge si scambiano queste informazioni.

## Raccogli o filtra i dati in base alla qualità
<a name="opcua-data-quality"></a>

È possibile configurare le impostazioni di qualità dei dati per controllare quali dati vengono raccolti dalla fonte OPC UA. La fonte di dati include la valutazione della qualità come metadati quando la invia. È possibile selezionare una o tutte le seguenti opzioni:
+ `Good`
+ `Bad`
+ `Uncertain`

### Gestire valori NaN o null
<a name="nan-null"></a>

SiteWise Edge supporta la raccolta e la gestione di valori NaN e null.
+ *NaN (Not a Number):* rappresenta risultati numerici non definiti o non rappresentabili.
+ *Nullo: indica i dati mancanti*.

Il collettore IoT SiteWise OPC UA acquisisce valori NaN e Null con qualità BAD o UNCERTAIN. Questi valori speciali vengono scritti nel flusso locale, consentendo una raccolta di dati più completa.

## Controlla la frequenza di raccolta dei dati con la modalità Scan
<a name="opcua-scanmode"></a>

È possibile configurare la modalità di scansione OPC UA per controllare il modo in cui si raccolgono i dati dalla fonte OPC UA. Puoi scegliere la modalità di abbonamento o di sondaggio.
+ Modalità di abbonamento: la fonte OPC UA raccoglie i dati da inviare al gateway SiteWise Edge alla frequenza definita dalla velocità di scansione. Il server invia i dati solo quando il valore è cambiato, quindi questa è la frequenza massima di ricezione dei dati del gateway SiteWise Edge.
+ Modalità polling: il gateway SiteWise Edge esegue il polling della sorgente OPC UA a una frequenza prestabilita definita dalla velocità di scansione. Il server invia i dati indipendentemente dal fatto che il valore sia cambiato, quindi il gateway SiteWise Edge riceve sempre i dati a questo intervallo.
**Nota**  
L'opzione della modalità polling ha la precedenza sulle impostazioni della banda morta per questa fonte.

## Filtra l'ingestione di dati OPC UA con intervalli di banda morta
<a name="opcua-deadbanding"></a>

 Puoi applicare una banda morta ai tuoi gruppi di proprietà di origine OPC UA per filtrare e scartare determinati dati invece di inviarli al Cloud. AWS Una banda morta specifica una finestra di fluttuazioni previste nei valori dei dati in entrata dalla fonte OPC UA. Se i valori rientrano in questa finestra, il server OPC UA non li invierà al Cloud. AWS Puoi utilizzare il filtro a banda morta per ridurre la quantità di dati che stai elaborando e inviando al Cloud. AWS Per sapere come configurare le sorgenti OPC UA per il tuo gateway SiteWise Edge, consulta. [Fonti di dati OPC UA per gateway Edge AWS IoT SiteWise](configure-sources-opcua.md)

**Nota**  
 Il server elimina tutti i dati che rientrano nella finestra specificata dalla banda morta. Non puoi recuperare questi dati scartati.

### Tipi di zone morte
<a name="deadband-types"></a>

 È possibile specificare due tipi di bande morte per il gruppo di proprietà del server OPC UA. Questi consentono di scegliere la quantità di dati da inviare al AWS Cloud e la quantità da scartare.
+ Percentuale: si specifica una finestra utilizzando una percentuale della fluttuazione prevista nel valore di misurazione. Il server calcola la finestra esatta in base a questa percentuale e invia al AWS Cloud i dati che superano i limiti della finestra. Ad esempio, specificando un valore di banda morta del 2% su un sensore con un intervallo compreso tra -100 gradi Fahrenheit e \$1100 gradi Fahrenheit, si indica al server di inviare dati al Cloud quando il valore cambia di 4 gradi Fahrenheit o più. AWS 
**Nota**  
 Facoltativamente, puoi specificare un valore di banda morta minimo e massimo per questa finestra se il server di origine non definisce le unità tecniche. Se non viene fornito un intervallo di unità tecniche, il server OPC UA utilizza per impostazione predefinita l'intervallo completo del tipo di dati di misurazione.
+ Assoluto: si specifica una finestra utilizzando unità esatte. Ad esempio, se si specifica un valore di banda morta pari a 2 su un sensore, si indica al server di inviare dati al AWS Cloud quando il loro valore cambia di almeno 2 unità. È possibile utilizzare la banda morta assoluta per ambienti dinamici in cui sono regolarmente previste fluttuazioni durante le normali operazioni.

### Timeout con banda morta
<a name="deadband-timeout"></a>

 Facoltativamente, puoi configurare un'impostazione di timeout per la banda morta. Dopo questo timeout, il server OPC UA invia il valore di misurazione corrente anche se rientra nella fluttuazione prevista della banda morta. È possibile utilizzare l'impostazione del timeout per garantire AWS IoT SiteWise l'acquisizione di un flusso costante di dati in ogni momento, anche quando i valori non superano la finestra di banda morta definita. 

# Usa i filtri dei nodi OPC UA in Edge SiteWise
<a name="opc-ua-node-filters"></a>

Quando si definiscono le fonti di dati OPC UA per un gateway SiteWise Edge, è possibile definire filtri di nodo. I filtri dei nodi consentono di limitare i percorsi del flusso di dati che il gateway SiteWise Edge invia al cloud. Puoi utilizzare i filtri dei nodi per ridurre il tempo di avvio e l'utilizzo della CPU del gateway SiteWise Edge includendo solo i percorsi dei dati utilizzati per la modellazione AWS IoT SiteWise. Per impostazione predefinita, i gateway SiteWise Edge caricano tutti i percorsi OPC UA tranne quelli che iniziano con. `/Server/` È possibile utilizzare i caratteri jolly `*` e `**` nei filtri dei nodi per includere più percorsi dei flussi di dati con un solo filtro. Per informazioni su come configurare le sorgenti OPC UA per il gateway SiteWise Edge, consulta. [Fonti di dati OPC UA per gateway Edge AWS IoT SiteWise](configure-sources-opcua.md)

**Nota**  
AWS IoT SiteWise riavvia il gateway SiteWise Edge ogni volta che aggiungi o modifichi una fonte. Il gateway SiteWise Edge non inserirà dati durante l'aggiornamento della configurazione di origine. Il tempo necessario per riavviare il gateway SiteWise Edge dipende dal numero di tag presenti nelle sorgenti del gateway SiteWise Edge. Il tempo di riavvio può variare da pochi secondi (per un gateway SiteWise Edge con pochi tag) a diversi minuti (per un gateway SiteWise Edge con molti tag).

La tabella seguente elenca i caratteri jolly che è possibile utilizzare per filtrare le fonti di dati OPC UA.


**jolly del filtro dei nodi OPC UA**  

| Carattere jolly | Description | 
| --- | --- | 
| \$1 | Corrisponde a un singolo livello in un percorso dei flussi di dati. | 
| \$1\$1 | Corrisponde a più livelli in un percorso dei flussi di dati. | 

**Nota**  
Se configuri una fonte con un filtro ampio e successivamente modifichi la fonte per utilizzare un filtro più restrittivo, AWS IoT SiteWise interrompe l'archiviazione dei dati che non corrispondono al nuovo filtro.

**Example : Scenario che utilizza filtri di nodo**  
Quelli che seguono sono ipotetici flussi di dati:  
+ `/WA/Factory 1/Line 1/PLC1`
+ `/WA/Factory 1/Line 1/PLC2`
+ `/WA/Factory 1/Line 2/Counter1`
+ `/WA/Factory 1/Line 2/PLC1`
+ `/OR/Factory 1/Line 1/PLC1`
+ `/OR/Factory 1/Line 2/Counter2`
Utilizzando i flussi di dati precedenti, è possibile definire filtri di nodo per limitare i dati da includere dalla fonte OPC UA.  
+ Per selezionare tutti i nodi in questo esempio, usa `/` o. `/**/` È possibile includere più directory o cartelle con i caratteri jolly `**`.
+ Per selezionare tutti i flussi di dati `PLC`, si possono utilizzare i caratteri `/*/*/*/PLC*` o `/**/PLC*`.
+ Per selezionare tutti i contatori in questo esempio, utilizzate `/**/Counter*` o`/*/*/*/Counter*`.
+ Per selezionare tutti i contatori da `Line 2`, utilizzare `/**/Line 2/Counter*`.

# Conversione di tipi di dati non supportati
<a name="string-conversion"></a>

Facoltativamente, abilita la conversione dei tipi di dati AWS IoT SiteWise per array e DateTime tipi di dati semplici. AWS IoT SiteWise non supporta tutti i tipi di dati OPC UA. Quando invii dati non supportati al tuo flusso di AWS IoT Greengrass dati, tali dati vengono persi. Tuttavia, convertendo i tipi di dati nativi non supportati in stringhe, puoi importare i dati anziché eliminarli AWS IoT SiteWise . AWS IoT SiteWise serializza i dati convertiti in modo da poter successivamente utilizzare le proprie funzioni per riconvertire le stringhe al tipo di dati originale a valle, se necessario. 

È possibile aggiornare le impostazioni di conversione dei tipi di dati per un'origine dati in qualsiasi momento e ogni origine dati può avere le proprie impostazioni.

Quando aggiungi fonti di dati in Console AWS IoT SiteWise, ci sono due caselle di controllo in **Conversione del tipo di dati** nella **configurazione avanzata**. Puoi indicare quali tipi di dati convertire in stringhe.

Inoltre, il collettore IoT SiteWise OPC UA può accettare valori NaN o null sull'edge.
+ Converti i valori degli array con tipi di dati semplici in stringhe JSON
+ Converti DateTime i valori in stringhe ISO 8601

## Prerequisito
<a name="string-conversion-prereq"></a>
+ Utilizza la versione 2.5.0 o successiva del collettore [IoT SiteWise OPC UA](https://docs.aws.amazon.com/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html).

## Limitazioni
<a name="string-conversion-limits"></a>

Queste sono le limitazioni per la conversione dei tipi di dati OPC UA in stringhe in. AWS IoT SiteWise
+ La conversione di tipi di dati complessi non è supportata.
+ I limiti delle stringhe dopo la conversione sono di 1024 byte. Se la stringa è più lunga di 1024 byte, viene rifiutata da. AWS IoT SiteWise

# Configurare l'autenticazione dell'origine dati per SiteWise Edge
<a name="configure-source-authentication-ggv2"></a>

Se il tuo server OPC UA richiede credenziali di autenticazione per la connessione, puoi utilizzarle Gestione dei segreti AWS per creare e distribuire un codice segreto sul tuo SiteWise gateway Edge. Gestione dei segreti AWS crittografa i segreti sul dispositivo per proteggere il nome utente e la password finché non è necessario utilizzarli. Per ulteriori informazioni sul componente AWS IoT Greengrass Secret Manager, consulta [Secret manager](https://docs.aws.amazon.com/greengrass/v2/developerguide/secret-manager-component.html) nella *AWS IoT Greengrass Version 2 Developer Guide*.

Per informazioni sulla gestione dell'accesso ai segreti di Secrets Manager, vedere:
+ [Chi ha i permessi per accedere ai tuoi Gestione dei segreti AWS segreti](https://docs.aws.amazon.com/secretsmanager/latest/userguide/determine-acccess_examine-iam-policies.html).
+ [Determinare se una richiesta è consentita o rifiutata all'interno di un account](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow).

## Fase 1: Creare segreti di autenticazione all'origine
<a name="create-secrets-ggv2"></a>

Puoi utilizzarlo Gestione dei segreti AWS per creare un segreto di autenticazione per la tua fonte di dati. Nel campo segreto, definisci **username** coppie **password** chiave-valore che contengono i dettagli di autenticazione per la tua fonte di dati.

**Creazione di un segreto (console)**

1. Passare alla [console Gestione dei segreti AWS](https://console.aws.amazon.com/secretsmanager/).

1. Scegli **Archivia un nuovo segreto**.

1. In **Tipo segreto**, scegli **Altro tipo di** segreti.

1. In **Coppie chiave/valore**, procedi come segue:

   1. Nella prima casella di immissione, immettete **username** e nella seconda casella di immissione inserite il nome utente.

   1. Scegli **Aggiungi riga**.

   1. Nella prima casella di immissione, inserisci **password** e nella seconda casella di immissione inserisci la password.

1. **Per la **chiave di crittografia**, seleziona **aws/secretsmanager**, quindi scegli Avanti.**

1. **Nella pagina **Salva una nuova pagina segreta**, inserisci un nome segreto.** 

1. (Facoltativo) Inserisci una **descrizione** che ti aiuti a identificare questo segreto, quindi scegli **Avanti**.

1. (Facoltativo) In **Memorizza una nuova pagina segreta**, attiva **Rotazione automatica**. Per ulteriori informazioni, consulta [Ruotare i segreti](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) nella *Guida per l'Gestione dei segreti AWS utente*.

1. Specificate un programma di rotazione.

1. **Scegli una funzione Lambda in grado di ruotare questo segreto, quindi scegli Avanti.**

1. **Controlla le configurazioni segrete, quindi scegli Store.**

Per autorizzare l'interazione con il gateway SiteWise Edge Gestione dei segreti AWS, il ruolo IAM del gateway SiteWise Edge deve consentire l'azione`secretsmanager:GetSecretValue`. Puoi utilizzare il **dispositivo principale Greengrass** per cercare la policy IAM. Per ulteriori informazioni sull'aggiornamento di una policy IAM, consulta [Modifica delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) nella *Guida per l'AWS Identity and Access Management utente*.

**Example policy**  
Sostituisci *secret-arn* con l'Amazon Resource Name (ARN) del segreto creato nel passaggio precedente. Per ulteriori informazioni su come ottenere l'ARN di un segreto, consulta [Find secrets Gestione dei segreti AWS in](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) the *Gestione dei segreti AWS User* Guide.    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement":[
  {
     "Action":[
        "secretsmanager:GetSecretValue"
     ],
     "Effect":"Allow",
     "Resource":[
        "arn:aws:secretsmanager:us-east-1:123456789012:secret/*"
     ]
  }
]
}
```

## Passaggio 2: distribuisci i segreti sul tuo dispositivo gateway SiteWise Edge
<a name="deploy-secrets-ggv2"></a>

Puoi utilizzare la AWS IoT SiteWise console per distribuire segreti sul tuo gateway SiteWise Edge.

**Per distribuire un segreto (console)**

1. Passare alla [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Nel riquadro di navigazione, scegliere ** Gateways**.

1. Dall'elenco dei **gateway**, scegli il gateway SiteWise Edge di destinazione.

1. Nella sezione **Configurazione del gateway**, scegli il collegamento del **dispositivo principale Greengrass** per aprire il AWS IoT Greengrass core associato al gateway SiteWise Edge.

1. Nel riquadro di navigazione, scegli **Implementazioni**.

1. **Scegli la distribuzione di destinazione, quindi scegli Rivedi.**

1. Nella pagina **Specificare la destinazione**, scegli **Avanti**.

1. Nella pagina **Seleziona componenti**, nella sezione **Componenti pubblici**, disattiva **Mostra solo i componenti selezionati**.

1. Cerca e scegli **aws.greengrass. **SecretManager**componente, quindi scegli Avanti.**

1. Dall'elenco **Componenti selezionati**, scegli **aws.greengrass. **SecretManager**componente, quindi scegli Configura componente.**

1. Nel campo **Configurazione da unire**, aggiungi il seguente oggetto JSON.
**Nota**  
Sostituisci *secret-arn* con l'ARN del segreto creato nel passaggio precedente. Per ulteriori informazioni su come ottenere l'ARN di un segreto, consulta [Find secrets Gestione dei segreti AWS in](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) the *Gestione dei segreti AWS User* Guide.

   ```
   {
   "cloudSecrets":[
     {
        "arn":"secret-arn"
     }
   ]
   }
   ```

1. Scegli **Conferma**.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Configura impostazioni avanzate**, scegli **Avanti**.

1. Rivedi le configurazioni di distribuzione, quindi scegli **Distribuisci**.

## Passaggio 3: aggiungere configurazioni di autenticazione
<a name="add-authentication-configurations"></a>

È possibile utilizzare la AWS IoT SiteWise console per aggiungere configurazioni di autenticazione al gateway SiteWise Edge.

**Per aggiungere configurazioni di autenticazione (console)**

1. Passare alla [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Dall'elenco dei **gateway**, scegli il gateway SiteWise Edge di destinazione.

1. Dall'elenco **Sorgenti dati**, scegli l'origine dati di destinazione, quindi scegli **Modifica**.

1. Nella pagina **Aggiungi un'origine dati**, scegli **Configurazione avanzata**.

1. Per la **configurazione dell'autenticazione**, scegli il segreto che hai distribuito nel passaggio precedente.

1. Scegli **Save** (Salva).