Paramètre
|
Type de base
|
Par défaut
|
Remarques
|
---|---|---|---|
Politique de protection des liaisons
|
STRING
|
First-in-wins
|
Choisissez la Politique de protection des liaisons souhaitée dans le menu. Par défaut, la politique active est First-in wins. Avec cette politique, dès lors que la plateforme reçoit une nouvelle tentative de liaison de la part d'un périphérique Edge déjà lié, elle rejette cette nouvelle tentative de liaison.
Avec la politique Last-in wins, au lieu de rejeter la nouvelle tentative de liaison du périphérique déjà lié, la plateforme acceptera la nouvelle liaison et mettra à jour les règles de routage relatives à l'envoi des messages au périphérique Edge.
|
Activer le contrôle de permission de visibilité
|
BOOLEAN
|
false
|
Lorsque cette politique est activée, les permissions de visibilité de l'utilisateur de la clé d'application utilisé pour lier le périphérique Edge à l'objet distant sont contrôlées. Si les permissions de visibilité ne sont pas définies, la liaison ne sera pas autorisée.
|
Paramètre
|
Type de base
|
Par défaut
|
Remarques
|
---|---|---|---|
Délai d'inactivité de la connexion (sec)
|
INTEGER
|
60
|
Une fois la connexion établie, le sous-système de gestion des communications WebSocket attend le nombre de secondes spécifié avant de fermer la connexion. En cas d'activité, le timer de connexion inactive est réinitialisé.
|
Taux de ping de connexion inactive (sec)
|
INTEGER
|
45
|
ThingWorx attend le nombre de secondes spécifié pour un ping d'un client. Si un ping est reçu, le cycle de communication continue.
Si aucun pong n'est reçu pour une requête ping dans le nombre de secondes spécifié, le SDK se déconnectera et tentera de se reconnecter. La déconnexion entraînera la fermeture du socket, de la connexion ThingWorx, de la connexion WebSocket, de la connexion TLS et du socket au niveau du système d'exploitation. Lors de la reconnexion, de nouvelles versions de ces couches de connexion seront créées, en supposant que chaque couche d'authentification ait réussi.
|
Temps d'attente avant le message d'authentification (sec)
|
INTEGER
|
15
|
Une fois la connexion établie, le serveur distant attend le laps de temps spécifié pour l'authentification.Si aucun message d'authentification n'est reçu, le socket se fermera.
|
Temps d'attente du message de réponse avant le délai d'expiration (sec)
|
INTEGER
|
30
|
Si le serveur est en ligne et que la requête échoue, une erreur est levée.Si le serveur est hors ligne, la requête est placée dans la file d'attente jusqu'à ce que le serveur soit de nouveau en ligne.
|
Envoyer un ping après l'envoi d'un message ou du trafic d'un tunnel
|
BOOLEAN
|
Vrai
|
Envoie un ping après l'envoi depuis un client d'un message vers la plateforme. Ce paramètre est appliqué lors de la création de la connexion.
|
Paramètre
|
Type de base
|
Par défaut
|
Remarques
|
---|---|---|---|
Nombre max. de fils
|
NUMBER
|
10
|
Utilisé pour les communications sortantes vers les périphériques Edge et spécifie le nombre de threads disponibles pour communiquer avec les objets distants. Un exemple d'une communication sortante serait l'exécution d'un service distant sur un objet distant. Toutes les requêtes au-delà de la valeur spécifiée sont envoyées dans une file d'attente.
|
Paramètre
|
Type de base
|
Par défaut
|
Remarques
|
---|---|---|---|
Nom du point de terminaison
|
STRING
|
n/a
|
Nom défini par l'utilisateur.
|
URI du point de terminaison
|
STRING
|
n/a
|
URI du serveur distant pour la fédération.
|
Nbre max. de connexions de points de terminaison
|
INTEGER
|
1
|
Nombre de connexions ouvertes vers le serveur distant.
|
Taux de ping de connexion inactive (sec)
|
INTEGER
|
45
|
Utilisé lors de la fédération de deux serveurs. Le taux de ping de connexion inactive spécifie la fréquence d'envoi par le serveur d'un ping vers le serveur distant. Il garde la connexion active afin que les systèmes intermédiaires ne ferment pas le serveur pour cause d'inactivité. Il empêche également le serveur distant de fermer la connexion pour cause d'inactivité.
|
Clé d'application
|
PASSWORD
|
n/a
|
Lorsque vous cliquez sur le bouton Changer le mot de passe, l'écran Changer le mot de passe s'affiche. Vous pouvez alors entrer une nouvelle clé d'application.
|
|
Seuls les administrateurs sont autorisés à utiliser les services du sous-système de gestion des communications WebSocket.
|
|
Vous pouvez également déclencher le service CloseEndpointSessions pour déconnecter les appareils avec des clés d'application expirées à intervalles réguliers. Vous trouverez ci-dessous un exemple de script qui identifie les appareils avec des clés d'application expirées et ferme leurs connexions :
// 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); } } |
|
Le service CloseEndpointSessions n'expire pas, ni n'invalide les clés d'application utilisées par les sessions WebSocket qu'il ferme. Si vous souhaitez déconnecter des appareils utilisant une clé d'application donnée et les empêcher de se reconnecter, commencez par forcer l'expiration de la clé d'application en mettant à jour sa date d'expiration. Appelez ensuite ce service pour fermer les sessions.
|
Service
|
Description
|
||||||
---|---|---|---|---|---|---|---|
QueryEndpointSessions
|
Ce service prend en entrée les paramètres suivants pour interroger les sessions :
• authenticationType (STRING)
• appKeyName (APPLICATIONKEYNAME)
• userName (USERNAME)
• startedBefore (DATETIME)
• startedAfter (DATETIME)
• lastUsedBefore (DATETIME)
• lastUsedAfter (DATETIME)
• hasBoundThings (BOOLEAN)
• hasMultipleConnections (BOOLEAN)
• maxItems (NUMBER). La valeur par défaut est fixée à 500 Résultats.
Ce service renvoie un élément INFOTABLE qui contient les champs suivants :
• endpointId. Identificateur du point de terminaison, et non de la session.
• authenticationType. Par exemple, "Clé d'application" ou "Informations d'identification utilisateur".
• appKeyName. Nom de la clé d'application, le cas échéant.
• userContext. Nom associé au compte sous lequel le service a été exécuté. Pour tous ces services, il s'agit de "Administrateur".
• startDate
• lastUsedDate. Exclut les commandes ping.
• numberBoundThings. Nombre d'objets liés à ce point de terminaison.
• numberConnections. Nombre actuel de connexions ouvertes. Pour un serveur de connexion ThingWorx ou un connecteur ThingWorx, il peut y avoir plusieurs connexions.
|
||||||
GetBoundThingsForEndpoint
|
Ce service prend en entrée un ID de point de terminaison. Lorsque vous appelez le service à partir de l'interface utilisateur de Composer, vous pouvez au besoin définir un nombre maximal de lignes à renvoyer. Il renvoie un objet INFOTABLE contenant les noms des objets liés au point de terminaison spécifié, jusqu'au nombre maximal de lignes spécifié.
Ce service permet aux administrateurs de déterminer quels objets sont liés à quels points de terminaison en évitant les problèmes de mémoire potentiels liés à leur inclusion dans les résultats de QueryEndpointSessions.
|
||||||
CloseEndpointSessions
|
Ce service prend en entrée un ID de point de terminaison ou tous les paramètres du service QueryEndpointSessions, à l'exception de maxItems. Si les deux sont spécifiés, le service renvoie une erreur.
Ce service ferme toutes les sessions qui correspondent aux critères. Lorsque vous spécifiez le point de terminaison, utilisez un ID de point de terminaison renvoyé par le service QueryEndpointSessions.
Ce service n'expire pas, ni n'invalide les clés d'application utilisées par les sessions qu'il ferme. Par conséquent, si vous souhaitez déconnecter des appareils utilisant une clé d'application donnée et les empêcher de se reconnecter, commencez par forcer l'expiration de la clé d'application en mettant à jour sa date d'expiration, puis appelez ce service pour fermer les sessions.
Les appels de ce service sont audités, si le sous-système d'audit est activé. Les messages d'audit appartiennent à la catégorie DEVICE_COMMUNICATIONS. Pour plus d'informations sur le sous-système d'audit, consultez la rubrique Sous-système d'audit et ses rubriques connexes.
|
||||||
CloseEndpoints
|
Ce service prend en entrée les paramètres suivants pour interroger les sessions :
• appKeyName (APPLICATIONKEYNAME)
• endpointId (STRING)
Si les deux sont spécifiés, le service renvoie une erreur.
Ce service renvoie une valeur NUMBER spécifiant le nombre de connexions de point de terminaison ayant fait l'objet d'une tentative de fermeture.
Ce service ferme toutes les connexions de point de terminaison associées aux éléments appKeyName ou endpoint ID fournis. Utilisez l'endpoint ID renvoyé par le service QueryEndpointSessions lors de la spécification du point de terminaison.
L'appel de ce service qui entraîne la fermeture des connexions de point de terminaison est audité si le sous-système d'audit est activé. Les messages d'audit sont classés sous DEVICE_COMMUNICATIONS. Pour plus d'informations sur le sous-système d'audit, consultez la rubrique Sous-système d'audit et ses rubriques connexes.
|