Configurar uma fonte de OPC UA - AWS IoT SiteWise

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 de OPC UA

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.

Configurar uma fonte OPC UA (console)

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

Para configurar uma fonte de OPC UA usando o AWS IoT SiteWise console
  1. Navegue até o console do AWS IoT SiteWise.

  2. No painel de navegação, selecione Gateways da .

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

  4. Escolha Adicionar fonte de dados.

  5. Insira um nome para a origem.

  6. 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, seu endpoint local pode ter a seguinte aparência: opc.tcp://203.0.113.0:49320

    nota

    Se o seu gateway SiteWise Edge tiver um Deployment type dispositivo Siemens Industrial Edge - novo e você quiser ingerir dados do aplicativo Edge OPC UA Server em execução no mesmo dispositivo Siemens Industrial Edge do aplicativo Edge, AWS IoT SiteWise insira. opc.tcp://ie-opcua:48010

  7. (Opcional) Para seleção de ID de nó, adicione filtros de nó para limitar quais fluxos de dados são ingeridos no. 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 CPU uso 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 do OPC UA, exceto aqueles que começam com/Server/. Para definir filtros de nós OPC UA, você pode usar caminhos de nós * e caracteres ** curinga. Para obter mais informações, consulte Use filtros de nós OPC UA.

  8. Em Destinos, escolha o destino dos dados de origem:

    • 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 e processe dados na borda.

    • AWS IoT SiteWise Armazenado em buffer usando o Amazon S3 — Envie dados em formato parquet para o Amazon S3 e depois 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 sua localização preferida de bucket do Amazon S3 e a frequência com que deseja que os dados sejam carregados para o Amazon S3. Você também pode 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 no Amazon S3 SiteWise e no Amazon S3 ou pode optar por excluí-los automaticamente do Amazon S3.

      • 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 AWS IoT SiteWise armazenamento, os dados serão armazenados somente no Amazon S3. Não é importado para o SiteWise armazenamento.

      Visite Gerenciar o armazenamento de dados para obter detalhes sobre as várias opções de armazenamento AWS IoT SiteWise oferecidas. Para saber mais sobre as opções de preços, consulte AWS IoT SiteWise preços.

    • AWS IoT Greengrass gerenciador de streams — Use AWS IoT Greengrass o gerenciador de streams para enviar dados para os seguintes Nuvem AWS destinos: 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 Guia do AWS IoT Greengrass Version 2 desenvolvedor.

      Insira um nome para o AWS IoT Greengrass stream.

    Ao configurar uma fonte de dados, o Node ID para seleção é usado para determinar o destino do fluxo de dados.

    • Se os mesmos dados forem publicados AWS IoT SiteWise em tempo real e AWS IoT SiteWise armazenados em buffer usando o Amazon S3, você deverá adicionar duas fontes de dados que publiquem nos dois destinos.

    • Para dividir os dados de forma que uma parte deles seja publicada AWS IoT SiteWise em tempo real e a outra parte no AWS IoT SiteWise Buffered usando o Amazon S3, você deve filtrar os seguintes aliases de dados:

      /Alias01/Data1 /Alias02/Data1 /Alias03/Data1 /Alias03/Data2

      Por exemplo, você pode adicionar uma fonte de dados apontando para o filtro do /**/Data1 nó, para o AWS IoT SiteWise tempo real, e outra fonte de dados apontando para o /**/Data2 AWS IoT SiteWise buffer usando o Amazon S3

  9. 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 do 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 seu servidor OPC UA.

    2. Se sua fonte exigir autenticação, escolha um AWS Secrets Manager segredo na lista de 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.

      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.

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

      1. Insira um prefixo de fluxo 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.

    4. (Opcional) Escolha uma opção de conversão de tipo de dados para converter tipos de dados OPC UA não suportados em cadeias de caracteres antes de ingeri-los. AWS IoT SiteWise Converta valores de matriz com tipos de dados simples em JSON cadeias de caracteres e tipos de DateTime dados em ISO 8601 cadeias de caracteres. Para obter mais informações, consulte Conversão de tipos de dados incompatíveis.

    5. (Opcional) Para grupos de propriedades, escolha Adicionar novo grupo.

      1. Insira um Nome para o grupo de propriedades.

      2. Para Propriedades:

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

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

        2. Para a configuração do modo de digitalização, configure as propriedades padrão da assinatura usando o modo de digitalização. Você pode selecionar Inscrever-se ou Enquete. Para mais informações sobre o modo de verificação, consulte Filtrar intervalos de ingestão de dados com UA OPC.

          Subscribe
          Para enviar todos os pontos de dados
          1. Escolha Inscrever-se e defina o seguinte:

            1. Acionador de alteração de dados — A condição que inicia um alerta de alteração de dados.

            2. Tamanho da fila de assinatura — 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.

            3. Intervalo de publicação da assinatura — O intervalo (em milissegundos) do ciclo de publicação especificado quando a assinatura é criada.

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

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

            6. Timestamp — O timestamp a ser incluído em seus OPC pontos de dados UA. Você pode usar o timestamp do servidor ou o timestamp do seu dispositivo.

              nota

              Use um grupo de propriedades para configuração de carimbo de data/hora.

          2. Nas 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 UA OPC.

            • Nenhum — O servidor associado envia todos os pontos de dados para esse grupo de propriedades.

            • Porcentagem — O servidor associado envia somente dados que estejam fora de uma porcentagem especificada do intervalo de dados. Esse intervalo é calculado pelo servidor com base na unidade de engenharia mínima e máxima definida para cada nó. Se o servidor não suportar faixas mortas percentuais 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 envia somente dados que estão fora de um intervalo específico.

            1. Defina o valor da faixa morta como a porcentagem do intervalo de dados até a banda morta.

            2. (Opcional) Especifique um mínimo e um máximo para a faixa de banda morta usando Alcance mínimo - opcional e Alcance máximo - opcional.

          Poll
          Para enviar pontos de dados em um intervalo específico
          • Escolha Enquete 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.

            2. Timestamp — O timestamp a ser incluído em seus OPC pontos de dados UA. Você pode usar o timestamp do servidor ou o timestamp do seu dispositivo.

          nota

          As configurações de banda morta são aplicáveis quando você seleciona Inscrever-se nas configurações do modo de digitalização.

  10. Escolha Salvar.

