Настройка
|
Базовый тип
|
По умолчанию
|
Примечания
|
---|---|---|---|
Политика защиты привязок
|
STRING
|
First-in-wins
|
Выберите необходимую Политику защиты привязок в меню. Политика по умолчанию: First-in wins. Эта политика означает, что при получении платформой информации о новой попытке привязки от устройства Edge, которое уже привязано, платформа отклоняет новую попытку привязки.
Политика Last-in wins означает, что, вместо того чтобы отклонить новую попытку привязки уже привязанного устройства, платформа должна принять эту новую привязку и обновить правила маршрутизации, касающиеся отправки сообщений на данное устройство.
|
Настройка
|
Базовый тип
|
По умолчанию
|
Примечания
|
---|---|---|---|
Время ожидания соединения в состоянии простоя (с)
|
INTEGER
|
60
|
После установки соединения подсистема связи WebSocket ожидает в течение указанного количества секунд, прежде чем соединение будет разорвано. При наличии задачи таймер простоя сбрасывается.
|
Частота ping-запросов соединения в состоянии простоя (с)
|
INTEGER
|
45
|
ThingWorx ожидает ping-запрос от клиента в течение указанного количества секунд. Если ping-запрос получен, цикл связи продолжается.
Если не будет получен ответ на ping-запрос в течение указанного количества секунд, SDK разорвет соединение и попытается установить его снова. При разъединении будет закрыт сокет, разорвано соединение с ThingWorx, соединение с WebSocket, соединение с TLS и закрыт сокет на уровне ОС. При повторном подключении будут созданы новые версии этих слоев соединений, если аутентификация в каждом слое пройдет успешно.
|
Время ожидания сообщения об аутентификации (с)
|
INTEGER
|
15
|
После установки соединения удаленный сервер ожидает аутентификации в течение указанного времени.Если аутентификация не получена, сокет закрывается.
|
Время, в течение которого запрос ожидает ответного сообщения, до истечения времени ожидания (с)
|
INTEGER
|
30
|
Если сервер присутствует в сети, но запрос завершается неудачей, генерируется сообщение об ошибке.Если сервер не находится в сети, запрос помещается в очередь, пока сервер не появится снова в сети.
|
Отправить ping-запрос после отправки сообщения или туннельного трафика
|
BOOLEAN
|
True
|
Отправляет ping-запрос после отправки составного сообщения от клиента платформе. Эта настройка применяется при создании соединения.
|
Настройка
|
Базовый тип
|
По умолчанию
|
Примечания
|
---|---|---|---|
Максимальное число потоков
|
NUMBER
|
10
|
Используется для связи выходных данных с устройствами Edge и указывает число потоков, доступных для связи с удаленными вещами. Примером взаимодействия с выходными данными будет выполнение удаленного сервиса в удаленной вещи. Любые запросы из числа превышающих указанное значение отправляются в очередь.
|
Настройка
|
Базовый тип
|
По умолчанию
|
Примечания
|
---|---|---|---|
Наименование конечной точки
|
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 или соединителя ThingWorx может существовать несколько соединений.
|
||||||
GetBoundThingsForEndpoint
|
Этот сервис получает идентификатор конечной точки. При вызове сервиса из интерфейса пользователя Composer можно дополнительно задать максимальное число возвращаемых строк. Он возвращает INFOTABLE, содержащую наименования вещей, привязанных к указанной конечной точке, вплоть до указанного максимального числа строк.
Этот сервис позволяет администраторам определять, какие вещи связаны с какими конечными точками, не рискуя при этом возникновением проблем с памятью в результате их включения в результаты сервиса QueryEndpointSessions.
|
||||||
CloseEndpointSessions
|
Этот сервис принимает либо идентификатор конечной точки, либо все параметры из сервиса QueryEndpointSessions за исключением maxItems. Если указано и то и другое, сервис возвращает ошибку.
Этот сервис закрывает все сессии, соответствующие критериям. При задании конечной точки используйте идентификатор конечной точки, который был возвращен сервисом QueryEndpointSessions.
Этот сервис не осуществляет завершение срока действия (или аннулирование иным способом) любых ключей приложений, используемых сессиями, которые он закрывает. По этой причине, если планируется отсоединить устройства, использующие данный ключ приложения, и предотвратить их повторное подключение, необходимо вначале принудительно завершить срок действия ключа приложения, изменив дату окончания срока действия, а затем вызвать этот сервис, чтобы закрыть сессии.
Выполняется аудит вызовов этого сервиса, если включена подсистема аудита. Сообщения аудита попадают в категорию DEVICE_COMMUNICATIONS. Дополнительные сведения о подсистеме аудита см. в разделе Подсистема аудита и связанных разделах.
|
||||||
CloseEndpoints
|
Этот сервис использует следующие параметры для запроса сессий конечных точек:
• appKeyName (APPLICATIONKEYNAME)
• endpointId (STRING)
Если указано и то и другое, сервис возвращает ошибку.
Этот сервис возвращает значение NUMBER, показывающее число соединений с конечными точками, которые вы пытаетесь закрыть.
Этот сервис закрывает все соединения с конечными точками, связанными с предоставленными параметрами appKeyName или endpoint ID. При указании конечной точки используйте значение endpoint ID, возвращенное сервисом QueryEndpointSessions.
При вызове этого сервиса, в результате которого закрываются соединения с конечными точками, выполняется аудит, если включена подсистема аудита. Сообщения аудита разбиты на категории в разделе DEVICE_COMMUNICATIONS. Дополнительные сведения о подсистеме аудита см. в разделе Подсистема аудита и связанных с ним разделах.
|