設定 OPC UA 來源 - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 OPC UA 來源

您可以使用 AWS IoT SiteWise 主控台或 SiteWise Edge 閘道功能,定義 OPC UA 來源並將其新增至 SiteWise Edge 閘道,以代表本機 OPC UA 伺服器。

設定 OPC UA 來源 (主控台)

您可以透過下列程序使用主控台來設定 OPC UA 來源。

使用 AWS IoT SiteWise 主控台設定 OPC UA 來源
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在導覽窗格中,選擇 Gateways (網際網路閘道)。

  3. 選取 SiteWise 邊緣閘道以新增 OPC UA 來源。

  4. 選擇新增資料來源

  5. 輸入來源的名稱。

  6. 輸入資料來源伺服器的 Local endpoint (本機端點)。端點可以是 IP 位址或主機名稱。您也可以將連接埠號碼新增至本機端點。例如,您的本地端點可能如下所示:opc.tcp://203.0.113.0:49320

    注意

    如果您的 SiteWise 邊緣網關具有Deployment type西門子工業邊緣設備-新的,並且您想從與邊緣應用程序在同一西門子工業邊緣設備上運行的邊緣 OPC UA 服務器應用程序中導入 AWS IoT SiteWise 數據,請輸入opc.tcp://ie-opcua:48010

  7. (選擇性) 針對要選取的節點 ID,新增節點篩選器,以限制要擷取到的資料串流。 AWS 雲端依預設, SiteWise Edge 閘道會使用伺服器的根節點來擷取所有資料串流。您可以使用節點篩選器,透過僅包含建立模型的資料路徑,以減少 SiteWise Edge 閘道的啟動時間和使用CPU量 AWS IoT SiteWise。依預設, SiteWise Edge 閘道會上傳除開頭為的 OPC UA 路徑以外的所有 UA 路徑/Server/。若要定義 OPC UA 節點篩選器,您可以使用節點路徑和***萬用字元。如需詳細資訊,請參閱使用 OPC UA 節點篩選

  8. 對於「目的」,請選擇來源資料的目的地:

    • AWS IoT SiteWise 即時 — 選擇此選項可將資料直接傳送至 AWS IoT SiteWise 儲存空間。即時擷取和監控資料,並在邊緣處理資料。

    • AWS IoT SiteWise 使用 Amazon S3 緩衝 — 將實木複合地板格式的資料傳送到 Amazon S3,然後匯入 AWS IoT SiteWise 儲存。選擇此選項以批次擷取資料,並以符合成本效益的方式儲存歷史資料。您可以設定偏好的 Amazon S3 儲存貯體位置,以及要將資料上傳到 Amazon S3 的頻率。您也可以選擇擷取後要如何處理資料。 AWS IoT SiteWise您可以選擇在 SiteWise和 Amazon S3 中同時提供資料,也可以選擇從 Amazon S3 自動刪除資料。

      • Amazon S3 儲存貯體是一種暫存和緩衝機制,支援實木複合格式的檔案。

      • 如果選取「將資料匯入 AWS IoT SiteWise 儲存」核取方塊,資料會先上傳到 Amazon S3,然後再上傳到 AWS IoT SiteWise 儲存。

        • 如果您選取「從 Amazon S3 刪除資料」核取方塊,資料會在匯入 SiteWise 儲存後從 Amazon S3 刪除。

        • 如果清除核取方塊從 Amazon S3 刪除資料,資料會同時存放在 Amazon S3 和 SiteWise 儲存中。

      • 如果清除核取方塊將資料匯入 AWS IoT SiteWise 儲存,資料只會存放在 Amazon S3 中。它不會匯入到 SiteWise 儲存區。

      有關各種存儲選項 AWS IoT SiteWise 提供的詳細信息,請管理資料儲存訪問。若要進一步了解定價選項,請參閱AWS IoT SiteWise 定價

    • AWS IoT Greengrass 串流管理員 — 使用串 AWS IoT Greengrass 流管理員將資料傳送到下列 AWS 雲端 目的地:Amazon Kinesis 資料串流中的通道、Amazon Kinesis Data Streams 中 AWS IoT SiteWise的資產屬性或 Amazon Simple Storage Service (Amazon S3) 中的物件。 AWS IoT Analytics如需詳細資訊,請參閱AWS IoT Greengrass Version 2 開發人員指南的 AWS IoT Greengrass 核心管理資料串流

      輸入 AWS IoT Greengrass 串流的名稱。

    設定資料來源時,用於選取的節點 ID 來決定資料流程的目的地。

    • 如果使用 Amazon S3 將相同的資料發佈到AWS IoT SiteWise 即時和AWS IoT SiteWise 緩衝,您必須新增兩個發佈到這兩個目的地的資料來源。

    • 若要分割資料以便將資料的一部分發佈到AWS IoT SiteWise 即時,另一部分使用 Amazon S3 進行AWS IoT SiteWise 緩衝,您必須篩選下列資料別名:

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

      例如,您可以新增指向/**/Data1節點篩選器、AWS IoT SiteWise 即時的資料來源,以及另一個指向使用 Amazon S3 /**/Data2AWS IoT SiteWise 緩衝的資料來源

  9. 在 [進階組態] 窗格中,您可以執行下列動作:

    1. 針對來源伺服器與 SiteWise Edge 閘道之間的連線和傳輸中的資料,選擇訊息安全性模式。此欄位是 OPC UA 安全性原則和訊息安全性模式的組合。選擇您為 OPC UA 伺服器指定的相同安全性原則和訊息安全性模式。

    2. 如果您的來源需要驗證,請從 [驗證設定] 清單中選擇 AWS Secrets Manager 密碼。 SiteWise Edge 閘道連線至此資料來源時,會使用此密碼中的驗證認證。您必須將密碼附加到 SiteWise Edge 閘道的 AWS IoT Greengrass 元件,才能將其用於資料來源驗證。如需詳細資訊,請參閱設定資料來源驗證

      提示

      您的資料伺服器可能具有稱為 Allow anonymous login (允許匿名登入) 的選項。如果此選項為 Yes (是),則您的來源不需要身分驗證。

    3. (選擇性) 您可以透過選取啟用資料串流前置詞 -用來啟用資料串流前置詞

      1. 輸入資料串流前置詞。 SiteWise Edge 閘道會將此前置詞新增至來自此來源的所有資料串流。使用資料流前置詞以區分來自不同來源但具有相同名稱的資料串流。您帳戶中的每個資料串流應該都有唯一的名稱。

    4. (選擇性) 選擇「資料類型」轉換選項,將不支援的 OPC UA 資料類型轉換為字串,然後再擷取。 AWS IoT SiteWise將具有簡單數據類型的數組值轉換為JSON字符串和 DateTime 數據類型為 ISO 8601 字符串。如需詳細資訊,請參閱轉換不受支援的資料

    5. (選擇性) 針對「內容群組」,選擇「新增群組」。

      1. 輸入內容群組的「名稱」。

      2. 對於屬性

        1. 對於節點路徑,請新增 OPC UA 節點篩選器,以限制要上傳到的 OPC UA 路徑 AWS IoT SiteWise。格式類似於用於選取的節點 ID

      3. 對於 「群組」設定,請執行下列操作:

        1. 在「資料品質」設定中,選擇您要 AWS IoT SiteWise Collector 擷取的資料品質類型。

        2. 對於掃描模式設定,請使用掃描模式設定標準訂閱內容。您可以選取 [訂閱] 或 [投票]。如需有關掃描模式的詳細資訊,請參閱使用 UA 篩選資料擷取範圍 OPC

          Subscribe
          傳送每個資料點
          1. 選擇「訂閱」並設定下列項目:

            1. 資料變更觸發器 — 啟動資料變更警示的條件。

            2. 訂閱佇列大小 — OPC —UA 伺服器上特定測量結果的佇列深度,其中監督項目的通知會排入佇列。

            3. 訂閱發佈間隔 — 建立訂閱時指定的發行週期間隔 (毫秒)。

            4. 快照間隔-用 — 快照頻率逾時設定可確保 AWS IoT SiteWise Edge 擷取穩定的資料串流。

            5. 掃描速率 — 您希望 SiteWise Edge 閘道讀取暫存器的速率。 AWS IoT SiteWise 會自動計算 SiteWise Edge 閘道允許的最低掃描速率。

            6. 時間戳記 — 要包含在 OPC UA 資料點的時間戳記。您可以使用伺服器時間戳記或裝置的時間戳記。

              注意

              使用屬性群組進行時間戳記設定。

          2. 死帶設定中,設死帶類型。無限類型控制源發送給您的數據 AWS IoT SiteWise,以及它丟棄的數據。如需有關無限區設定的詳細資訊,請參閱使用 UA 篩選資料擷取範圍 OPC

            • — 關聯的伺服器會傳送此內容群組的所有資料點。

            • 百分比 — 關聯的伺服器只會傳送超出資料範圍指定百分比的資料。此範圍由伺服器根據為每個節點定義的工程單位最小值和最大值來計算。如果伺服器不支援百分比限制或缺少已定義的工程單位,閘道會使用以下提供的最小值和最大值來計算範圍。

            • 絕對 — 關聯的伺服器只會傳送超出特定範圍的資料。

            1. 死帶值設置為數據范圍的百分比為死帶。

            2. (選擇性) 使用最小範圍-可選和最大範圍 -可選,指定無限範圍的最小值和最大值

          Poll
          以特定間隔傳送資料點
          • 選擇投票並設定下列項目:

            1. 掃描速率 — 您希望 SiteWise Edge 閘道讀取暫存器的速率。 AWS IoT SiteWise 會自動計算 SiteWise Edge 閘道允許的最低掃描速率。

            2. 時間戳記 — 要包含在 OPC UA 資料點的時間戳記。您可以使用伺服器時間戳記或裝置的時間戳記。

          注意

          當您在掃描模式設定中選取「訂閱」時,即可使用無限設定

  10. 選擇 Save (儲存)。

