ThingWorx Flow > ThingWorx Flow SDK > Übersicht über das ThingWorx Flow SDK
Übersicht über das ThingWorx Flow SDK
Das SDK der ThingWorx Flow Konnektoren wie z.B. "ptc-flow-sdk" muss in jedes Konnektormodul eingeschlossen werden. Durch Ausführen des Befehls init wird eine Datei package.json erstellt, die dieses Modul bereits enthält.
Der ThingWorx Flow Server verwendet das flow-sdk, um den Konnektor zu laden und auf die darin enthaltenen Verbindungen, Aktionen, Trigger und Lookups zuzugreifen.
Das SDK der ThingWorx Flow Konnektoren stellt auch die folgenden APIs zur Verwendung durch Konnektoren bereit:
Protokollierung
Jede Protokollierung innerhalb des Konnektors erfolgen muss unter Verwendung der Protokollierungs-API erfolgen, die das SDK bereitstellt. Dies hilft dabei, die Probleme wirksam zu debuggen. Um auf die Protokollierung-API zuzugreifen, fügen Sie Ihrem node js-Code oben in der Quelldatei die folgende Zeile hinzu:
const logger = require('ptc-flow-sdk').getLogger('module-name')
Ersetzen Sie den Modulnamen oben durch den Namen der Aktion, des Triggers oder des Lookups usw.
Der Protokollierer verfügt über 4 Methoden: debug, error, warn und info. Verwenden Sie die dem jeweiligen Grund entsprechende Methode.
Die Protokollanweisungen können Zeichenfolgen und JSON-Objekte protokollieren.
CustomFilters
CustomFilters ist eine Hilfe-Assistent-API zum Filtern von Arrays von JSONs, Zeichenfolgen oder Zahlen. CustomFilters kann zum Filtern von Eingaben, die für Aktionen oder Trigger angegeben wurden, verwendet werden. Das Verwenden von "customFilters" ist ein zwei Schritte umfassender Vorgang. Der erste Schritt besteht darin, im Eingabeschema eine customFilters-Eigenschaft wie unten gezeigt zu erstellen. Dies erfolgt, um einem Benutzer die Auswahl des Operators und der Operanden in der Benutzeroberfläche zu ermöglichen.
"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
}
}
}
}
}
Der zweite Schritt besteht darin, die filter-Methode der CustomFilters-API zu verwenden. Das Snippet für die Verwendung von CustomFilters lautet wie folgt:
//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
})
}
Im Snippet oben führt die run-Methode Code aus, möglicherweise einen http-Aufruf, der ein Array von Daten zurückgibt. Die input.customFilters sind die Filterkriterien, die Sie zuvor beim Entwurf des Workflows ausgewählt haben. output ist die Callback-Funktion, die mit den Ergebnissen des Filterns aufzurufen ist.
helper
Das Hilfe-Assistent-Objekt enthält einer Reihe von Dienstprogramm-JavaScript-Methoden.
toStr(obj): Konvertiert ein beliebiges Objekt in eine Zeichenfolge.
toISO(str) – Konvertiert eine Zeichenfolge oder eine Millisekunden-Darstellung einer Zeichenfolge in eine Zeichenfolge im ISO-Format.
toNumber(obj) – Versucht, eine Zeichenfolge in eine Zahl zu konvertieren.
clone() – Erstellt eine flache Kopie eines Objekts.
deepClone() – Erstellt eine tiefe Kopie eines Objekts.
mix(a,b) – Kombiniert Objekte a und b, um ein neues Objekt mit Eigenschaften sowohl aus a als auch aus b zurückzugeben.
War dies hilfreich?