Configurar uma fonte OPC UA (CLI)

Você pode definir fontes de dados OPC UA para um gateway SiteWise Edge usando AWS CLI o. Para fazer isso, crie um JSON arquivo de configuração de capacidade do OPC UA e use o update-gateway-capability-configurationcomando para atualizar a configuração do gateway SiteWise Edge. Você deve definir todas as suas fontes de OPC UA em uma única configuração de capacidade.

Esse recurso tem o seguinte namespace.

  • 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

fontes

Uma lista de estruturas de definição de fonte de OPC UA, cada uma contendo 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:

tipo

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 à OPC fonte 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 do 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 as mensagens lidas da fonte do 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— (Obsoleto) A política de Basic128Rsa15 segurança está obsoleta 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 Basic128Rsa15.

  • BASIC256— (Obsoleto) A política de Basic256 segurança está obsoleta 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 Basic256.

Importante

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 seus servidores de origem OPC UA para confiar no gateway SiteWise Edge.

messageSecurityMode

O modo de segurança de mensagens a ser usado para proteger as conexões com a fonte OPC UA. Escolha uma das seguintes opções:

  • NONE— O gateway SiteWise Edge não protege as 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— Os dados em trânsito entre o gateway e a fonte de OPC UA são assinados e criptografados.

Importante

Se você escolher um modo de segurança de mensagem diferente deNONE, 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 seus servidores de origem OPC UA para confiar no gateway SiteWise Edge.

identityProvider

Uma estrutura de provedor de identidade que contém as seguintes informações:

tipo

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.

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 do 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 CPU uso 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 do OPC UA, exceto aqueles que começam com/Server/. Para definir filtros de nós OPC UA, você pode usar caminhos de nós * e caracteres ** curinga. Para obter mais informações, consulte Use filtros de nós OPC UA.

Cada estrutura na lista deve conter as seguintes informações:

ação

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.

definição

Uma estrutura de regra de filtro de nó que contém as seguintes informações:

tipo

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 do filtro do nó a ser avaliado em relação à raiz da hierarquia de caminhos do OPC UA. Esse caminho deve começar com /.

measurementDataStreamPrefixo

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 Conversão de tipos de dados incompatíveis.

matriz

O tipo de dados de matriz simples que é convertido em cadeias de caracteres. Você pode escolher a seguinte opção:

  • JsonArray— Indica que você optou por converter seus tipos de dados de matriz simples em cadeias de caracteres.

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 ISO 8601 tipos de dados em cadeias de caracteres.

destino

Configuração para o destino do fluxo de dados.

tipo

O tipo do destino.

streamName

O nome do stream do . O nome do stream deve ser exclusivo.

streamBufferSize

O tamanho do buffer do fluxo. Isso é importante para gerenciar o fluxo de dados de fontes de OPC UA.

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.

faixa morta

O deadband valor define a alteração mínima no valor de um ponto de dados que deve ocorrer antes que os dados sejam enviados para a nuvem. Ela contém as seguintes informações:

tipo

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 para a 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 banda morta é útil quando os valores dos dados variam significativamente 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. Você define 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. Você define 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:

tipo

Os tipos compatíveis de scanMode. Os valores aceitos são POLL e EXCEPTION.

taxa

O intervalo de amostragem para o modo de verificação.

timestampToReturn

A origem do carimbo de data/hora. Você pode escolher as seguintes opções:

  • SOURCE_TIME— Usa o carimbo de data/hora do seu dispositivo.

  • SERVER_TIME— Usa o timestamp do seu servidor.

nodeFilterRuleDefinições

(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:

tipo

OpcUaRootPath é o único tipo compatível. Isso especifica que o valor de rootPath é um caminho relativo à raiz do espaço de navegação do 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 de configuração de recurso

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

aws iotsitewise update-gateway-capability-configuration \ --capability-namespace "iotsitewise:opcuacollector:2" \ --capability-configuration file://opc-ua-configuration.json
exemplo : configuração da fonte OPC UA

O opc-ua-configuration.json arquivo a seguir define uma configuração de origem OPC UA básica e insegura.

{ "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": "" } ] }
exemplo : configuração da fonte OPC UA com grupos de propriedades definidos

O opc-ua-configuration.json arquivo a seguir define uma configuração de origem de OPC UA básica e insegura 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 } } ] } ] }
exemplo : configuração da fonte OPC UA com propriedades

O JSON exemplo a seguir opc-ua-configuration.json define uma configuração de origem do 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" } ] }
exemplo : configuração da fonte OPC UA com certificado confiável

O JSON exemplo a seguir opc-ua-configuration.json define uma configuração de origem do 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": "" } ] }