

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.

# Configure una fuente OPC UA en Edge SiteWise
<a name="configure-opcua-source"></a>

Puede usar la AWS IoT SiteWise consola o una función de puerta de enlace SiteWise Edge para definir y agregar una fuente OPC UA a su puerta de enlace SiteWise Edge para representar un servidor OPC UA local.

**Topics**
+ [Configuración de un origen OPC UA (consola)](#config-opcua-source-console)
+ [Configure una fuente OPC UA ()AWS CLI](#configure-opc-ua-source-cli)

## Configuración de un origen OPC UA (consola)
<a name="config-opcua-source-console"></a>

Puede utilizar la consola para configurar el origen OPC UA mediante el siguiente procedimiento.

**nota**  
Advertencia: si se duplica, se TQVs puede duplicar la carga.

**Para configurar una fuente OPC UA mediante la consola AWS IoT SiteWise**

1. Vaya a la [consola de AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. En el panel de navegación de la izquierda, selecciona **las puertas de enlace Edge** en la sección **Edge**.

1. Seleccione la puerta de enlace SiteWise Edge para añadir una fuente OPC UA.

1. Seleccione **Añadir origen de datos**.

1. Introduzca un nombre para el origen.

1. Escriba el **Punto de conexión local** del servidor de origen de datos. El punto de conexión puede ser la dirección IP o el nombre de host. También puede añadir un número de puerto al punto de conexión local. Por ejemplo, su punto de conexión local podría tener el siguiente aspecto: **opc.tcp://203.0.113.0:49320**

1. (Opcional) En **ID de nodo de selección**, añada filtros de nodo para limitar los flujos de datos que se ingieren en la nube de AWS . De forma predeterminada, las puertas de enlace SiteWise Edge utilizan el nodo raíz de un servidor para ingerir todos los flujos de datos. Puede usar filtros de nodos para reducir el tiempo de inicio de la puerta de enlace SiteWise Edge y el uso de la CPU al incluir únicamente las rutas a los datos que usted modele. AWS IoT SiteWise De forma predeterminada, las pasarelas SiteWise Edge cargan todas las rutas OPC UA excepto las que comienzan por. `/Server/` Para definir filtros de nodo OPC UA, puede utilizar rutas de nodo y los caracteres comodín `*` y `**`. Para obtener más información, consulte [Utilice filtros de nodo OPC UA en Edge SiteWise](opc-ua-node-filters.md).

1. Los **destinos** varían entre las pasarelas V3 habilitadas para MQTT y las pasarelas V2 para transmisiones clásicas.
   + En las **transmisiones clásicas, los destinos de las pasarelas V2** tienen una relación 1:1 con la fuente. Cada fuente envía datos a un destino concreto.
   + Los **destinos de puerta de enlace V3 habilitados para MQTT se configuran por separado,** ya que el modelo de concentrador y radio permite centralizar la configuración y la administración de múltiples fuentes de datos en diferentes puertas de enlace. Para configurar los destinos en una puerta de enlace V3, consulte. [Comprenda los destinos de AWS IoT SiteWise Edge](gw-destinations.md#source-destination)

------
#### [ Classic steams, V2 gateway destinations ]
   + **AWS IoT SiteWise en tiempo real**: elija esta opción para enviar los datos directamente al AWS IoT SiteWise almacenamiento. Ingiera y supervise los datos en tiempo real en la periferia.
   + **AWS IoT SiteWise Almacenados en búfer mediante Amazon S3**: envíe datos en formato Parquet a Amazon S3 y, a continuación, impórtelos al AWS IoT SiteWise almacenamiento. Elija esta opción para ingerir datos en lotes y almacenar los datos históricos de forma rentable. Puede configurar la ubicación del bucket de Amazon S3 que prefiera y la frecuencia con la que desea que se carguen los datos en Amazon S3. También puede elegir qué hacer con los datos después de su ingesta en AWS IoT SiteWise. Puede elegir que los datos estén disponibles AWS IoT SiteWise tanto en Amazon S3 como en Amazon S3 o puede optar por eliminarlos automáticamente de Amazon S3 después de importarlos AWS IoT SiteWise.
     + El bucket de Amazon S3 es un mecanismo de almacenamiento y almacenamiento en búfer y admite archivos en formato Parquet.
     + Si selecciona la casilla **Importar datos al AWS IoT SiteWise almacenamiento**, los datos se cargan primero en Amazon S3 y, después, en el AWS IoT SiteWise almacenamiento.
       + Si selecciona la casilla **Eliminar datos de Amazon S3**, los datos se eliminarán de Amazon S3 después de importarlos al SiteWise almacenamiento. 
       + Si desactiva la casilla **Eliminar datos de Amazon S3**, los datos se almacenan tanto en Amazon S3 como en SiteWise almacenamiento. 
     + Si desactiva la casilla **Importación de datos al almacenamiento de AWS IoT SiteWise **, los datos solo se almacenarán en Amazon S3. No se importan al SiteWise almacenamiento. 

     Visite [Administración del almacenamiento de datos](manage-data-storage.md) para obtener más información sobre las distintas opciones de almacenamiento que ofrece AWS IoT SiteWise . Para obtener más información sobre precios, consulte [Precios de AWS IoT SiteWise](https://aws.amazon.com/iot-sitewise/pricing/).

      
   + **AWS IoT Greengrass administrador de transmisiones**: utilice el administrador de AWS IoT Greengrass transmisiones para enviar datos a los siguientes destinos en la AWS nube: canales AWS IoT Analytics entrantes, transmisiones en Amazon Kinesis Data Streams, propiedades de activos u objetos AWS IoT SiteWise en Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte [Administrar flujos de datos en la Guía AWS IoT Greengrass básica](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-data-streams.html) *para AWS IoT Greengrass Version 2 desarrolladores*.

     Introduzca un nombre para la AWS IoT Greengrass transmisión.

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

   1. Consulta [Puertas de enlace V3 habilitadas para MQTT para Edge AWS IoT SiteWise](mqtt-enabled-v3-gateway.md) para obtener información sobre cómo añadir tus destinos relevantes.

   1. Vuelva a este procedimiento después de añadir sus destinos de origen.

------

1. En el panel **Configuración avanzada** puede realizar lo siguiente:

   1. Elija un **modo de seguridad de mensajes** para las conexiones y los datos en tránsito entre el servidor de origen y la puerta de enlace SiteWise Edge. Este campo es la combinación de la política de seguridad OPC UA y el modo de seguridad de mensajes. Elija la misma política de seguridad y el mismo modo de seguridad de mensajes que especificó para su servidor OPC UA.

   1. Si su origen requiere autenticación, elija un secreto de AWS Secrets Manager en la lista **Configuración de autenticación**. La puerta de enlace SiteWise Edge utiliza las credenciales de autenticación que figuran en este secreto cuando se conecta a esta fuente de datos. Debe adjuntar los secretos al AWS IoT Greengrass componente de la puerta de enlace SiteWise Edge para utilizarlos en la autenticación de la fuente de datos. Para obtener más información, consulte [Configurar la autenticación de fuentes de datos para SiteWise Edge](configure-source-authentication-ggv2.md).
**sugerencia**  
Es posible que el servidor de datos tenga una opción denominada **Permitir inicio de sesión anónimo**. Si esta opción es **Sí**, entonces el origen no requerirá autenticación.

   1. (Opcional) Puede activar un prefijo de flujo de datos seleccionando **Activar prefijo de flujo de datos: *opcional***.

      1. Introduzca un **Prefijo de flujo de datos**. La puerta de enlace SiteWise Edge agrega este prefijo a todos los flujos de datos de esta fuente. Utilice un prefijo de flujo de datos para distinguir entre flujos de datos que tienen el mismo nombre y orígenes diferentes. Cada flujo de datos debe tener un nombre único en su cuenta.

   1. (Opcional) Elija una opción **Conversión de tipos de datos** para convertir los tipos de datos OPC UA no compatibles en cadenas antes de ingerirlos en AWS IoT SiteWise. Convierta valores de matriz con tipos de datos simples en cadenas JSON y tipos de DateTime datos en cadenas ISO 8601. Para obtener más información, consulte [Conversión de tipos de datos no admitidos](string-conversion.md).

   1. Elija un **activador de cambio de datos predeterminado** para los nodos que no estén incluidos en un grupo de propiedades definido por el usuario. El activador de cambio de datos predeterminado determina cuándo el servidor OPC UA envía los valores actualizados a la puerta de enlace. Puede elegir una de las siguientes opciones:
      + **Estado**: para recibir datos solo cuando cambia un estado.
      + **StatusValue**— recibir datos cuando cambia un estado o un valor.
      + **StatusValueTimestamp**— recibir datos cuando cambia un estado, un valor o una marca de tiempo.

   1. (Opcional) En una puerta de enlace V3 habilitada para MQTT, puede usar la **configuración Discovery para configurar el proceso de descubrimiento de** nodos OPC UA. La configuración de Discovery reemplaza el sistema de archivos de anulación de la configuración anterior para estas opciones por ajustes basados en la consola que se actualizan dinámicamente sin necesidad de reiniciar la puerta de enlace.
**nota**  
El **activador de cambio de datos predeterminado** requiere la versión 3.1.0 o posterior del componente recopilador IoT SiteWise OPC UA. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

      1. Para obtener el número **máximo de solicitudes de navegación simultáneas**, introduzca el número máximo de solicitudes de navegación que el servidor OPC UA puede gestionar simultáneamente. Puede configurar hasta 500 solicitudes de navegación simultáneas por fuente de datos.

      1. Para obtener el **número máximo de nodos por solicitud de navegación**, introduzca el número máximo de nodos que se van a enviar en cada solicitud de navegación al servidor OPC UA. Puede enviar hasta 1000 nodos por solicitud de navegación.

      1. Seleccione **Evitar los bucles del árbol de nodos** para evitar que la puerta de enlace se quede atascada en referencias circulares al navegar por la estructura del servidor OPC UA. Cuando está seleccionada, la puerta de enlace rastrea las ubicaciones visitadas para evitar los bucles infinitos que pueden producirse cuando los nodos del servidor se refieren entre sí siguiendo un patrón circular.

      1. Seleccione **Habilitar el recorrido de nodos** para permitir que la puerta de enlace explore la estructura completa de su servidor OPC UA y descubra todos los puntos de datos disponibles en sus equipos y dispositivos. Cuando se selecciona, la pasarela navega por la organización de datos del equipo más allá del nivel raíz para encontrar automáticamente todos los sensores, controles y puntos de medición.

      1. Seleccione **Activar la detección periódica** para ejecutar automáticamente las operaciones de detección a intervalos regulares a fin de detectar cambios en la estructura del servidor OPC UA. Cuando se selecciona, la puerta de enlace monitorea continuamente los equipos o puntos de datos recién agregados, lo que garantiza que se detecten automáticamente y estén disponibles para la recopilación de datos.

         1. En **Intervalo de detección periódica**, establezca el intervalo de tiempo entre las operaciones de detección automática cuando se ejecute la detección periódica. El intervalo mínimo de detección periódica es de 30 segundos y el máximo de 30 días.

         1. En el número **máximo de nodos descubiertos por intervalo**, establezca el número máximo de nodos que se deben descubrir por intervalo de descubrimiento. Esto ayuda a controlar la carga tanto en la puerta de enlace como en el servidor OPC UA durante las operaciones de descubrimiento.

   1. (Opcional) En **Grupos de propiedades**, seleccione **Añadir nuevo grupo**.

      1. Introduzca un **Nombre** para el grupo de propiedades.

      1. En **Propiedades**:

         1. (Opcional) En **Rutas de nodo**, añada filtros de nodo OPC UA para limitar las rutas OPC UA que se cargan en AWS IoT SiteWise. El formato es similar a **ID de nodo para su selección**.

      1. En **Configuración**, realice lo siguiente:

         1. En la **configuración de calidad de los datos**, elija el tipo de calidad de datos que desea que AWS IoT SiteWise incorpore Collector.

         1. En **Configuración del modo de análisis**, configure las propiedades de la suscripción estándar mediante **Modo de análisis**. Puede seleccionar **Suscribirse** o **Sondeo**. Para obtener más información sobre el modo de escaneo, consulte [Filtrado de rangos de ingesta de datos con OPC UA](opcua-data-acquisition.md).

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

**Envío de todos los puntos de datos**

            1. Seleccione **Suscribirse** y configure lo siguiente:

               1. **[Desencadenador de cambio de datos](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.2/)**: condición que inicia una alerta de cambio de datos.

               1. **[Tamaño de la cola de suscripciones](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.16/)**: profundidad de la cola en un servidor OPC UA para una métrica concreta en la que se ponen en cola las notificaciones de los elementos monitorizados.

               1. **[Intervalo de publicación de suscripciones](https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/)**: intervalo (en milisegundos) del ciclo de publicación especificado al crearse la suscripción.

               1. **Intervalo de instantáneas: *opcional***: se ajusta el tiempo de espera de las instantáneas para garantizar que AWS IoT SiteWise Edge ingiera un flujo constante de datos.

               1. **Velocidad de escaneo**: la velocidad a la que desea que la puerta de enlace SiteWise Edge lea sus registros. AWS IoT SiteWise calcula automáticamente la velocidad de escaneo mínima permitida para su puerta de enlace SiteWise Edge.

               1. **Marca de tiempo**: marca de tiempo que se debe incluir en los puntos de datos OPC UA. Puede utilizar la marca de tiempo del servidor o de su dispositivo.
**nota**  
Utilice la versión 2.5.0 o posterior del componente recopilador IoT SiteWise OPC UA. Si utiliza la función de marca de tiempo con versiones anteriores, las actualizaciones de configuración fallarán. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

            1. En **Configuración de la zona neutra**, configure un **Tipo de zona neutra**. El tipo de banda inactiva controla los datos que la fuente le envía y los datos que descarta. AWS IoT SiteWise Para obtener más información sobre configuración de la banda muerta, consulte [Filtrado de rangos de ingesta de datos con OPC UA](opcua-data-acquisition.md).
               + **Ninguno**: el servidor asociado envía todos los puntos de datos de este grupo de propiedades.
               + **Porcentaje**: el servidor asociado solo envía datos que se encuentran fuera de un porcentaje específico del rango de datos. El servidor calcula este rango en función de la unidad de ingeniería mínima y máxima definida para cada nodo. Si el servidor no admite zonas neutras de porcentaje o carece de unidades de ingeniería definidas, la puerta de enlace calcula el rango utilizando los valores mínimo y máximo que se indican a continuación.
               + **Absoluto**: el servidor asociado solo envía datos que se encuentran fuera de un rango específico.

               1. Establezca el **Valor de la zona neutra** como el porcentaje del rango de datos con respecto a la zona neutra.

               1. (Opcional) Especifique un mínimo y un máximo para el rango de zona neutra utilizando **Rango mínimo: *opcional*** y **Rango máximo: *opcional***.

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

**Envío de puntos de datos en un intervalo específico**
            + Seleccione **Suscribirse** y configure lo siguiente:

              1. **Velocidad de escaneo**: la velocidad a la que quieres que la puerta de enlace SiteWise Edge lea tus registros. AWS IoT SiteWise calcula automáticamente la velocidad de escaneo mínima permitida para su puerta de enlace SiteWise Edge.

              1. **Marca de tiempo**: marca de tiempo que se debe incluir en los puntos de datos OPC UA. Puede utilizar la marca de tiempo del servidor o de su dispositivo.
**nota**  
Utilice la versión 3.1.0 o posterior del componente recopilador IoT SiteWise OPC UA. Si utiliza la función de marca de tiempo con versiones anteriores, las actualizaciones de configuración fallarán. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).

**nota**  
**Configuración de la zona neutra** se aplica cuando ha seleccionado **Suscribirse** en **Configuración del modo de análisis**.

------

1. Seleccione **Save**.

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

Puede definir las fuentes de datos OPC UA para una puerta de enlace SiteWise Edge mediante. AWS CLI Para ello, cree un archivo JSON de configuración de capacidades OPC UA y utilice el [ update-gateway-capability-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotsitewise/update-gateway-capability-configuration.html#)comando para actualizar la configuración de la puerta de enlace SiteWise Edge. Debe definir todos los orígenes OPC UA en una única configuración de capacidad.

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

Esta capacidad tiene el siguiente espacio de nombres.
+ `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 ]

Esta capacidad tiene el siguiente espacio de nombres.
+ `iotsitewise:opcuacollector:2`

Sintaxis de la solicitud

```
{
  "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
          }  
        }  
      ]  
    }  
  ]  
}
```

------

### Cuerpo de la solicitud
<a name="opcua-request-body"></a>

`sources`  
Una lista de estructuras de definición de origen OPC UA que contienen la siguiente información:    
`name`  
Un nombre único y sencillo para el origen.  
`endpoint`  
Una estructura de punto de conexión que contiene la siguiente información:    
`certificateTrust`  
Una estructura de política de confianza de certificados que contiene la siguiente información:    
`type`  
El modo de confianza del certificado para el origen. Seleccione una de las siguientes opciones:  
+ `TrustAny`— La puerta de enlace SiteWise Edge confía en cualquier certificado cuando se conecta a la fuente OPC UA.
+ `X509`— La puerta de enlace SiteWise Edge confía en un certificado X.509 cuando se conecta a la fuente OPC UA. Si elige esta opción, debe definir `certificateBody` en `certificateTrust`. También puede definir `certificateChain` en `certificateTrust`.  
`certificateBody`  
(Opcional) Cuerpo de un certificado X.509.  
Este campo es obligatorio si elige `X509` para `type` en `certificateTrust`.  
`certificateChain`  
(Opcional) Cadena de confianza para un certificado X.509.  
Este campo solo se utiliza si elige `X509` para `type` en `certificateTrust`.  
`endpointUri`  
Punto de conexión local del origen OPC UA. Por ejemplo, su punto de conexión local podría tener el siguiente aspecto: `opc.tcp://203.0.113.0:49320`.  
`securityPolicy`  
Política de seguridad que se debe utilizar para proteger los mensajes que se leen desde el origen OPC UA. Seleccione una de las siguientes opciones:  
+ `NONE`— La puerta de enlace SiteWise Edge no protege los mensajes de la fuente OPC UA. Le recomendamos que elija una política de seguridad diferente. Si elige esta opción, también debe elegir `NONE` para `messageSecurityMode`.
+ `BASIC256_SHA256`: la política de seguridad `Basic256Sha256`.
+ `AES128_SHA256_RSAOAEP`: la política de seguridad `Aes128_Sha256_RsaOaep`.
+ `AES256_SHA256_RSAPSS`: la política de seguridad `Aes256_Sha256_RsaPss`.
+ `BASIC128_RSA15`: (obsoleta) la política de seguridad `Basic128Rsa15` está en desuso en la especificación OPC UA porque ya no se considera segura. Le recomendamos que elija una política de seguridad diferente. Para obtener más información, consulte [Profile SecurityPolicy — Basic128Rsa15](https://profiles.opcfoundation.org/profile/1532).
+ `BASIC256`: (obsoleta) la política de seguridad `Basic256` está en desuso en la especificación OPC UA porque ya no se considera segura. Le recomendamos que elija una política de seguridad diferente. [Para obtener más información, consulte — Basic256. SecurityPolicy ](https://profiles.opcfoundation.org/profile/1536)
Si elige una política de seguridad distinta a `NONE`, debe elegir `SIGN` o `SIGN_AND_ENCRYPT` para `messageSecurityMode`. También debe configurar el servidor de origen para que confíe en la puerta de enlace SiteWise Edge. Para obtener más información, consulte [Configure los servidores OPC UA para que confíen en la puerta de enlace Edge AWS IoT SiteWise](enable-source-trust.md).  
`messageSecurityMode`  
Modo de seguridad de mensajes que se va a utilizar para proteger las conexiones con el origen OPC UA. Seleccione una de las siguientes opciones:  
+ `NONE`— La puerta de enlace SiteWise Edge no protege las conexiones a la fuente OPC UA. Le recomendamos que elija un modo de seguridad de mensajes diferente. Si elige esta opción, también debe elegir `NONE` para `securityPolicy`.
+ `SIGN`— Los datos en tránsito entre la puerta de enlace SiteWise Edge y la fuente OPC UA están firmados pero no cifrados.
+ `SIGN_AND_ENCRYPT`: los datos en tránsito entre la puerta de enlace y el origen OPC UA se firman y cifran.
Si elige un modo de seguridad de mensajes que no sea `NONE`, debe elegir una `securityPolicy` distinta de `NONE`. También debe configurar el servidor de origen para que confíe en la puerta de enlace SiteWise Edge. Para obtener más información, consulte [Configure los servidores OPC UA para que confíen en la puerta de enlace Edge AWS IoT SiteWise](enable-source-trust.md).  
`identityProvider`  
Estructura de proveedor de identidades que contiene la siguiente información:    
`type`  
Tipo de credenciales de autenticación requeridas por el origen. Seleccione una de las siguientes opciones:  
+ `Anonymous`: el origen no requiere autenticación para conectarse.
+ `Username`: el origen requiere un nombre de usuario y una contraseña para conectarse. Si elige esta opción, debe definir `usernameSecretArn` en `identityProvider`.  
`usernameSecretArn`  
(Opcional) El ARN de un AWS Secrets Manager secreto. La puerta de enlace SiteWise Edge usa las credenciales de autenticación de este secreto cuando se conecta a esta fuente. Debe adjuntar los secretos al SiteWise conector IoT de su puerta de enlace SiteWise Edge para usarlos en la autenticación de origen. Para obtener más información, consulte [Configurar la autenticación de fuentes de datos para SiteWise Edge](configure-source-authentication-ggv2.md).  
Este campo es obligatorio si elige `Username` para `type` en `identityProvider`.  
`nodeFilterRules`  
Una lista de estructuras de reglas de filtrado de nodos que definen las rutas de flujo de datos OPC UA que se van a enviar a la AWS nube. Puedes usar filtros de nodos para reducir el tiempo de inicio de la puerta de enlace SiteWise Edge y el uso de la CPU al incluir únicamente las rutas a los datos que modeles. AWS IoT SiteWise De forma predeterminada, las pasarelas SiteWise Edge cargan todas las rutas OPC UA excepto las que comienzan por. `/Server/` Para definir filtros de nodo OPC UA, puede utilizar rutas de nodo y los caracteres comodín `*` y `**`. Para obtener más información, consulte [Utilice filtros de nodo OPC UA en Edge SiteWise](opc-ua-node-filters.md).  
Cada estructura de la lista debe contener la siguiente información:    
`action`  
Es la acción de esta regla de filtro de nodo. Puede elegir la siguiente opción:  
+ `INCLUDE`— La puerta de enlace SiteWise Edge incluye solo los flujos de datos que cumplen esta regla.  
`definition`  
Estructura de reglas de filtros de nodo que contiene la siguiente información:    
`type`  
Es el tipo de ruta de filtro de nodo para esta regla. Puede elegir la siguiente opción:  
+ `OpcUaRootPath`— La puerta de enlace SiteWise Edge evalúa esta ruta de filtro de nodos comparándola con la raíz de la jerarquía de rutas OPC UA.  
`rootPath`  
Ruta de filtro de nodo que se va a evaluar con la raíz de la jerarquía de rutas de OPC UA. Esta ruta debe comenzar con `/`.  
`measurementDataStreamPrefix`  
Cadena que se debe anteponer a todos los flujos de datos del origen. La puerta de enlace SiteWise Edge agrega este prefijo a todos los flujos de datos de esta fuente. Utilice un prefijo de flujo de datos para distinguir entre flujos de datos que tienen el mismo nombre y orígenes diferentes. Cada flujo de datos debe tener un nombre único en su cuenta.  
`typeConversions`  
Tipos de conversiones disponibles para tipos de datos OPC UA no compatibles. Cada tipo de datos se convierte en cadenas. Para obtener más información, consulte [Conversión de tipos de datos no admitidos](string-conversion.md).    
`array`  
Tipo de datos de matriz simple que se convierte en cadenas. Puede elegir la siguiente opción:  
+ `JsonArray`: indica que ha elegido convertir los tipos de datos de matriz simple en cadenas.  
`datetime`  
El tipo de DateTime datos que se convierte en cadenas. Puede elegir la siguiente opción:  
+ `ISO8601String`: indica que ha elegido convertir los tipos de datos ISO 8601 en cadenas.  
`destination`  
Configuración para el destino de las etiquetas OPC UA. Las pasarelas V3 de transmisión clásica, las versiones 2 y las habilitadas para MQTT tienen diferentes configuraciones para los destinos.    
`type`  
El tipo del destino.  
`streamName`— *solo para* transmisiones clásicas y pasarelas V2  
El nombre del flujo de . El nombre del flujo debe ser único.  
`streamBufferSize`— *solo para transmisiones clásicas y pasarelas V2*  
Tamaño de búfer del flujo. Es importante para administrar el flujo de datos de orígenes OPC UA.  
`defaultPropertyGroupConfig`— Compatible con *MQTT, solo pasarelas V3*  
(Opcional) Configuración para el grupo de propiedades predeterminado. El grupo de propiedades predeterminado contiene todos los nodos que de otro modo no estarían incluidos en un grupo de propiedades definido por el usuario.    
`dataChangeTrigger`  
El activador de cambios de datos predeterminado que se utilizará en el grupo de propiedades predeterminado. Los valores válidos son `STATUS_VALUE_TIMESTAMP`, `STATUS_VALUE` o `STATUS`.
`defaultPropertyGroupConfig`requiere la versión 3.1.0 o posterior del componente recopilador IoT SiteWise OPC UA. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).  
`discoveryConfig`— Solo pasarelas V3 habilitadas para *MQTT*  
(Opcional) Configuración para el proceso de descubrimiento de nodos OPC UA.    
`enableNodeTraversal`  
Especifica si se deben seguir recorriendo los nodos secundarios del nodo raíz definidos por el filtro de nodos de la fuente de datos. Cuando se establece en`false`, la detección se detiene en el nodo raíz.  
`avoidNodeTreeLoops`  
Especifica si se deben evitar los bucles infinitos durante el proceso de navegación del nodo OPC UA. Cuando se establece en`true`, la puerta de enlace rastrea los nodos visitados para evitar referencias circulares.  
`maxConcurrentBrowseRequests`  
El número máximo de solicitudes de navegación simultáneas que el servidor OPC UA puede gestionar simultáneamente. El rango válido es de 1 a 500.  
`maxNodesPerBrowseRequest`  
El número máximo de nodos que se deben enviar en cada solicitud de navegación al servidor OPC UA. El rango válido es de 1 a 1000.  
`periodicDiscovery`  
Configuración para ejecutar el descubrimiento periódicamente a intervalos fijos. La detección periódica está habilitada cuando se proporciona esta configuración.    
`interval`  
El tiempo que transcurre entre las operaciones de detección periódicas. Se puede utilizar `m` durante minutos, `h` horas y `d` días. Por ejemplo, `90m` o `1h`. El intervalo mínimo es de 30 segundos.  
`maxNodesDiscoveredPerInterval`  
El número máximo de nodos que se deben descubrir por intervalo de descubrimiento. Esto ayuda a controlar la carga tanto en la puerta de enlace como en el servidor OPC UA.
`periodicDiscovery`requiere la versión 3.1.0 o posterior del componente recopilador IoT SiteWise OPC UA. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).
Si la detección se repite de forma infinita, habilítela. `avoidNodeTreeLoops` Supervise el progreso de la detección en CloudWatch los registros del `aws.iot.SiteWiseOpcUaCollector` componente.

