ThingWorx Flow > SDK di ThingWorx Flow > Panoramica dell'SDK di ThingWorx Flow
Panoramica dell'SDK di ThingWorx Flow
L'SDK per i connettori di ThingWorx Flow, ad esempio ptc-flow-sdk, deve essere incluso in ogni modulo di connettore. L'esecuzione del comando init genera un file package.json che include già questo modulo.
Il server ThingWorx Flow utilizza flow-sdk per caricare il connettore e accedere alle connessioni, le azioni, i trigger e le ricerche in esso contenuti.
L'SDK per i connettori di ThingWorx Flow fornisce inoltre le seguenti API per l'utilizzo dei connettori.
Registrazione
Tutta la registrazione all'interno del connettore deve essere eseguita utilizzando l'API di registrazione disponibile nell'SDK. Questa API aiuta a risolvere efficacemente i problemi. Per accedere all'API di registrazione, aggiungere la riga riportata di seguito al codice node js nella parte superiore del file di origine.
const logger = require('ptc-flow-sdk').getLogger('module-name')
Sostituire il nome del modulo sopra con il nome dell'azione, del trigger, della ricerca, ecc.
Il logger ha quattro metodi: debug, error, warn e info. Utilizzare il metodo appropriato in base al motivo.
Le istruzioni del log possono registrare stringhe e oggetti JSON.
CustomFilters
CustomFilters è un'API helper per il filtraggio di matrici di JSON, stringhe o numeri. CustomFilters può essere utilizzato per filtrare gli input specificati per azioni o trigger. L'utilizzo di customFilters è un processo in due passi. Il primo passo consiste nel creare una proprietà customFilters nello schema di input come mostrato di seguito. A tal fine, è necessario consentire a un utente di selezionare l'operatore e gli operandi nella 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
}
}
}
}
}
Il secondo passo consiste nell'utilizzare il metodo filter dell'API CustomFilters. Di seguito viene riportato lo snippet di codice per l'utilizzo di CustomFilters:
//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
})
}
Nello snippet precedente, il metodo run esegue una parte di codice, possibilmente una chiamata http che restituisce una matrice di dati. input.customFilters sono i criteri di filtro che sono stati precedentemente selezionati durante la progettazione del workflow. output è la funzione di callback da chiamare con i risultati del filtro.
helper
L'oggetto helper ha diversi metodi JavaScript di utilità.
toStr(obj) - Converte qualsiasi oggetto in una stringa.
toISO(str) - Converte una stringa o una rappresentazione in millisecondi di una stringa in una stringa in formato ISO.
toNumber(obj) - Tenta di convertire una stringa in un numero.
clone() - Esegue una copia superficiale di un oggetto.
deepClone() - Esegue una copia completa di un oggetto.
mix(a,b) - Combina gli oggetti a e b in modo da restituire un nuovo oggetto con le proprietà di entrambi gli oggetti a e b.