Zuordnung
Die Aktion "Zuordnung" erstellt eine benutzerdefinierte Ausgabe. Hierzu kombiniert sie die Ausgaben verschiedener Aktionen und strukturiert die Objekte, Sammlungen, Arrays oder Zeichenfolgen der Ausgabe nach Ihren Anforderungen um. Sie können auch verschiedene Funktionen auf die Ausgabe anwenden. So ist es nicht länger nötig, komplexen Node.js-Code zu schreiben, um bestimmte Feldwerte oder Ausgaben von mehreren Aktionen abzurufen und zu kombinieren. "Zuordnung" bietet eine Reihe modularer Funktionen, die Ihnen bei den folgenden Aktionen helfen:
Ausgaben kombinieren
Objekte, Arrays, Zeichenfolgen und Sammlungen iterieren
Werte bearbeiten und testen
Aktion "Zuordnung" verwenden
Um diese Aktion in einem Workflow verwenden zu können, müssen Sie sie mit ThingWorx Flow verbinden. Gehen Sie zum Herstellen einer Verbindung mit dem Fluss wie folgt vor:
1. Klicken Sie auf , ziehen Sie die Aktion Zuordnung unter dem Dienstprogramm Entwicklertools in den Zeichenbereich, zeigen Sie mit der Maus auf die Aktion, und klicken Sie dann auf . Oder: Doppelklicken Sie auf die Aktion. Das Fenster für die Aktion "Zuordnung" wird geöffnet.
2. Bearbeiten Sie bei Bedarf den Namen der Beschriftung. Standardmäßig ist der Beschriftungsname mit dem Aktionsnamen identisch.
3. Klicken Sie auf , um ein neues Schlüssel-Wert-Paar zu erstellen.
a. Benennen Sie das Schlüsselfeld um, und geben Sie den Wert ein. Sie können die Ausgabe der vorherigen Aktionen dem Wertfeld als Eingabe zuordnen.
b. Klicken Sie auf </>, um der angegebenen Eingabe Funktionen hinzuzufügen.
Klicken Sie auf , um mehrere Schlüssel-Wert-Paare hinzuzufügen.
4. Klicken Sie auf Fertig.
Zuordnungsdatentypen
"Zuordnung" akzeptiert Eingabewerte vom Datentyp Array, Sammlung, Objekt und Zeichenfolge.
Array: Wird verwendet, wenn der angegebene Schlüssel ein Array zurückgibt. Um "Array" als Datentyp festzulegen, klicken Sie auf , und wählen Sie "Array" in der Liste aus. Sie können Funktionen auf Arrays anwenden, indem Sie auf </> klicken.
Sammlung: Dieser Datentyp wird verwendet, wenn der angegebene Schlüssel ein Array von Objekten zurückgibt. Eine Sammlung aus einer vorherigen Aktion kann einem Wertfeld direkt als Sammlungsschlüssel zugeordnet werden, oder Schlüssel-Wert-Paare können separat unter dem Sammlungsschlüssel hinzugefügt werden.
Um "Sammlung" als Datentyp festzulegen, klicken Sie auf , und wählen Sie "Sammlung" in der Liste aus. Sie können Funktionen auf Sammlungen anwenden, indem Sie auf </> klicken.
Objekt: Wird verwendet, wenn der angegebene Schlüssel ein Objekt zurückgibt. Ein Objekt aus einer vorherigen Aktion kann einem Wertfeld direkt als Objektschlüssel zugeordnet werden, oder Schlüssel-Wert-Paare können separat unter dem Objektschlüssel hinzugefügt werden.
Um "object" als Datentyp festzulegen, klicken Sie auf , und wählen Sie "Objekt" in der Liste aus. Hier müssen Sie einen Namen für das Objekt angeben und dann auf den Link "+" neben dem Feld "Schlüssel" klicken, um Schlüssel-Wert-Paare hinzuzufügen. Sie können dann einen beliebigen Datentyp für jede dieser Eigenschaften auswählen.
Der Konsolen-Link (</>), über den Sie Funktionen anwenden können, befindet sich neben dem Feld "Objektname" sowie neben jedem Feld des Typs "Eigenschaftsname" dieses Objekts.
Zeichenfolge: Wird verwendet, wenn der angegebene Schlüssel einen Zeichenfolgenwert zurückgibt. Standardmäßig weisen alle Schlüssel-Wert-Paare den Datentyp "Zeichenfolge" auf. Sie können Funktionen auf Zeichenfolgen anwenden, indem Sie auf </> klicken.
Integrierte Funktionen in "Zuordnung" verwenden
Mit der Aktion "Zuordnung" können Sie verschiedene Funktionen für die Ausgabe der vorherigen Aktionen ausführen. Die Aktion stellt eine Reihe von vordefinierten Funktionen (aus der Bibliothek '"lodash") zur Verfügung, den Sie verwenden können. Alternativ können Sie Ihre eigenen benutzerdefinierten Funktionen schreiben.
Array-Funktionen:
_.Compact – Entfernt falsche Werte aus dem angegebenen Array. Mehr lesen
_.difference – Gibt ein Array mit Werten zurück, die im ersten Array der angegebenen Anzahl von Arrays eindeutig sind. Mehr lesen
_.flatten – Vereinfacht eine einzelne Ebene eines Arrays. Mehr lesen
_.flattenDeep – Vereinfacht ein gesamtes Array. Mehr lesen
_.intersection – Gibt ein Array mit Werten zurück, die allen angegebenen Arrays gemeinsam sind. Mehr lesen
_.first – Ruft das erste Element des angegebenen Arrays ab. Mehr lesen
_.last – Ruft das letzte Element des angegebenen Arrays ab. Mehr lesen
_.uniq – Entfernt die doppelten Werte aus dem angegebenen Array. Mehr lesen
Objektfunktionen
_.pick – Gibt ein Objekt mit Elementen zurück, die der angegebenen Objekteigenschaft entsprechen. Mehr lesen
_.get – Gibt den Wert eines Elements zurück, das im angegebenen Pfad in einem Objekt vorhanden ist. Mehr lesen
_.keys – Erstellt ein Array der aufzählbaren Eigenschaftennamen eines Objekts. Mehr lesen
Zeichenfolgenfunktionen
_.camelCase – Ändert die Groß-/Kleinschreibung der Zeichenfolge in Camel-Case-Schreibweise. Mehr lesen
_.capitalize – Ändert das erste Zeichen der Zeichenfolge in einen Großbuchstaben und die verbleibenden Zeichen in Kleinbuchstaben. Mehr lesen
_.kebabcase – Ändert die Groß-/Kleinschreibung der Zeichenfolge in Kebab-Schreibweise. Mehr lesen
_.lowercase – Wandelt die angegebene Zeichenfolge in Kleinbuchstaben um. Mehr lesen
_.lowerFirst – Wandelt das erste Zeichen der Zeichenfolge in Kleinbuchstaben um. Mehr lesen
_.replace – Ersetzt die Zeichenfolge, die der angegebenen Bedingung entspricht, durch eine bestimmte Zeichenfolge. Mehr lesen
_.repeat – Wiederholt die angegebene Zeichenfolge so oft wie angegeben. Mehr lesen
_.escape – Wandelt die Zeichen &, <, >, ' und " in der Zeichenfolge in die entsprechenden HTML-Entitäten um. Mehr lesen
_.trim – Entfernt vorangestellte und nachfolgende Leerzeichen und angegebene Zeichen aus der angegebenen Zeichenfolge. Mehr lesen
_.unescape – Wandelt die HTML-Entitäten &, <, >, ", ' und ` in der angegebenen Zeichenfolge in die entsprechenden Zeichen um. Mehr lesen
Zahlenfunktionen
_.add – Addiert zwei Zahlen. Mehr lesen
_.ceil – Rundet die Zahl auf die angegebene Genauigkeit auf. Mehr lesen
_.divide – Teilt zwei Zahlen. Mehr lesen
_.floor – Rundet die Zahl auf die angegebene Genauigkeit ab. Mehr lesen
_.multiply – Multipliziert zwei Zahlen. Mehr lesen
_.subtract – Subtrahiert zwei Zahlen. Mehr lesen
Sammlungsfunktionen
_filter – Gibt ein Array mit Elementen zurück, die die angegebene Filterbedingung erfüllen. Mehr lesen
_.find – Gibt das erste Element zurück, das die angegebene Bedingung erfüllt. Mehr lesen
Beispiel: Integrierte Funktionen in "Zuordnung" verwenden
Sie möchten eindeutige Werte aus den angegebenen Listen von Arrays in einem einzigen Array abrufen. Verwenden Sie dazu die Aktion Array-Operationen, um zwei Arrays (die einige gemeinsame Werte enthalten) zu verketten. Verwenden Sie dann die Ausgabe in "Zuordnung", und führen die Funktion "_.uniq" aus, um doppelte Werte herauszufiltern.
1. Fügen Sie die Aktionen Array-Operationen, Zuordnung und E-Mail senden zum Zeichenbereich hinzu, und verbinden Sie sie wie unten gezeigt:
2. Konfigurieren Sie die Aktion Array-Operationen wie folgt:
Array-Operation auswählen: Wählen Sie Verketten in der Liste aus.
Quell-Array 1: Geben Sie das erste Array an, das Sie verketten möchten.
Quell-Array 2: Geben Sie das zweite Array an, das Sie verketten möchten.
Klicken Sie auf Hinzufügen, um weitere Arrays hinzuzufügen.
Wir haben "R2-D2" und "Han" absichtlich in beiden Arrays verwendet. Dadurch wird ein Array mit sich wiederholenden Werten erstellt. Klicken Sie auf Fertig. Dadurch gelangen Sie wieder zurück zum Zeichenbereich.
3. Konfigurieren Sie die Aktion Zuordnung wie folgt:
Schlüssel1: Geben Sie den Namen des Schlüssels ein.
Klicken Sie auf , um den Datentyp "Array" auszuwählen, und klicken Sie dann auf , um eine Funktion hinzuzufügen.
Klicken Sie auf , und klicken Sie dann auf , um die Ausgabe der Aktion "Array-Operationen" als Eingabe im Konsolenfenster hinzuzufügen.
Klicken Sie auf Funktionen, und wählen Sie dann die Funktion _.uniq aus, um doppelte Werte aus dem Array zu entfernen.
Klicken Sie auf SPEICHERN. Die Registerkarte "Benutzerdefinierte Funktion" wird als Eingabe im Feld "Wert" hinzugefügt.
4. Konfigurieren Sie die Aktion E-Mail senden wie folgt:
An: Geben Sie die E-Mail-ID des Empfängers ein.
Betreff: Geben Sie den Betreff der E-Mail ein.
Texttyp: Wählen Sie den Typ von Text der E-Mail aus.
Text: Fügen Sie die Ausgabe der Aktion Zuordnung, die auf der rechten Seite des Konfigurationsfensters angegeben ist, als Eingabe für dieses Feld hinzu.
5. Klicken Sie auf Fertig und dann auf Ausführen, um den Workflow auszuführen. Dadurch werden eindeutige Werten aus den angegebenen Listen von Arrays in einem einzigen Array abgerufen und an den angegebenen Empfänger gesendet.
Benutzerdefinierte Funktionen in Zuordnung hinzufügen
Die Aktion "Zuordnung" ermöglicht es Ihnen auch, benutzerdefinierte Funktionen zum Ausführen von Operationen für den angegebenen Eingabewert zu schreiben. Das folgende Beispiel veranschaulicht die benutzerdefinierte Funktion:
Beispiel
Das frühere Beispiel wird fortgesetzt. Angenommen, Sie möchten eine benutzerdefinierte Funktion auf die Ausgabe der Funktion _.uniq anwenden, die zuvor implementiert wurde.
1. Nehmen Sie die folgenden Änderungen am vorhandenen Code vor, wie in der folgenden Abbildung dargestellt:
2. Nachdem Sie die benutzerdefinierte Funktion in der Konsole hinzugefügt haben, gehen Sie wie folgt vor. Klicken Sie auf SPEICHERN und dann auf Ausführen, um den Workflow auszuführen.
* 
Sie können auch nur benutzerdefinierte Funktionen schreiben, die in die angegebenen Eingaben implementiert werden können.
Ausgabeschema
Die Aktion "Zuordnung" gibt ein Ausgabeschema zurück, das von den eingegebenen Schlüssel-Wert-Paaren abhängt. Ein Beispiel für ein Ausgabeschema sehen Sie in der folgenden Abbildung: