221.2. URI オプション
グループクライアントのすべての設定オプションは、共有クライアントインスタンスに適用されます。エンドポイントは、エンドポイント URI ごとにクライアントインスタンスを共有します。したがって、そのエンドポイント URI に対する最初の要求が行われたときに、クライアントグループのオプションが適用されます。それ以降のインスタンスはすべて無視されます。
同じエンドポイント URI に別のオプションが必要な場合は、別の共有接続インスタンスを選択するためにエンドポイント URI に内部的に追加される clientId オプションを設定することができます。つまり、エンドポイント URI とクライアント ID の組み合わせによって特定される共有接続です。
OPC UA クライアントエンドポイントは、URI 構文を使用して設定されます。
milo-client:endpointUri
milo-client:endpointUri
パスおよびクエリーパラメーターを使用します。
221.2.1. パスパラメーター (1 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
endpointUri | 必須 OPC UA サーバーのエンドポイント | 文字列 |
221.2.2. クエリーパラメーター (24 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
clientId (common) | 新しい接続インスタンスの作成を強制するための仮想クライアント ID | String | |
defaultAwaitWrites (Common) | 書き込みのデフォルトの待機設定 | false | boolean |
node (Common) | ノード定義 (ノード ID を参照) | ExpandedNodeId | |
samplingInterval (Common) | ミリ秒単位のサンプリング間隔 | double | |
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
allowedSecurityPolicies (client) | 許可されたセキュリティーポリシー URI のセット。デフォルトでは、すべてを受け入れて最高のものを使用します。 | String | |
applicationName (client) | アプリケーション名 | Eclipse Milo 用の Apache Camel アダプター | String |
applicationUri (client) | アプリケーション URI | String | |
channelLifetime (クライアント) | チャネルの有効期間 (ミリ秒) | Long | |
keyAlias (クライアント) | キーストアファイル内のキーの名前 | String | |
keyPassword (クライアント) | キーのパスワード | String | |
keyStorePassword (client) | キーストアのパスワード | String | |
keyStoreType (client) | キーストアのタイプ | String | |
keyStoreUrl (client) | キーのロード元の URL | URL | |
maxPendingPublishRequests (クライアント) | 保留中の公開リクエストの最大数 | Long | |
maxResponseMessageSize (クライアント) | 応答メッセージの最大バイト数 | Long | |
overrideHost (クライアント) | サーバーが報告したエンドポイントホストを、エンドポイント URI のホストでオーバーライドします。 | false | boolean |
productUri (client) | 製品の URI | String | |
requestTimeout (クライアント) | リクエストのタイムアウト (ミリ秒) | Long | |
sessionName (client) | セッション名 | String | |
sessionTimeout (client) | ミリ秒単位のセッションタイムアウト | Long |
221.2.3. Node ID
ターゲットノードを定義するには、名前空間とノード ID が必要です。以前のバージョンでは、これは nodeId
と namespaceUri
または namespaceIndex
のいずれかを指定することで可能でした。ただし、これは文字列ベースのノード ID の使用のみを許可していました。この設定はまだ可能ですが、新しい方が優先されます。
新しいアプローチは、完全な名前空間とノード ID を ns=1;i=1
の形式で指定することです。これにより、他のノード ID 形式 (数値、GUID/UUID、不透明など) も使用できます。node
パラメーターを使用する場合、古いものは使用しないでください。このノード形式の構文は、セミコロン (;
) で区切られた key=value
のペアのセットです。
正確に 1 つの名前空間と 1 つのノード ID キーを使用する必要があります。設定可能なキーについては、次の表を参照してください。
キー | タイプ | 説明 |
---|---|---|
ns | namespace | 数値ネームスペースインデックス |
nsu | namespace | 名前空間 URI |
s | node | 文字列ノード ID |
i | node | 数値ノード ID |
g | node | GUID/UUID ノード ID |
b | node | 不透明なノード ID の Base64 でエンコードされた文字列 |
構文によって生成された値は透過的に URI パラメーター値にエンコードできないため、エスケープする必要があります。ただし、Camel では実際の値を RAW(…)
内にラップできるため、エスケープが不要になります。以下はその例です。
milo-client://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
milo-client://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
221.2.4. セキュリティーポリシー
許可するセキュリティーポリシーを設定する場合、既知の OPC UA URI (例: http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15
) を使用するか、Milo 列挙型リテラル (例: None
) を使用できます。不明なセキュリティーポリシーの URI または列挙を指定するとエラーになります。
既知のセキュリティーポリシー URI と列挙型リテラルは、SecurityPolicy.java で確認できます。
注記: いずれの場合も、セキュリティーポリシーでは大文字と小文字が区別されると見なされます。