設定 OPC UA 來源 (CLI)

您可以使用定義 SiteWise 邊緣閘道的 OPC UA 資料來源 AWS CLI。若要這麼做,請建立 OPC UA 功能組態JSON檔,並使用 update-gateway-capability-configuration指令來更新 SiteWise Edge 閘道組態。您必須在單一功能組態中定義所有 OPC UA 來源。

此功能具有下列命名空間。

  • iotsitewise:opcuacollector:2

請求語法

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

請求內文

來源

OPCUA 來源定義結構清單,每個結構都包含下列資訊:

name

來源的唯一且易記名稱。

端點

包含下列資訊的端點結構:

certificateTrust

包含下列資訊的憑證信任政策結構:

type

來源的憑證信任模式。選擇下列其中一項:

  • TrustAny— SiteWise Edge 閘道在連線至 OPC UA 來源時信任任何憑證。

  • X509— 邊 SiteWise 緣閘道在連線至 OPC UA 來源時信任 X.509 憑證。如果您選擇此選項,則必須在 certificateTrust 中定義 certificateBody。您也可以 certificateTrust 在中定義 certificateChain

certificateBody

(選用性) X.509 憑證的主體。

如果您在 certificateTrust 中為 type 選擇 X509,則此欄位為必要。

certificateChain

