설정
|
기본 유형
|
기본값
|
설명
|
---|---|---|---|
바인딩 보호 정책
|
STRING
|
First-in-wins
|
메뉴에서 원하는 보호 정책 바인딩을 선택합니다. 이 정책은 기본적으로 First-in wins입니다. 이 정책은 플랫폼에서 이미 바인딩된 에지 장치로부터 새 바인딩 시도를 받을 경우 새 바인딩 시도를 거부함을 의미합니다.
Last-in wins 정책은 이미 바인딩된 장치에 대해 새 바인딩을 거부하는 대신 플랫폼에서 새 바인딩을 수락하고 메시지가 에지로 전송되는 방법에 대한 라우팅 규칙을 업데이트해야 함을 의미합니다.
|
표시 유형 사용 권한 확인 사용
|
BOOLEAN
|
false
|
이 정책이 활성화되면 에지 장치를 원격 사물에 바인딩하는 데 사용되는 앱 키 사용자가 표시 유형 사용 권한에 대해 검증됩니다. 표시 유형 사용 권한이 설정되지 않으면 바인딩이 허용되지 않습니다.
|
설정
|
기본 유형
|
기본값
|
설명
|
---|---|---|---|
유휴 연결 제한 시간(초)
|
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
|
에지 장치에 대한 송신 통신에 사용되며 원격 사물과 통신하는 데 사용할 수 있는 스레드 수를 지정합니다. 송신 통신의 예로 원격 사물에서 원격 서비스를 실행합니다. 지정된 값을 초과하는 모든 요청은 대기열로 전송됩니다.
|
설정
|
기본 유형
|
기본값
|
설명
|
---|---|---|---|
끝점 이름
|
STRING
|
해당 없음
|
사용자 정의 이름입니다.
|
끝점 URI
|
STRING
|
해당 없음
|
페더레이션할 원격 서버의 URI입니다.
|
최대 끝점 연결
|
INTEGER
|
1
|
원격 서버에 열린 연결 수입니다.
|
유휴 Ping 속도(초)
|
INTEGER
|
45
|
두 서버를 페더레이션할 때 사용됩니다. 유휴 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. 이 끝점을 통해 바인딩된 사물의 수입니다.
• numberConnections. 현재 열려 있는 연결 수입니다. ThingWorx Connection Server 또는 ThingWorx 커넥터의 경우 연결이 여러 개 있을 수 있습니다.
|
||||||
GetBoundThingsForEndpoint
|
이 서비스는 끝점 ID를 사용합니다. Composer UI에서 서비스를 호출하면 반환할 최대 행 수를 설정할 수 있습니다. 지정된 끝점에 바인딩된 사물 이름이 포함된 INFOTABLE을 지정된 최대 행 수까지 반환합니다.
이 서비스를 통해 관리자는 QueryEndpointSessions의 결과에 끝점을 포함하여 잠재적 메모리 문제를 겪지 않고 끝점에 바인딩될 사물을 결정할 수 있습니다.
|
||||||
CloseEndpointSessions
|
이 서비스는 maxItems를 제외하고 QueryEndpointSessions 서비스의 모든 매개 변수 또는 끝점 ID를 가져옵니다. 둘 다 제공되면 서비스는 오류를 반환합니다.
이 서비스는 조건과 일치하는 모든 세션을 닫습니다. 끝점을 지정할 때 QueryEndpointSessions 서비스에서 반환된 끝점 ID를 사용합니다.
이 서비스는 만료되지 않거나 그렇지 않은 경우 해당 서비스가 닫은 세션에서 사용하는 응용 프로그램 키를 무효화합니다. 따라서 제공된 응용 프로그램 키를 사용하여 장치의 연결을 해제하고 다시 연결되지 않도록 하려는 경우 먼저 응용 프로그램 키의 만료 날짜를 업데이트하여 응용 프로그램 키가 만료되도록 한 다음 이 서비스를 호출하여 세션을 닫아야 합니다.
감사 하위 시스템이 활성화된 경우 이 서비스의 호출을 감사합니다. 감사 메시지는 DEVICE_COMMUNICATIONS 카테고리에 속합니다. 감사 하위 시스템에 대한 자세한 내용은 감사 하위 시스템 및 해당 관련 항목을 참조하십시오.
|
||||||
CloseEndpoints
|
이 서비스는 다음 매개 변수를 사용하여 끝점 세션을 질의합니다.
• appKeyName(APPLICATIONKEYNAME)
• endpointId(STRING)
둘 다 제공되면 서비스는 오류를 반환합니다.
이 서비스는 닫으려는 끝점 연결의 수를 나타내는 NUMBER를 반환합니다.
이 서비스는 제공된 appKeyName 또는 endpoint ID에 연결된 모든 끝점 연결을 닫습니다. 끝점을 지정할 때 QueryEndpointSessions 서비스에서 반환된 endpoint ID를 사용합니다.
감사 하위 시스템이 활성화된 경우 끝점 연결이 종료되는 이 서비스의 호출이 감사됩니다. 감사 메시지는 DEVICE_COMMUNICATIONS로 분류됩니다. 감사 하위 시스템에 대한 자세한 내용은 감사 하위 시스템 및 해당 관련 항목을 참조하십시오.
|