Arbeiten mit Ausgabeattributen in Automatisierungs-Workflows
Nachrichten übergeben die Komponenten von Automatisierungs-Workflows, von Triggern über Aktionen bis hin zu externen Aktionen, in Form von JSON-formatierten Schlüssel-Wert-Paaren oder Attributen in FME. Diese Attribute repräsentieren verschiedene Eigenschaften, die von den Komponenten des Workflows abgeleitet werden und den Inhalt der Nachricht bilden. Jedes Attribut, das von einer Komponente ausgegeben wird, kann an die nächste Komponente weitergereicht und schließlich vom Workflow an eine empfangende Anwendung ausgegeben werden.
Sie können auf folgende Weise mit den Ausgabeattributen von Workflow-Nachrichten arbeiten:
- Anzeigen von Attributen, Deaktivieren und Aktivieren von Attributen und Erstellen von benutzerdefinierten Attributen.
- Erstellen globaler Automatisierungsparameter.
- Arbeiten mit verschachtelten Ebenen in Attributen.
- Filtern nach dem Vorhandensein einer Zeichenfolge in einem Attributwert.
Anzeigen von Attributen, Deaktivieren/Aktivieren von Attributen und Erstellen von benutzerdefinierten Attributen
Beim Erstellen eines Automatisierungs-Workflows können Sie die Attribute steuern, die an nachgeschaltete Komponenten in einem Workflow gesendet werden und die letztendlich in der endgültigen Nachrichtenausgabe enthalten sind. Wählen Sie im Dialogfeld "Details" eines Triggers, einer Aktion oder einer externen Aktion die Registerkarte Ausgabeattribute. Hier haben Sie folgende Möglichkeiten:
- Anzeigen der Attribute, die die Komponente generiert. Gegebenenfalls erzeugt die Komponente separate Sätze von Ausgabesattributen für den Success-Port (✔) und den Failure-Port (x) einer Komponente. Workspace ausführen-Aktionen, die sich auf Workspaces beziehen, die mit FME Flow Automations-Writern konfiguriert sind, generieren auch Ausgabeattribute für jeden Writer-Featuretyp. Weitere Informationen finden Sie unter Weiterleiten von Daten aus Workspaces.
- Deaktivieren oder Aktivieren der Attribute. Standardmäßig sind alle zutreffenden Attribute in der ausgehenden Nachricht aktiviert.
- Erstellen Sie benutzerdefinierte Attribute mit einem benutzerdefinierten Namen und dem Präfix user. Sie können den Wert eines benutzerdefinierten Attributs aus einem vorhandenen Attribut, einem Parameter aus dem Speicher für Bereitstellungsparameter oder einer Konstanten zuweisen.
Der Hauptvorteil der Deaktivierung von Attributen oder der Erstellung von benutzerdefinierten Attributen besteht darin, zu verhindern, dass sie gegebenenfalls überschrieben werden. Die Werte von JSON-Objekten mit denselben Attributzeichenfolgen werden beim Durchlaufen eines Workflows überschrieben. Stellen Sie sich beispielsweise einen Workflow vor, der zwei aufeinanderfolgende Aktionen zum Ausführen von Workspaces enthält. Beide Aktionen durchlaufen ein Attribut job.timeStarted, aber der Wert, den das Attribut in der ersten Aktion erzeugt, wird durch die zweite Aktion überschrieben. Wenn Sie nur den Wert von job.timeStarted des ersten Workspaces beibehalten wollen, können Sie den Schlüssel job.timeStarted in der Konfiguration der zweiten Aktion deaktivieren und diesen in der ersten Aktion beibehalten.
Aber was wäre, wenn Sie beide Werte von job.timeStarted behalten wollen? In diesem Fall können Sie in beiden Workspaces ein benutzerdefiniertes Attribut erstellen, ihnen jeweils eindeutige Namen geben und deren Werte auf job.timeStarted basieren lassen. Optional können Sie auch job.timeStarted in beiden Workspaces deaktivieren.
Sie können benutzerdefinierte Attribute überall in einem Workflow verwenden, um ein Attribut für einen Parameterwert anzugeben.
Erstellen globaler Automatisierungsparameter
Sie können eigene Automatisierungsparameter erstellen, denen das Tag global vorangestellt ist. Mit Automatisierungsparametern können Sie einen Wert in mehreren Komponenten eines Workflows referenzieren, ohne ihn jedes Mal explizit definieren zu müssen. Sie können Automatisierungsparameter überall in einem Workflow verwenden, in dem Sie ein Ausgabeattribut für einen Parameterwert angeben können.
Sie können Automatisierungsparameter auf folgende Weise erstellen:
- Klicken Sie in der Automatisierungs-Symbolleiste auf die Schaltfläche "Automatisierungsparameter-Editor".
- Dies kann dynamisch durch Festlegen eines Parameterwerts in einem Workflow geschehen. Wählen Sie aus einer entsprechenden Parameter-Dropdown-Liste die Option Zu Automatisierungsparametern hinzufügen aus.
Klicken Sie im Automatisierungsparameter-Editor auf +, um einen neuen Automatisierungsparameter anzulegen. Geben Sie einen Namen ein (global.<your_name>), legen Sie einen Wert fest und klicken Sie auf OK. Sie können einen Wert manuell angeben oder einen Wert aus dem Speicher für Bereitstellungsparameter auswählen.
Tipp: Verwenden Sie Bereitstellungsparameter, um gemeinsame Automatisierungsparameterwerte für Automatisierungen zu definieren und wiederzuverwenden.
Arbeiten mit verschachtelten Ebenen in Attributen
Wenn eine Automatisierung auf Nachrichten mit Attributen stößt, die mehrere verschachtelte Ebenen enthalten, analysiert die Automatisierung die innersten Ebenen 0, 1, 2 und 3 eines Attributs, um die Ausgabeattribute aufzulösen bzw. zu erstellen.
Betrachten Sie beispielsweise ein Nachrichtenattribut {route.apple} mit dem Wert apple. Die folgende Nachricht hat null verschachtelte Attributebenen:
{
"{route.apple}"
}
Diese Nachricht löst den Wert apple als Ausgabeattribut auf.
Die folgende Nachricht enthält 0-4 verschachtelte Attributebenen:
{
"{route.{route.{route.{route.{route.apple}}}}}"
}
Diese Nachricht löst den Wert route.apple als Ausgabeattribut auf, da die äußerste oder 4. verschachtelte Ebene nicht aufgelöst wird.
Filtern nach einem Ausgabeattribut
Mit der Aktion Nachrichten filtern können Sie das Vorhandensein einer Zeichenkette in einem Ausgabeattribut testen und Nachrichten in Ihrem Workflow entsprechend weiterleiten. Wenn beispielsweise das Attribut email.subject eines Triggers E-Mail - SMTP eine bestimmte Zeichenkette enthält, können Sie die Nachricht anders als andere E-Mails, die diese Zeichenkette nicht enthalten, weiterleiten.