ThingWorx Flow > SDK ThingWorx Flow > Vue d'ensemble du SDK ThingWorx Flow
Vue d'ensemble du SDK ThingWorx Flow
Le SDK des connecteurs ThingWorx Flow (ptc-flow-sdk) doit être inclus dans chaque module de connecteur. L'exécution de la commande init génère un fichier package.json qui inclut déjà ce module.
Le serveur ThingWorx Flow utilise le flow-sdk pour charger le connecteur et accéder aux connexions, actions, déclencheurs et lookups qu'il contient.
Le SDK des connecteurs ThingWorx Flow fournit également les API suivantes pour l'utilisation des connecteurs :
Journal
Toute la journalisation à l'intérieur du connecteur doit être réalisée avec l'API de journalisation fournie par le SDK. Ceci permet un débogage efficace des problèmes. Pour accéder à l'API de journalisation, ajoutez la ligne suivante à votre code node.js en haut de votre fichier source :
const logger = require('ptc-flow-sdk').getLogger('module-name')
Remplacez le nom de module ci-dessus par le nom de l'action, du déclencheur, du lookup, etc.
La journalisation utilise 4 méthodes, debug, error, warn et info. Utilisez la méthode appropriée en fonction de la raison.
Les consignations du journal peuvent concerner des chaînes et des objets JSON.
customFilters
customFilters est une API d'assistant pour le filtrage de tableaux d'objets JSON, de chaînes ou de valeurs numériques. CustomFilters peut être utilisé pour filtrer les entrées fournies aux actions ou aux déclencheurs. L'utilisation de customFilters implique deux étapes. La première étape consiste à créer une propriété customFilters dans le schéma d'entrée, comme illustré ci-dessous, de manière à donner à l'utilisateur la possibilité de choisir l'opérateur et les opérandes dans l'interface GUI.
"input": {
"type": "object",
"title": "Select Trigger",
"properties": {
"customFilters": {
"type": "array",
"title": "Custom Filters",
"items": {
"type": "object",
"title": "filter",
"properties": {
"input": {
"type": "string",
"title": "Input",
"minLength": 1
},
"operator": {
"type": "string",
"title": "Condition",
"enum": [
"Equals",
"Equals(Number)",
"GreaterThan",
"LessThan",
"Contains",
"DoesNotContains",
"matches",
"isNull",
"isEmpty",
"isNumber",
"isObject",
"isArray",
"isBoolean",
"isDate",
"isUndefined"
]
},
"expected": {
"type": "string",
"title": "Expected",
"minLength": 1
}
}
}
}
}
La seconde étape consiste à utiliser la méthode filter de l'API customFilters. L'extrait de code pour l'utilisation de customFilters se présente comme suit :
//add the first line of the code to the top of the node js script
const customFilters = require('ptc-flow-sdk').CustomFilters;
function execute (input, options, output) {
run(input, options, function (err, data) {
if (err || !data) {
return output(err || 'empty')
}
customFilters.filter(input.customFilters, data, output
})
}
Dans l'extrait de code ci-dessus, la méthode run exécute le code prévu, possiblement un appel http qui renvoie un tableau de données. Les input.customFilters sont les critères de filtrage que vous avez précédemment sélectionnés lors de la conception du processus. Le paramètre output est la fonction de rappel à appeler avec les résultats du filtrage.
assistant
L'objet assistant offre un certain nombre de méthodes d'utilitaire JavaScript.
toStr(obj) : convertit n'importe quel objet en chaîne.
toISO(str) : convertit une chaîne ou représentation en millisecondes d'une chaîne en chaîne au format ISO.
toNumber(obj) : tente de convertir une chaîne en nombre.
clone() : effectue une copie superficielle d'un objet.
deepClone() : effectue une copie profonde d'un objet.
mix(a,b) : combine des objets a et b pour renvoyer un nouvel objet possédant les propriétés à la fois de a et de b.