(選用) X.509 憑證的信任鏈。

僅當您在 certificateTrust 中為 type 選擇 X509 的情況下,才會使用此欄位。

endpointUri

OPCUA 來源的本機端點。例如,您的本機端點可能看起來會像 opc.tcp://203.0.113.0:49320

securityPolicy

要使用的安全性原則,讓您可以保護從 OPC UA 來源讀取的訊息。選擇下列其中一項:

  • NONE— 邊 SiteWise 緣閘道無法保護來自 OPC UA 來源的郵件安全。我們建議您選擇不同的安全性原則。如果您選擇此選項,您也必須為 messageSecurityMode 選擇 NONE

  • BASIC256_SHA256Basic256Sha256 安全性原則。

  • AES128_SHA256_RSAOAEPAes128_Sha256_RsaOaep 安全性原則。

  • AES256_SHA256_RSAPSSAes256_Sha256_RsaPss 安全性原則。

  • BASIC128_RSA15— (已取代) OPC UA 規格中的Basic128Rsa15安全性原則已淘汰,因為它不再被視為安全性。我們建議您選擇不同的安全性原則。如需詳細資訊,請參閱基本 128 頁

  • BASIC256— (已取代) OPC UA 規格中的Basic256安全性原則已淘汰,因為它不再被視為安全性。我們建議您選擇不同的安全性原則。如需詳細資訊,請參閱基本 256

