設定
|
ベースタイプ
|
デフォルト
|
注記
|
---|---|---|---|
バインド保護のポリシー
|
STRING
|
First-in-wins
|
必要なバインド保護のポリシーをメニューから選択します。デフォルトでは、このポリシーは First-in wins です。このポリシーでは、すでにバインドされているエッジデバイスから新規バインドの試みをプラットフォームが受信した場合、プラットフォームは新規バインドの試みを拒否します。
Last-in wins ポリシーでは、プラットフォームはすでにバインドされているデバイスからの新規バインドの試みを拒否する代わりに、新規バインドを受け付けて、エッジへのメッセージの送信方法に関するルーティング規則を更新します。
|
表示のアクセス許可のチェックを有効化
|
BOOLEAN
|
false
|
このポリシーが有効になっている場合、エッジデバイスを RemoteThing にバインドするために使用されるアプリケーションキーユーザーの表示アクセス許可が検証されます。表示アクセス許可が設定されていない場合、バインドは許可されません。
|
設定
|
ベースタイプ
|
デフォルト
|
注記
|
---|---|---|---|
アイドル接続タイムアウト (秒)
|
INTEGER
|
60
|
接続が確立されると、WebSocket 通信サブシステムは指定された秒数だけ待ってから、接続をシャットダウンします。アクティビティがある場合、アイドルタイマーがリセットされます。
|
アイドル Ping 速度 (秒)
|
INTEGER
|
45
|
ThingWorx は指定された秒数だけクライアントからの ping を待ちます。ping を受信すると、通信サイクルが継続します。
指定された秒数以内に ping リクエストに対する pong を受信しなかった場合、SDK は切断して再接続を試みます。切断によってソケット、ThingWorx 接続、WebSocket 接続、TLS 接続、OS レベルのソケットが閉じます。再接続によってこれらの接続レイヤーの新しいバージョンが作成されます (認証の各レイヤーが成功した場合)。
|
認証メッセージの待機時間 (秒)
|
INTEGER
|
15
|
接続が確立された後、リモートサーバーは指定された時間だけ認証を待機します。認証を受信しなかった場合、ソケットはシャットダウンします。
|
応答メッセージがタイムアウトになるまでに待機する時間 (秒)
|
INTEGER
|
30
|
サーバーがオンラインの状態でリクエストが失敗した場合、エラーが発生します。サーバーがオフラインの場合、サーバーが再びオンラインになるまでリクエストはキューに入ります。
|
メッセージまたはトンネルトラフィックの送信後に ping を送信
|
BOOLEAN
|
True
|
メッセージがクライアントからプラットフォームに送信された後で ping を送信します。この設定は接続が作成される際に適用されます。
|
設定
|
ベースタイプ
|
デフォルト
|
注記
|
---|---|---|---|
最大スレッド数
|
NUMBER
|
10
|
エッジデバイスへのイグレス通信に使用されます。Remote Thing との通信に使用可能なスレッドの数を指定します。イグレス通信の例としては、Remote Thing に対するリモートサービスの実行があります。指定された値をリクエストが上回るとそれらのリクエストはキューに送信されます。
|
設定
|
ベースタイプ
|
デフォルト
|
注記
|
---|---|---|---|
エンドポイント名
|
STRING
|
該当なし
|
ユーザー定義の名前
|
エンドポイント URI
|
STRING
|
該当なし
|
フェデレーション先のリモートサーバーの URI
|
最大エンドポイント接続
|
INTEGER
|
1
|
リモートサーバーに対してオープンにする接続の数
|
アイドル Ping 速度 (秒)
|
INTEGER
|
45
|
2 台のサーバーをフェデレーションする場合に使用します。「アイドル ping 速度」では、サーバーがリモートサーバーに ping を送信する頻度を指定します。中間システムがサーバーがアイドルであることを理由にサーバーをシャットダウンしないように接続をアクティブな状態に維持し、接続がアイドルであることを理由にリモートサーバーが接続をシャットダウンしないようにします。
|
アプリケーションキー
|
PASSWORD
|
該当なし
|
「パスワードを変更」ボタンをクリックすると、「パスワードを変更」画面が表示されます。ここで、新しいアプリケーションキーを入力できます。
|
|
WSCommunicationsSubsystem のサービスを使用することは管理者だけに許可されています。
|
|
アプリケーションキーが期限切れになっているデバイスを切断する CloseEndpointSessions サービスを一定間隔でトリガーすることもできます。アプリケーションキーが期限切れになっているデバイスを識別してその接続を終了するサンプルスクリプトを以下に示します。
// This script is for informational and example purposes only, and you must // configure/validate it to ensure that it meets your functional and security requirements. // result: INFOTABLE dataShape: "" var expiredKeysTable = Subsystems["UserManagementSubsystem"].GetApplicationKeyExpirationInfo({ expiredKeys: true /* BOOLEAN */ , unexpiredKeys: false /* BOOLEAN */ }); // Create InfoTable from EntityList DataShape var params = { infoTableName: "InfoTable", dataShapeName: "EntityList" }; // CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:STRING):INFOTABLE(EntityList) var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params); for (var i = 0; i < expiredKeysTable.rows.length; i++) { var expirationInfoTable = expiredKeysTable.rows[i].expirationInfo.rows; for (var j = 0; j < expirationInfoTable.length; j++) { // Add the name and key to result InfoTable var newEntry = new Object(); newEntry.name = expirationInfoTable[j].name;// STRING [Primary Key] result1 = Subsystems["WSCommunicationsSubsystem"].CloseEndpointSessions({ appKeyName: expirationInfoTable[j].name /* APPLICATIONKEYNAME */ }); logger.warn("Number of closed Sessions: " + result1); logger.warn("Expired application keys: " + expirationInfoTable[j].name); } } |
|
CloseEndpointSessions サービスは、そのサービスが閉じたセッションで使用されているアプリケーションキーを失効させたり無効にしたりしません。特定のアプリケーションキーを使用しているデバイスを切断し、そのデバイスが再接続できないようにするには、最初にその有効期限を更新することでアプリケーションキーを強制的に期限切れにします。次に、このサービスを呼び出してセッションを閉じます。
|
サービス
|
説明
|
||||||
---|---|---|---|---|---|---|---|
QueryEndpointSessions
|
このサービスはエンドポイントセッションにクエリーするときに以下のパラメータをとります。
• authenticationType (STRING)
• appKeyName (APPLICATIONKEYNAME)
• userName (USERNAME)
• startedBefore (DATETIME)
• startedAfter (DATETIME)
• lastUsedBefore (DATETIME)
• lastUsedAfter (DATETIME)
• hasBoundThings (BOOLEAN)
• hasMultipleConnections (BOOLEAN)
• maxItems (NUMBER)。結果数のデフォルト値は 500 です。
このサービスは、以下のフィールドを含む INFOTABLE を返します。
• endpointId。セッション自体ではなく、エンドポイントの識別子。
• authenticationType。"アプリケーションキー" や "ユーザー資格証明" など。
• appKeyName アプリケーションキーの名前 (該当する場合)。
• userContext。サービスが実行されたアカウントに関連付けられている名前。これらのすべてのサービスで、これは "管理者" になります。
• startDate
• lastUsedDate。ping を除く。
• numberBoundThings。このエンドポイントを介してバインドされている Thing の数。
• numberConnections。現在開いている接続の数。ThingWorx Connection Server または ThingWorx コネクタの場合、複数の接続が存在する場合があります。
|
||||||
GetBoundThingsForEndpoint
|
このサービスはエンドポイント ID をとります。このサービスを Composer UI から呼び出す場合、返す行の最大数をオプションで設定できます。これは INFOTABLE を返し、これには指定されているエンドポイントにバインドされている Thing の名前が、指定されている最大行数まで含まれています。
このサービスを使用することで、管理者は潜在的なメモリの問題に遭遇することなく、QueryEndpointSessions からの結果にこれらを含めることによって、どの Thing がどのエンドポイントにバインドされているかを調べることができます。
|
||||||
CloseEndpointSessions
|
このサービスは、エンドポイント ID か、QueryEndpointSessions サービスの maxItems を除くすべてのパラメータをとります。両方が指定されている場合、このサービスはエラーを返します。
このサービスは、基準を満たすすべてのセッションを閉じます。エンドポイントを指定する際には、QueryEndpointSessions サービスから返されたエンドポイント ID を使用します。
このサービスは、そのサービスが閉じたセッションで使用されているアプリケーションキーを失効させたり無効にしたりしません。このため、特定のアプリケーションキーを使用しているデバイスを切断し、そのデバイスが再接続できないようにする場合、最初にその有効期限を更新することでアプリケーションキーを強制的に期限切れにしてから、このサービスを呼び出してセッションを閉じる必要があります。
監査サブシステムが有効になっている場合、このサービスの呼び出しが監査されます。監査メッセージはカテゴリ DEVICE_COMMUNICATIONS に配置されます。監査サブシステムの詳細については、監査サブシステムおよびその関連トピックを参照してください。
|
||||||
CloseEndpoints
|
このサービスはエンドポイントセッションにクエリーするときに以下のパラメータをとります。
• appKeyName (APPLICATIONKEYNAME)
• endpointId (STRING)
両方が指定されている場合、このサービスはエラーを返します。
このサービスは、閉じようとしたエンドポイント接続の数を示す NUMBER を返します。
このサービスは、指定された appKeyName または endpoint ID に関連付けられているすべてのエンドポイント接続を閉じます。エンドポイントを指定する際には、QueryEndpointSessions サービスから返された endpoint ID を使用します。
監査サブシステムが有効になっている場合、結果としてエンドポイント接続を閉じることになるこのサービスの呼び出しが監査されます。監査メッセージは DEVICE_COMMUNICATIONS の下に分類されます。監査サブシステムの詳細については、監査サブシステムおよびその関連トピックを参照してください。
|