`propertyGroups`  
(Opcional) La lista de grupos de propiedades que definen la `deadband` y el `scanMode` solicitados por el protocolo.    
`name`  
El nombre del grupo de propiedades. Debe ser un identificador único.  
`deadband`  
El valor de `deadband` define el cambio mínimo en el valor de un punto de datos que debe producirse antes de que los datos se envíen a la nube. Contiene la siguiente información:    
`type`  
Los tipos de banda muerta admitidos. Puede elegir las opciones siguientes:  
+ `ABSOLUTE`: valor fijo que especifica el cambio absoluto mínimo necesario para considerar un punto de datos lo suficientemente significativo como para su envío a la nube.
+ `PERCENT`: valor dinámico que especifica el cambio mínimo requerido como porcentaje del valor del último punto de datos enviado. Este tipo de zona neutra resulta útil cuando los valores de los datos varían considerablemente a lo largo del tiempo.  
`value`  
El valor de la banda muerta. Cuando `type` es `ABSOLUTE`, este valor es un doble sin unidades. Cuando `type` es `PERCENT`, este valor es un doble entre `1` y `100`.  
`eguMin`  
(Opcional) La unidad de ingeniería mínima al utilizar una banda muerta `PERCENT`. Establézcala si el servidor OPC UA no tiene unidades de ingeniería configuradas.  
`eguMax`  
(Opcional) La unidad de ingeniería máxima al utilizar una banda muerta `PERCENT`. Establézcala si el servidor OPC UA no tiene unidades de ingeniería configuradas.  
`timeoutMilliseconds`  
La duración en milisegundos antes del tiempo de espera. El mínimo es `100`.  
`scanMode`  
La estructura de `scanMode` que contiene la siguiente información:    
`type`  
Los tipos admitidos de `scanMode`. Los valores aceptados son `POLL` y `EXCEPTION`.  
`rate`  
El intervalo de muestreo para el modo de escaneo.  
`timestampToReturn`  
Origen de la marca de tiempo. Puede elegir las opciones siguientes:  
+ `SOURCE_TIME`: utiliza la marca de tiempo del dispositivo.
+ `SERVER_TIME`: utiliza la marca de tiempo del servidor.
Úselo `TimestampToReturn` con la versión 2.5.0 o posterior del componente recopilador IoT SiteWise OPC UA. Si utiliza esta función con versiones anteriores, se produce un error en las actualizaciones de configuración. Para obtener más información, consulte [Actualice la versión de un componente AWS IoT SiteWise](manage-gateways-ggv2.md#update-component-version).  
`nodeFilterRuleDefinitions`  
(Opcional) Una lista de rutas de nodos para incluir en el grupo de propiedades. Los grupos de propiedades no pueden solaparse. Si no especifica un valor para este campo, el grupo contendrá todas las rutas bajo la raíz y no podrá crear grupos de propiedades adicionales. La estructura `nodeFilterRuleDefinitions` contiene la siguiente información:    
`type`  
`OpcUaRootPath` es el único tipo admitido. Especifica que el valor de `rootPath` es una ruta relativa a la raíz del espacio de navegación de OPC UA.  
`rootPath`  
Lista delimitada por comas que especifica las rutas (relativas a la raíz) por incluir en el grupo de propiedades.

### Ejemplos de configuración de capacidades adicionales para transmisiones clásicas y puertas de enlace V2 ()AWS CLI
<a name="opc-ua-source-example-cli"></a>

El siguiente ejemplo define la configuración de la capacidad de una puerta de enlace OPC UA SiteWise Edge a partir de una carga útil almacenada en un archivo JSON.

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

**Example : configuración de origen OPC UA**  
El siguiente archivo `opc-ua-configuration.json` define una configuración de origen OPC UA básica y no segura.  

```
{
    "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 : configuración de origen OPC UA con grupos de propiedades definidos**  
El siguiente archivo `opc-ua-configuration.json` define una configuración de origen OPC UA básica y no segura con grupos de propiedades definidos.  

```
{
    "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 : configuración de origen OPC UA con propiedades**  
El siguiente JSON de ejemplo de `opc-ua-configuration.json` define una configuración de origen OPC UA con las siguientes propiedades:  
+ Confía en cualquier certificado.
+ Utiliza la política de seguridad `BASIC256` para proteger los mensajes.
+ Utiliza el modo `SIGN_AND_ENCRYPT` para proteger las conexiones.
+ Utiliza credenciales de autenticación almacenadas en un secreto del administrador de secretos.
+ Filtra los flujos de datos, excepto aquellos cuya ruta comienza por `/WindFarm/2/WindTurbine/`.
+ Añade `/Washington` al inicio de cada ruta de flujo de datos para distinguir entre este “Wind Farm \$12” y un “Wind Farm \$12” en otra área.

```
{
    "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 : configuración de origen OPC UA con certificado de confianza**  
El siguiente JSON de ejemplo de `opc-ua-configuration.json` define una configuración de origen OPC UA con las siguientes propiedades:  
+ Confiar en un certificado X.509 dado.
+ Utiliza la política de seguridad `BASIC256` para proteger los mensajes.
+ Utiliza el modo `SIGN_AND_ENCRYPT` para proteger las conexiones.

```
{
    "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": ""
              
        }
    ]
}
```