重要

如果您選擇以外的安全策略NONE,則必須選擇SIGNSIGN_AND_ENCRYPTmessageSecurityMode。您也必須將來源伺服器設定為信任 SiteWise Edge 閘道。如需詳細資訊,請參閱設定 OPC UA 來源伺服器以信任邊 SiteWise 緣閘道

messageSecurityMode

用來保護 OPC UA 來源連線的訊息安全性模式。選擇下列其中一項:

  • NONE— 邊 SiteWise 緣閘道無法保護與 OPC UA 來源的連線安全。我們建議您選擇不同的訊息安全性模式。如果您選擇此選項,您也必須為 securityPolicy 選擇 NONE

  • SIGN— SiteWise 邊緣閘道和 OPC UA 來源之間傳輸中的資料已簽署,但未加密。

  • SIGN_AND_ENCRYPT— 閘道器和 OPC UA 來源之間傳輸中的資料經過簽署和加密。

重要

如果您選擇的訊息安全性模式不是NONE,則必須選擇以外的securityPolicy其他模式NONE。您也必須將來源伺服器設定為信任 SiteWise Edge 閘道。如需詳細資訊,請參閱設定 OPC UA 來源伺服器以信任邊 SiteWise 緣閘道

identityProvider

包含下列資訊的身分提供者結構:

type

來源所需的身分驗證登入資料類型。選擇下列其中一項:

  • Anonymous— 源不需要身份驗證即可連接。

  • Username— 來源需要使用者名稱和密碼才能連線。如果您選擇此選項,則必須在 identityProvider 中定義 usernameSecretArn

usernameSecretArn

(選擇性) AWS Secrets Manager 密碼ARN的。 SiteWise Edge 閘道連線至此來源時,會使用此密碼中的驗證認證。您必須將密碼附加至 SiteWise Edge 閘道的 IoT SiteWise 連接器,才能將其用於來源驗證。如需詳細資訊,請參閱設定資料來源驗證

如果您在 identityProvider 中為 type 選擇 Username,則此欄位為必要。

nodeFilterRules

定義要傳送至 AWS 雲端之 OPC UA 資料串流路徑的節點篩選規則結構清單。您可以使用節點篩選器,透過僅包含建立模型的資料路徑,以減少 SiteWise Edge 閘道的啟動時間和使用CPU量 AWS IoT SiteWise。依預設, SiteWise Edge 閘道會上傳除開頭為的 OPC UA 路徑以外的所有 UA 路徑/Server/。若要定義 OPC UA 節點篩選器,您可以使用節點路徑和***萬用字元。如需詳細資訊,請參閱使用 OPC UA 節點篩選

清單中的每個結構都必須包含下列資訊:

動作

此節點篩選規則的動作。您可以選擇下列選項:

  • INCLUDE— SiteWise Edge 閘道僅包含符合此規則的資料串流。

定義

包含下列資訊的節點篩選規則結構:

type

此規則的節點篩選路徑類型。您可以選擇下列選項:

  • OpcUaRootPath— SiteWise Edge 閘道會根據 OPC UA 路徑階層的根目錄評估此節點篩選路徑。

rootPath

根據 OPC UA 路徑階層的根目錄評估的節點篩選路徑。此路徑必須以開頭/

measurementDataStream前綴

要在來源的所有資料串流前面加上的字串。 SiteWise Edge 閘道會將此前置詞新增至來自此來源的所有資料串流。使用資料流前置詞以區分來自不同來源但具有相同名稱的資料串流。您帳戶中的每個資料串流應該都有唯一的名稱。

typeConversions

可用於不支援 OPC UA 資料類型的轉換類型。每個數據類型被轉換為字符串。如需詳細資訊,請參閱轉換不受支援的資料

陣列

轉換為字串的簡單陣列資料類型。您可以選擇下列選項:

  • JsonArray— 表示您選擇將簡單陣列資料類型轉換為字串。

datetime

