

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar uma fonte OPC UA no SiteWise Edge
<a name="configure-opcua-source"></a>

Você pode usar o AWS IoT SiteWise console ou um recurso de gateway SiteWise Edge para definir e adicionar uma fonte OPC UA ao seu gateway SiteWise Edge para representar um servidor OPC UA local.

**Topics**
+ [Configurar uma fonte OPC UA (console)](#config-opcua-source-console)
+ [Configurar uma fonte OPC UA ()AWS CLI](#configure-opc-ua-source-cli)

## Configurar uma fonte OPC UA (console)
<a name="config-opcua-source-console"></a>

Você pode usar o console para configurar a fonte OPC UA com o procedimento a seguir.

**nota**  
Aviso: a duplicação TQVs pode resultar em carregamento duplo.

**Para configurar uma fonte OPC UA usando o console AWS IoT SiteWise**

1. Navegue até o [console do AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. Na navegação à esquerda, escolha **Edge gateways** na seção **Edge**.

1. Selecione o gateway SiteWise Edge para adicionar uma fonte OPC UA.

1. Escolha **Adicionar fonte de dados**.

1. Insira um nome para a origem.

1. Insira o **Local endpoint (Endpoint local)** do servidor da fonte de dados. O endpoint pode ser o endereço IP ou o nome do host. Você também pode adicionar um número de porta ao endpoint local. Por exemplo, o endpoint local pode ser semelhante ao seguinte: **opc.tcp://203.0.113.0:49320**.

1. (Opcional) Para **ID de nó para seleção**, adicione filtros de nó para limitar quais fluxos de dados são ingeridos na Nuvem AWS . Por padrão, os gateways do SiteWise Edge usam o nó raiz de um servidor para ingerir todos os fluxos de dados. Você pode usar filtros de nós para reduzir o tempo de inicialização e o uso da CPU do gateway SiteWise Edge, incluindo apenas caminhos para os dados nos quais você modela AWS IoT SiteWise. Por padrão, os gateways do SiteWise Edge carregam todos os caminhos OPC UA, exceto aqueles que começam com. `/Server/` Para definir os filtros de nó do OPC UA, é possível usar caminhos de nó e os caracteres curinga `*` e `**`. Para obter mais informações, consulte [Use filtros de nó OPC UA no SiteWise Edge](opc-ua-node-filters.md).

1. Os **destinos** variam entre gateways V3 habilitados para MQTT e streams clássicos e gateways V2.
   + **Steam clássico, destinos de gateway V2** têm uma relação 1:1 com a fonte. Cada fonte envia dados para um destino específico.
   + Os **destinos de gateway V3 habilitados para MQTT** são configurados separadamente porque o modelo hub and spoke permite centralizar a configuração e o gerenciamento de várias fontes de dados em diferentes gateways. Para configurar destinos em um gateway V3, consulte[AWS IoT SiteWise Entenda os destinos Edge](gw-destinations.md#source-destination).

------
#### [ Classic steams, V2 gateway destinations ]
   + **AWS IoT SiteWise em tempo real** — escolha essa opção para enviar dados diretamente para o AWS IoT SiteWise armazenamento. Ingira e monitore dados em tempo real na borda.
   + **AWS IoT SiteWise Armazenado em buffer usando o Amazon S3** — Envie dados no formato Parquet para o Amazon S3 e, em seguida, importe para o armazenamento. AWS IoT SiteWise Escolha essa opção para ingerir dados em lotes e armazenar dados históricos de forma econômica. Você pode configurar a localização preferida para o bucket do Amazon S3 e a frequência com que deseja fazer upload dos dados no Amazon S3. Também é possível escolher o que fazer com os dados após a ingestão no AWS IoT SiteWise. Você pode optar por ter os dados disponíveis tanto no Amazon S3 AWS IoT SiteWise quanto no Amazon S3 ou pode optar por excluí-los automaticamente do Amazon S3 depois de serem importados. AWS IoT SiteWise
     + O bucket do Amazon S3 é um mecanismo de armazenamento e armazenamento em buffer e oferece suporte a arquivos no formato Parquet.
     + Se você marcar a caixa de seleção **Importar dados para o AWS IoT SiteWise armazenamento**, os dados serão carregados primeiro no Amazon S3 e depois no AWS IoT SiteWise armazenamento.
       + Se você marcar a caixa de seleção **Excluir dados do Amazon S3**, os dados serão excluídos do Amazon S3 após serem importados para o armazenamento. SiteWise 
       + Se você desmarcar a caixa de seleção **Excluir dados do Amazon S3**, os dados serão armazenados no Amazon S3 e no armazenamento. SiteWise 
     + Se você desmarcar a caixa de seleção **Importar dados para o armazenamento do AWS IoT SiteWise **, os dados serão armazenados somente no Amazon S3. Não é importado para o SiteWise armazenamento. 

     Visite [Gerenciar armazenamento de dados](manage-data-storage.md) para conferir detalhes sobre as várias opções de armazenamento oferecidas pelo AWS IoT SiteWise . Para saber mais sobre opções de preço, consulte [Preço do AWS IoT SiteWise](https://aws.amazon.com/iot-sitewise/pricing/).

      
   + **AWS IoT Greengrass gerenciador de streams** — Use AWS IoT Greengrass o gerenciador de streams para enviar dados para os seguintes destinos na AWS nuvem: canais em AWS IoT Analytics, streams no Amazon Kinesis Data Streams, propriedades de ativos ou objetos AWS IoT SiteWise no Amazon Simple Storage Service (Amazon S3). Para obter mais informações, consulte [Gerenciar fluxos de dados no AWS IoT Greengrass Core no](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-data-streams.html) *Guia do AWS IoT Greengrass Version 2 desenvolvedor*.

     Insira um nome para o AWS IoT Greengrass stream.

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

   1. Consulte [Gateways V3 habilitados para MQTT para Edge AWS IoT SiteWise](mqtt-enabled-v3-gateway.md) para obter informações sobre como adicionar seus destinos relevantes.

   1. Retorne a esse procedimento depois de adicionar seus destinos de origem.

------

1. No painel **Configuração avançada**, você pode fazer o seguinte:

   1. Escolha um **modo de segurança de mensagem** para conexões e dados em trânsito entre seu servidor de origem e seu gateway SiteWise Edge. Esse campo é a combinação da política de segurança de OPC UA e do modo de segurança de mensagens. Escolha a mesma política de segurança e modo de segurança de mensagens que você especificou para o servidor OPC UA.

   1. Se a origem exigir autenticação, escolha um segredo do AWS Secrets Manager da lista **Configuração de autenticação**. O gateway SiteWise Edge usa as credenciais de autenticação nesse segredo quando se conecta a essa fonte de dados. Você deve anexar segredos ao AWS IoT Greengrass componente do seu gateway SiteWise Edge para usá-los na autenticação da fonte de dados. Para obter mais informações, consulte [Configurar a autenticação da fonte de dados para o SiteWise Edge](configure-source-authentication-ggv2.md).
**dica**  
Seu servidor de dados pode ter uma opção chamada **Allow anonymous login (Permitir login anônimo)**. Se essa opção for **Yes (Sim)**, a origem não exigirá autenticação.

   1. (Opcional) Você pode ativar um prefixo de fluxo de dados selecionando **Ativar prefixo de streaming de dados - *opcional***.

      1. Insira um **Prefixo de stream de dados**. O gateway SiteWise Edge adiciona esse prefixo a todos os fluxos de dados dessa fonte. Use um prefixo de stream de dados para distinguir entre streams de dados que têm o mesmo nome de origens diferentes. Cada stream de dados deve ter um nome exclusivo na conta.

   1. (Opcional) Escolha uma opção de **Conversão de tipo de dados** para converter tipos de dados OPC UA não compatíveis em strings antes de fazer a ingestão deles no AWS IoT SiteWise. Converta valores de matriz com tipos de dados simples em cadeias de caracteres JSON e tipos de DateTime dados em cadeias de caracteres ISO 8601. Para obter mais informações, consulte [Converter tipos de dados incompatíveis](string-conversion.md).

   1. Escolha um **acionador de alteração de dados padrão** para nós que não estejam contidos em um grupo de propriedades definido pelo usuário. O acionador de alteração de dados padrão determina quando o servidor OPC UA envia valores atualizados para o gateway. Você pode escolher uma das seguintes opções:
      + **Status** — para receber dados somente quando um status é alterado.
      + **StatusValue**— para receber dados quando um status ou valor muda.
      + **StatusValueTimestamp**— para receber dados quando um status, valor ou registro de data e hora é alterado.

   1. (Opcional) Em um gateway V3 habilitado para MQTT, você pode usar a **configuração do Discovery para configurar o processo de descoberta** do nó OPC UA. A configuração do Discovery substitui o sistema de arquivos de substituição de configuração anterior para essas opções por configurações baseadas em console que são atualizadas dinamicamente sem a necessidade de reiniciar o gateway.
**nota**  
O **acionador de alteração de dados padrão** requer a versão 3.1.0 ou posterior do componente coletor SiteWise IoT OPC UA. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).

      1. Em **Contagem máxima de solicitações de navegação simultânea**, insira o número máximo de solicitações de navegação que seu servidor OPC UA pode tratar simultaneamente. Você pode configurar até 500 solicitações de navegação simultâneas por fonte de dados.

      1. Em **Contagem máxima de nós por solicitação de navegação**, insira o número máximo de nós a serem enviados em cada solicitação de navegação para o servidor OPC UA. Você pode enviar até 1.000 nós por solicitação de navegação.

      1. Escolha **Evitar loops na árvore de nós** para evitar que o gateway fique preso em referências circulares ao navegar pela estrutura do servidor OPC UA. Quando selecionado, o gateway rastreia os locais visitados para evitar loops infinitos que podem ocorrer quando os nós do servidor fazem referência uns aos outros em um padrão circular.

      1. Escolha **Ativar passagem de nós** para permitir que o gateway explore a estrutura completa do seu servidor OPC UA para descobrir todos os pontos de dados disponíveis em seus equipamentos e dispositivos. Quando selecionado, o gateway navega pela organização de dados do seu equipamento além do nível raiz para encontrar todos os sensores, controles e pontos de medição automaticamente.

      1. Escolha **Habilitar descoberta periódica** para executar automaticamente operações de descoberta em intervalos regulares para detectar alterações na estrutura do servidor OPC UA. Quando selecionado, o gateway monitora continuamente os equipamentos ou pontos de dados recém-adicionados, garantindo que eles sejam automaticamente detectados e disponibilizados para coleta de dados.

         1. Em **Intervalo de descoberta periódica**, defina o intervalo de tempo entre as operações de descoberta automática quando a descoberta periódica estiver em execução. O intervalo mínimo de descoberta periódica é de 30 segundos e o máximo é de 30 dias.

         1. Para **Máximo de nós descobertos por intervalo**, defina o número máximo de nós que devem ser descobertos por intervalo de descoberta. Isso ajuda a controlar a carga no gateway e no servidor OPC UA durante as operações de descoberta.

   1. (Opcional) Para **Grupos de propriedades**, escolha **Adicionar novo grupo**.

      1. Insira um **Nome** para o grupo de propriedades.

      1. Para **Propriedades**:

         1. Para **Caminhos de nó**, adicione filtros de nó OPC UA para limitar quais caminhos OPC UA são carregados no AWS IoT SiteWise. O formato é semelhante ao de **ID de Nó para seleção**.

      1. Em **Configurações de grupo**, faça o seguinte:

         1. Em **Configuração de qualidade de dados**, escolha o tipo de qualidade de dados que você deseja que o AWS IoT SiteWise Collector ingira.

         1. Para **Configuração do Modo de verificação**, configure as propriedades de assinatura padrão usando o **Modo de verificação**. Você pode selecionar **Assinar** ou **Sondar**. Para mais informações sobre o modo de verificação, consulte [Filtrar intervalos de ingestão de dados com OPC UA](opcua-data-acquisition.md).

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

**Como enviar todos os pontos de dados**

            1. Escolha **Assinar** e defina o seguinte:

               1. **[Acionador de alteração de dados](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.2/)**: a condição que inicia um alerta de alteração de dados.

               1. **[Tamanho da fila de assinatura](https://reference.opcfoundation.org/v104/Core/docs/Part4/7.16/)** — A profundidade da fila em um servidor OPC UA para uma métrica específica em que as notificações de itens monitorados são enfileiradas.

               1. **[Intervalo de publicação de assinatura](https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/)**: o intervalo (em milissegundos) do ciclo de publicação determinado quando a assinatura é criada.

               1. **Intervalo do instantâneo - *Opcional*** — A configuração do tempo limite da frequência do instantâneo para garantir que o AWS IoT SiteWise Edge ingira um fluxo constante de dados.

               1. **Taxa de digitalização** — A taxa em que você deseja que o gateway SiteWise Edge leia seus registros. AWS IoT SiteWise calcula automaticamente a taxa de varredura mínima permitida para seu gateway SiteWise Edge.

               1. **Carimbo de data/hora**: o carimbo de data/hora a ser incluído com os pontos de dados OPC UA. Você pode usar o carimbo de data/hora do servidor ou o carimbo de data/hora do dispositivo.
**nota**  
Use a versão 2.5.0 ou posterior do componente coletor SiteWise IOT OPC UA. Se você usar o recurso de carimbo de data/hora com versões anteriores, as atualizações de configuração falharão. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).

            1. Em **Configurações de deadband**, configure um **Tipo de deadband**. O tipo de banda morta controla quais dados sua fonte envia para você AWS IoT SiteWise e quais dados ela descarta. Para obter mais informações sobre as configurações de deadband, consulte [Filtrar intervalos de ingestão de dados com OPC UA](opcua-data-acquisition.md).
               + **Nenhum**: o servidor associado envia todos os pontos de dados desse grupo de propriedades.
               + **Porcentagem**: o servidor associado só envia dados que estejam fora de uma porcentagem especificada do intervalo de dados. Esse intervalo é calculado pelo servidor com base nos valores mínimo e máximo de unidades de engenharia definidos para cada nó. Se o servidor não oferecer suporte a deadbands de porcentagem ou não tiver unidades de engenharia definidas, o gateway calculará o intervalo usando os valores mínimo e máximo fornecidos abaixo.
               + **Absoluto**: o servidor associado só envia dados que estejam fora de um intervalo específico.

               1. Defina **Valor da deadband** como a porcentagem do intervalo de dados em relação à deadband.

               1. (Opcional) Especifique um mínimo e um máximo para o intervalo de deadband usando **Intervalo mínimo - *opcional*** e **Intervalo máximo - *opcional***.

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

**Como enviar pontos de dados em um intervalo específico**
            + Escolha **Sondar** e defina o seguinte:

              1. **Taxa de digitalização** — A taxa em que você deseja que o gateway SiteWise Edge leia seus registros. AWS IoT SiteWise calcula automaticamente a taxa de varredura mínima permitida para seu gateway SiteWise Edge.

              1. **Carimbo de data/hora**: o carimbo de data/hora a ser incluído com os pontos de dados OPC UA. Você pode usar o carimbo de data/hora do servidor ou o carimbo de data/hora do dispositivo.
**nota**  
Use a versão 3.1.0 ou posterior do componente coletor SiteWise IOT OPC UA. Se você usar o recurso de carimbo de data/hora com versões anteriores, as atualizações de configuração falharão. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).

**nota**  
As **Configuração de deadband** serão aplicáveis quando você tiver selecionado **Assinar** nas **Configuração do modo de verificação**.

------

1. Escolha **Salvar**.

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

Você pode definir fontes de dados OPC UA para um gateway SiteWise Edge usando o. AWS CLI Para fazer isso, crie um arquivo JSON de configuração de capacidade OPC UA e use o [ update-gateway-capability-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotsitewise/update-gateway-capability-configuration.html#)comando para atualizar a configuração do gateway SiteWise Edge. Você deve definir todas as fontes OPC UA em uma única configuração do recurso.

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

Esse recurso tem o namespace a seguir.
+ `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 ]

Esse recurso tem o namespace a seguir.
+ `iotsitewise:opcuacollector:2`

Sintaxe da solicitação

```
{
  "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 da solicitação
<a name="opcua-request-body"></a>

`sources`  
Uma lista das estruturas de definição de fontes OPC UA que contenham as seguintes informações:    
`name`  
Um nome exclusivo e amigável para a origem.  
`endpoint`  
Uma estrutura de endpoint que contém as seguintes informações:    
`certificateTrust`  
Uma estrutura de política de confiança de certificado que contém as seguintes informações:    
`type`  
O modo de confiança do certificado para a origem. Escolha uma das seguintes opções:  
+ `TrustAny`— O gateway SiteWise Edge confia em qualquer certificado quando se conecta à fonte OPC UA.
+ `X509`— O gateway SiteWise Edge confia em um certificado X.509 quando se conecta à fonte OPC UA. Se você escolher essa opção, deverá definir `certificateBody` em `certificateTrust`. Também é possível definir `certificateChain` em `certificateTrust`.  
`certificateBody`  
(Opcional) O corpo de um certificado X.509.  
Esse campo será obrigatório se você escolher `X509` para `type` em `certificateTrust`.  
`certificateChain`  
(Opcional) A cadeia de confiança para um certificado X.509.  
Esse campo é usado somente se você escolher `X509` para `type` em `certificateTrust`.  
`endpointUri`  
O endpoint local da fonte OPC UA. Por exemplo, seu endpoint local pode ser semelhante a `opc.tcp://203.0.113.0:49320`.  
`securityPolicy`  
A política de segurança a ser usada para que você possa proteger mensagens lidas da fonte OPC UA. Escolha uma das seguintes opções:  
+ `NONE`— O gateway SiteWise Edge não protege as mensagens da fonte OPC UA. Recomendamos que você escolha uma política de segurança diferente. Se você escolher essa opção, também deverá escolher `NONE` para `messageSecurityMode`.
+ `BASIC256_SHA256` – A política de segurança de `Basic256Sha256`.
+ `AES128_SHA256_RSAOAEP` – A política de segurança de `Aes128_Sha256_RsaOaep`.
+ `AES256_SHA256_RSAPSS` – A política de segurança de `Aes256_Sha256_RsaPss`.
+ `BASIC128_RSA15`: (descontinuado) a política de segurança `Basic128Rsa15` foi descontinuada na especificação OPC UA porque não é mais considerada segura. Recomendamos que você escolha uma política de segurança diferente. Para obter mais informações, consulte [Perfil SecurityPolicy — Basic128Rsa15](https://profiles.opcfoundation.org/profile/1532).
+ `BASIC256`: (descontinuado) a política de segurança `Basic256` foi descontinuada na especificação OPC UA porque não é mais considerada segura. Recomendamos que você escolha uma política de segurança diferente. Para obter mais informações, consulte [SecurityPolicy — Basic256](https://profiles.opcfoundation.org/profile/1536).
Se você escolher uma política de segurança diferente de `NONE`, deverá escolher `SIGN` ou `SIGN_AND_ENCRYPT` para `messageSecurityMode`. Você também deve configurar seu servidor de origem para confiar no gateway SiteWise Edge. Para obter mais informações, consulte [Configure servidores OPC UA para confiar no gateway AWS IoT SiteWise Edge](enable-source-trust.md).  
`messageSecurityMode`  
O modo de segurança de mensagens a ser usado para proteger conexões com a fonte OPC UA. Escolha uma das seguintes opções:  
+ `NONE`— O gateway SiteWise Edge não protege conexões com a fonte OPC UA. Recomendamos que você escolha um modo de segurança de mensagem diferente. Se você escolher essa opção, também deverá escolher `NONE` para `securityPolicy`.
+ `SIGN`— Os dados em trânsito entre o gateway SiteWise Edge e a fonte OPC UA são assinados, mas não criptografados.
+ `SIGN_AND_ENCRYPT`: dados em trânsito entre o gateway e a fonte OPC UA são assinados e criptografados.
Se você escolher um modo de segurança de mensagem diferente de`NONE`, deverá escolher `securityPolicy` outro que `NONE`. Você também deve configurar seu servidor de origem para confiar no gateway SiteWise Edge. Para obter mais informações, consulte [Configure servidores OPC UA para confiar no gateway AWS IoT SiteWise Edge](enable-source-trust.md).  
`identityProvider`  
Uma estrutura de provedor de identidade que contém as seguintes informações:    
`type`  
O tipo de credenciais de autenticação exigidas pela origem. Escolha uma das seguintes opções:  
+ `Anonymous` – A origem não requer autenticação para conectar-se.
+ `Username` – A origem requer um nome de usuário e senha para conectar-se. Se você escolher essa opção, deverá definir `usernameSecretArn` em `identityProvider`.  
`usernameSecretArn`  
(Opcional) O ARN de um AWS Secrets Manager segredo. O gateway SiteWise Edge usa as credenciais de autenticação nesse segredo quando se conecta a essa fonte. Você deve anexar segredos ao SiteWise conector IoT do seu gateway SiteWise Edge para usá-los na autenticação de origem. Para obter mais informações, consulte [Configurar a autenticação da fonte de dados para o SiteWise Edge](configure-source-authentication-ggv2.md).  
Esse campo será obrigatório se você escolher `Username` para `type` em `identityProvider`.  
`nodeFilterRules`  
Uma lista de estruturas de regras de filtro de nós que definem os caminhos do fluxo de dados OPC UA a serem enviados para a AWS nuvem. Você pode usar filtros de nós para reduzir o tempo de inicialização e o uso da CPU do gateway SiteWise Edge, incluindo apenas caminhos para os dados nos quais você modela AWS IoT SiteWise. Por padrão, os gateways do SiteWise Edge carregam todos os caminhos OPC UA, exceto aqueles que começam com. `/Server/` Para definir os filtros de nó do OPC UA, é possível usar caminhos de nó e os caracteres curinga `*` e `**`. Para obter mais informações, consulte [Use filtros de nó OPC UA no SiteWise Edge](opc-ua-node-filters.md).  
Cada estrutura na lista deve conter as seguintes informações:    
`action`  
A ação para essa regra de filtro de nó. Você pode escolher a seguinte opção:  
+ `INCLUDE`— O gateway SiteWise Edge inclui somente fluxos de dados que correspondem a essa regra.  
`definition`  
Uma estrutura de regra de filtro de nó que contém as seguintes informações:    
`type`  
O tipo de caminho do filtro de nó para essa regra. Você pode escolher a seguinte opção:  
+ `OpcUaRootPath`— O gateway SiteWise Edge avalia esse caminho de filtro de nó em relação à raiz da hierarquia de caminhos do OPC UA.  
`rootPath`  
O caminho de filtro de nó a ser avaliado em relação à raiz da hierarquia de caminhos OPC UA. Esse caminho deve começar com `/`.  
`measurementDataStreamPrefix`  
Uma string que deve preceder todos os fluxos de dados da origem. O gateway SiteWise Edge adiciona esse prefixo a todos os fluxos de dados dessa fonte. Use um prefixo de stream de dados para distinguir entre streams de dados que têm o mesmo nome de origens diferentes. Cada stream de dados deve ter um nome exclusivo na conta.  
`typeConversions`  
Os tipos de conversões disponíveis para tipos de dados OPC UA não compatíveis. Cada tipo de dados é convertido em strings. Para obter mais informações, consulte [Converter tipos de dados incompatíveis](string-conversion.md).    
`array`  
O tipo de dados de matriz simples que é convertido em strings. Você pode escolher a seguinte opção:  
+ `JsonArray`: indica que você optou por converter os tipos de dados de matriz simples em strings.  
`datetime`  
O tipo DateTime de dados que é convertido em cadeias de caracteres. Você pode escolher a seguinte opção:  
+ `ISO8601String`: indica que você optou por converter tipos de dados ISO 8601 em strings.  
`destination`  
Configuração para o destino das etiquetas OPC UA. Os gateways V3 de stream clássico, habilitados para v2 e MQTT, têm configurações diferentes para destinos.    
`type`  
O tipo do destino.  
`streamName`— *somente para streams clássicos, gateways V2*  
O nome do stream do . O nome do fluxo deve ser exclusivo.  
`streamBufferSize`— *somente para streams clássicos, gateways V2*  
O tamanho de buffer do fluxo. Isso é importante para gerenciar o fluxo de dados das fontes OPC UA.  
`defaultPropertyGroupConfig`— *Habilitado para MQTT, somente gateways* V3  
(Opcional) Configuração para o grupo de propriedades padrão. O grupo de propriedades padrão contém todos os nós que não estão contidos em um grupo de propriedades definido pelo usuário.    
`dataChangeTrigger`  
O gatilho de alteração de dados padrão a ser usado no grupo de propriedades padrão. Os valores válidos são `STATUS_VALUE_TIMESTAMP`, `STATUS_VALUE` ou `STATUS`.
`defaultPropertyGroupConfig`requer a versão 3.1.0 ou posterior do componente coletor SiteWise IoT OPC UA. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).  
`discoveryConfig`— *Habilitado para MQTT, somente gateways* V3  
(Opcional) Configuração para o processo de descoberta do nó OPC UA.    
`enableNodeTraversal`  
Especifica se você deve continuar percorrendo os nós secundários do nó raiz definido pelo filtro do nó da fonte de dados. Quando definido como`false`, a descoberta é interrompida no nó raiz.  
`avoidNodeTreeLoops`  
Especifica se os loops infinitos devem ser evitados durante o processo de navegação no nó OPC UA. Quando definido como`true`, o gateway rastreia os nós visitados para evitar referências circulares.  
`maxConcurrentBrowseRequests`  
O número máximo de solicitações de navegação simultâneas que seu servidor OPC UA pode processar simultaneamente. O intervalo válido é de 1 a 500.  
`maxNodesPerBrowseRequest`  
O número máximo de nós a serem enviados em cada solicitação de navegação para o servidor OPC UA. O intervalo válido é de 1 a 1.000.  
`periodicDiscovery`  
Configuração para executar a descoberta periodicamente em intervalos fixos. A descoberta periódica é ativada quando essa configuração é fornecida.    
`interval`  
A quantidade de tempo entre as operações periódicas de descoberta. Você pode usar `m` por minutos, `h` horas e `d` dias. Por exemplo, `90m` ou `1h`. O intervalo mínimo é de 30 segundos.  
`maxNodesDiscoveredPerInterval`  
O número máximo de nós que devem ser descobertos por intervalo de descoberta. Isso ajuda a controlar a carga no gateway e no servidor OPC UA.
`periodicDiscovery`requer a versão 3.1.0 ou posterior do componente coletor SiteWise IoT OPC UA. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).
Se a descoberta ocorrer infinitamente, habilite. `avoidNodeTreeLoops` Monitore o progresso da descoberta nos CloudWatch registros sob o `aws.iot.SiteWiseOpcUaCollector` componente.

`propertyGroups`  
(Opcional) A lista de grupos de propriedades que definem `deadband` e `scanMode` são solicitados pelo protocolo.    
`name`  
O nome do grupo de propriedade. Esse deve ser um identificador exclusivo.  
`deadband`  
O valor `deadband` define a alteração mínima no valor de um ponto de dados que deve ocorrer para que os dados sejam enviados à nuvem. Ela contém as seguintes informações:    
`type`  
Os tipos de deadband compatíveis. Você pode escolher as seguintes opções:  
+ `ABSOLUTE`: um valor fixo que especifica a alteração absoluta mínima necessária para considerar um ponto de dados significativo o suficiente para ser enviado à nuvem.
+ `PERCENT`: um valor dinâmico que especifica a alteração mínima necessária como uma porcentagem do valor do último ponto de dados enviado. Esse tipo de deadband é útil quando os valores de dados variam muito ao longo do tempo.  
`value`  
O valor da deadband. Quando `type` é `ABSOLUTE`, esse valor é um duplo sem unidade. Quando `type` é `PERCENT`, esse valor é o dobro entre `1` e `100`.  
`eguMin`  
(Opcional) O mínimo da unidade de engenharia ao usar uma deadband de `PERCENT`. Defina isso se o servidor OPC UA não tiver unidades de engenharia configuradas.  
`eguMax`  
(Opcional) O máximo da unidade de engenharia ao usar uma deadband de `PERCENT`. Defina isso se o servidor OPC UA não tiver unidades de engenharia configuradas.  
`timeoutMilliseconds`  
A duração em milissegundos antes do tempo limite. O mínimo é `100`.  
`scanMode`  
A estrutura de `scanMode` contém as seguintes informações:    
`type`  
Os tipos compatíveis de `scanMode`. Os valores aceitos são `POLL` e `EXCEPTION`.  
`rate`  
O intervalo de amostragem para o modo de verificação.  
`timestampToReturn`  
A fonte do carimbo de data/hora. Você pode escolher as seguintes opções:  
+ `SOURCE_TIME`: usa o carimbo de data/hora do dispositivo.
+ `SERVER_TIME`: usa o carimbo de data/hora do servidor.
Use `TimestampToReturn` com a versão 2.5.0 ou posterior do componente coletor SiteWise IOT OPC UA. Se você usar esse recurso com versões anteriores, as atualizações de configuração falharão. Para obter mais informações, consulte [Atualizar a versão de um AWS IoT SiteWise componente](manage-gateways-ggv2.md#update-component-version).  
`nodeFilterRuleDefinitions`  
(Opcional) Uma lista de caminhos de nós a serem incluídos no grupo de propriedades. Os grupos de propriedades não podem se sobrepor. Se você não especificar um valor para esse campo, o grupo conterá todos os caminhos abaixo da raiz e você não poderá criar grupos de propriedades adicionais. A estrutura `nodeFilterRuleDefinitions` contém as seguintes informações:    
`type`  
`OpcUaRootPath` é o único tipo compatível. Isso especifica que o valor de `rootPath` é um caminho relativo à raiz do espaço de navegação OPC UA.  
`rootPath`  
Uma lista delimitada por vírgulas que especifica os caminhos (em relação à raiz) a serem incluídos no grupo de propriedades.

### Exemplos adicionais de configuração de recursos para fluxos clássicos, gateways V2 ()AWS CLI
<a name="opc-ua-source-example-cli"></a>

O exemplo a seguir define uma configuração de capacidade de gateway OPC UA SiteWise Edge a partir de uma carga armazenada em um arquivo JSON.

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

**Example : configuração da fonte OPC UA**  
O arquivo `opc-ua-configuration.json` a seguir define uma configuração de fonte OPC UA básica e sem proteção.  

```
{
    "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 : configuração da fonte OPC UA com grupos de propriedades definidos**  
O arquivo `opc-ua-configuration.json` a seguir define uma configuração de fonte OPC UA básica e sem proteção, com grupos de propriedades 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 : configuração da fonte OPC UA com propriedades**  
O exemplo de JSON a seguir para `opc-ua-configuration.json` define uma configuração de fonte OPC UA com as seguintes propriedades:  
+ Confia em qualquer certificado.
+ Usa a política de segurança de `BASIC256` para proteger as mensagens.
+ Usa o modo `SIGN_AND_ENCRYPT` para proteger conexões.
+ Usa credenciais de autenticação armazenadas em um segredo do Secrets Manager.
+ Filtra stream de dados, com exceção daqueles cujo caminho começa com `/WindFarm/2/WindTurbine/`.
+ Adiciona `/Washington` ao início de cada caminho de stream de dados para distinguir entre este “Parque eólico nº 2" e um “Parque eólico nº 2" em outra á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 : configuração da fonte OPC UA com confiança por certificado**  
O exemplo de JSON a seguir para `opc-ua-configuration.json` define uma configuração de fonte OPC UA com as seguintes propriedades:  
+ Confia em um determinado certificado X.509.
+ Usa a política de segurança de `BASIC256` para proteger as mensagens.
+ Usa o modo `SIGN_AND_ENCRYPT` para proteger conexões.

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