轉換為字串的 DateTime 資料類型。您可以選擇下列選項:

  • ISO8601String— 指示您選擇將 ISO 8601 資料類型轉換為字串。

目的地

資料串流目的地的組態。

type

目的地的類型。

streamName

串流的名稱。串流名稱應該是唯一的。

streamBufferSize

串流的緩衝區大小。這對於管理來自 OPC UA 來源的數據流非常重要。

propertyGroups

(選擇性) 定義和通訊協定scanMode要求deadband的內容群組清單。

name

內容群組的名稱。這應該是一個唯一的標識符。

死帶

deadband值定義了在將資料傳送至雲端之前必須發生的資料點值的最小變更。其中包含下列資訊:

type

支持的死帶類型。您可以選擇下列選項:

  • ABSOLUTE— 固定值,指定將資料點視為足以傳送至雲端所需的最小絕對變更。

  • PERCENT— 動態值,將所需的最小變更指定為上次傳送資料點值的百分比。當資料值隨著時間的推移顯著變化時,這種類型的死帶非常有用。

死帶的值。如果typeABSOLUTE,此值為無單位 double。如果typePERCENT,此值是介於1和之間的雙精度值100

eguMin

(選擇性) 使用PERCENT無限區時的最小工程單位。如果 OPC UA 伺服器沒有設定工程單位,您可以設定此項。

eguMax

(選擇性) 使用PERCENT無限區時的工程單位上限。如果 OPC UA 伺服器沒有設定工程單位,您可以設定此項。

timeoutMilliseconds

逾時之前的持續時間 (以毫秒計) 最小值為100

scanMode

包含下列資訊的scanMode結構:

type

支援的類型scanMode。接受的值為POLLEXCEPTION

掃描模式的取樣間隔。

timestampToReturn

時間戳記的來源。您可以選擇下列選項:

  • SOURCE_TIME— 使用設備上的時間戳。

  • SERVER_TIME— 使用伺服器上的時間戳記。

nodeFilterRule定義

(選擇性) 要包含在內容群組中的節點路徑清單。內容群組不能重疊。如果您未指定此欄位的值,則群組會包含根目錄下的所有路徑,而且您無法建立其他內容群組。nodeFilterRuleDefinitions 結構包含以下資訊:

type

OpcUaRootPath是唯一支援的類型。這會指定的rootPath值為相對於 OPC UA 瀏覽空間根目錄的路徑。

rootPath

以逗號分隔的清單,指定要包含在內容群組中的路徑 (相對於根目錄)。

功能組態範例

下列範例會根據儲存在JSON檔案中的承載定義 OPC UA SiteWise Edge 閘道功能組態。

aws iotsitewise update-gateway-capability-configuration \ --capability-namespace "iotsitewise:opcuacollector:2" \ --capability-configuration file://opc-ua-configuration.json
範例 : OPC UA 原始碼組態

下面的opc-ua-configuration.json文件定義了一個基本的,不安全的 OPC UA 源配置。

{ "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": "" } ] }
範例 :具有已定義內容群組的 OPC UA 來源組態

下列opc-ua-configuration.json檔案會定義具有已定義內容群組的基本不安全 OPC UA 來源組態。

{ "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 } } ] } ] }
範例 :具有屬性的 OPC UA 源配置

下列JSON範例opc-ua-configuration.json定義具有下列屬性的 OPC UA 來源組態:

  • 信任任何憑證。

  • 使用BASIC256安全性原則來保護郵件的安全。

  • 使用 SIGN_AND_ENCRYPT 模式來保護連線。

  • 使用儲存在 Secrets Manager 碼中的驗證認證。

  • 篩選資料串流,路徑以 /WindFarm/2/WindTurbine/ 開頭的資料串流除外。

  • /Washington 新增至每個資料串流路徑的開頭,以區分此「風力發電廠 #2」和另一個區域中的「風力發電廠 #2」。

{ "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" } ] }
範例 :具有憑證信任的 OPC UA 來源組態

下列JSON範例opc-ua-configuration.json定義具有下列屬性的 OPC UA 來源組態:

  • 信任指定的 X.509 憑證。

  • 使用BASIC256安全性原則來保護郵件的安全。

  • 使用 SIGN_AND_ENCRYPT 模式來保護連線。

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