Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Azure Logic Apps (Standard)
Wenn Sie Nachrichten austauschen, die unterschiedliche XML- oder JSON-Formate in einem Logik-App-Workflow verwenden, müssen Sie angeben, wie die Daten aus dem Quellformat in das Zielformat transformiert konvertiert werden, zum Beispiel zwischen XML-Dokumenten oder zwischen JSON-Dokumenten. Diese Aufgabe ist besonders dann wichtig, wenn Sie Lücken zwischen den Datenstrukturen in den Quell- und Zielschemas haben. Ein Schema beschreibt die Datenelemente, Attribute und Datentypen in einem XML- oder JSON-Dokument.
Um Transformationen zwischen Datenstrukturen und Lücken zu definieren, können Sie eine Zuordnung (XSLT-Datei) erstellen, die die Beziehungen zwischen den Datenelementen in den Quell- und Zielschemas angibt. Sie können eine Zuordnung visuell erstellen oder bearbeiten, indem Sie Visual Studio Code mit der Azure Logic Apps (Standard)-Erweiterung im Kontext eines Standardlogik-App-Projekts verwenden. Das Data Mapper-Tool bietet eine einheitliche Oberfläche für die Zuordnung und Transformation mithilfe von Zieh- und Dropgesten, vordefinierten Funktionen zum Erstellen von Ausdrücken und eine Möglichkeit zum manuellen Testen von Karten, bevor Sie sie in Ihren Workflows verwenden.
Nachdem Sie Ihre Karte erstellt haben, können Sie diese Karte direkt aus einem Workflow in Ihrem Logik-App-Projekt oder aus einem Standardlogik-App-Workflow im Azure-Portal aufrufen. Für diese Aufgabe können Sie die Aktion Data Mapper Operations (Data Mapper-Vorgänge) namens Transform using Data Mapper XSLT (Mit Data Mapper XSLT transformieren) in Ihrem Workflow verwenden.
In dieser Anleitung wird gezeigt, wie Sie eine leere Datenzuordnung erstellen, Ihre Quell- und Zielschemas auswählen, verschiedene Arten von Zuordnungen zwischen Schemaelementen erstellen, Ihre Karte speichern und testen und dann die Karte aus einem Workflow in Ihrem Logik-App-Projekt aufrufen.
Einschränkungen und bekannte Probleme
Data Mapper ist derzeit nur in Visual Studio Code und nicht über das Azure-Portal verfügbar und wird nur innerhalb von Logik-App-Projekten im Tarif „Standard“ bereitgestellt, aber nicht in Logik-App-Projekten im Tarif „Verbrauch“.
Die Front-End-Oberfläche für Data Mapper ist als Open Source im öffentlichen GitHub-Repository für das Azure Logic Apps-Team verfügbar. Weitere Informationen finden Sie in den folgenden Ressourcen:
Data Mapper funktioniert derzeit nur in Visual Studio Code auf Windows-Betriebssystemen.
Data Mapper unterstützt derzeit keine Schemas, die das Durch Trennzeichen getrennte Werte (.csv)-Dateiformat verwenden.
Der Codebereich in Data Mapper ist zurzeit schreibgeschützt.
Auf der Datenzuordnungsoberfläche sind das Layout und die Positionen für Funktionen verschiebbar, aber Schemaknoten sind statisch.
Die Filterfunktion verarbeitet ordnungsgemäß numerische Bedingungen, die durch doppelte Anführungszeichen eingeschlossen werden, zum Beispiel ">=10". Diese Funktion verhält sich derzeit jedoch nicht konsistent für Zeichenfolgenvergleiche, zum Beispiel eine Überprüfung, ob ein Elementname "= 'Pen'"ist.
Wenn Sie eine Zuordnung zwischen den übergeordneten Arrayelementen in den Quell- und Zielschemas erstellen, fügt der Mapper automatisch eine Schleife zum Durchlaufen der Arrayelementelemente hinzu. Sie müssen jedoch weiterhin explizit Zuordnungen zwischen quell- und Zielarrayelementelementen erstellen.
Zum Aufrufen von Zuordnungen, die mit Data Mapper erstellt wurden, können Sie nur die Data Mapper Operations Aktion namens Transformieren mithilfe von Data Mapper XSLT-verwenden. Verwenden Sie für Zuordnungen, die mit einem anderen Tool erstellt wurden, die Aktion der XML Operations (XML-Vorgänge) mit dem Namen Transform XML (XML transformieren).
Um die Zuordnungen zu verwenden, die Sie mit Data Mapper mit Workflows im Azure-Portal erstellen, müssen Sie sie direkt zu Ihrer Standardlogik-App-Ressourcehinzufügen.
Öffnen Sie für nicht blockierende Fehler oder Featureanforderungen ein Element mit der Bezeichnung Datenzuordnung im GitHub-Repository für das Azure Logic Apps-Team.
Voraussetzungen
Ein Azure Konto und ein Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Visual Studio Code und die Erweiterung „Azure Logic Apps (Standard)“ zum Erstellen von Logik-App-Workflows im Tarif „Standard“.
Hinweis
Die vorherige separate Data Mapper-Erweiterung wurde mit der Erweiterung „Azure Logic Apps (Standard)“ zusammengeführt. Um Konflikte zu vermeiden, werden alle ggf. vorhandenen Versionen der Data Mapper-Erweiterung entfernt, wenn Sie die Erweiterung „Azure Logic Apps (Standard)“ installieren oder aktualisieren. Starten Sie Visual Studio Code nach der Installation oder Aktualisierung der Erweiterung neu.
Die Quell- und Zielschemadateien, die die zu transformierenden Datentypen beschreiben. Diese Dateien können die folgenden Formate aufweisen:
Eine XML-Schemadefinitionsdatei mit der XSD-Dateierweiterung
Eine JavaScript Object Notation-Datei mit der JSON-Dateierweiterung
Ein Logik-App-Projekt im Tarif „Standard“, das einen zustandsbehafteten oder zustandslosen Workflow mit mindestens einem Auslöser enthält. Wenn Sie über kein Projekt verfügen, führen Sie die folgenden Schritte in Visual Studio Code aus:
Stellen Sie eine Verbindung mit Ihrem Azure-Konto her, sofern Sie diesen Schritt noch nicht ausgeführt haben.
Erstellen Sie einen lokalen Ordner, einen Logik-App-Arbeitsbereich und ein Logik-App-Projekt im Standard-Tarif und einen zustandsbehafteten oder statusfreien Workflow. Wählen Sie während der Workflowerstellung Open in current window (Im aktuellen Fenster öffnen) aus.
Beispieleingabedaten, wenn Sie die Zuordnung testen und überprüfen möchten, ob die Transformation erwartungsgemäß funktioniert.
Erstellen einer Datenzuordnung
Öffnen Sie in Visual Studio Code den Ordner für Ihr Standardlogik-App-Projekt.
Wählen Sie im Visual Studio Code-Menü auf der linken Seite das Azure-Symbol aus.
Wählen Sie im Fenster Azure unter Data Mapper-"Datenzuordnung erstellen"aus.
Auf der Titelleiste von Visual Studio Code wird ein Eingabeaufforderungsfeld geöffnet, sodass Sie einen Namen für Ihre Karte angeben können.
Geben Sie im Eingabeaufforderungsfeld einen Namen für die Zuordnung ein.
Für diese Anleitung verwenden sie den Namen Example-data-map.
Der Data Mapper erstellt und öffnet eine leere Datenzuordnung.
Wählen Sie Ihr Quell- und Zielschema aus, indem Sie die folgenden Schritte ausführen:
Wählen Sie im Bereich Quelle"Neue>Durchsuchen hinzufügen" aus, um das Quellschema zu suchen und hochzuladen.
Nachdem Sie Das Quellschema hinzugefügt haben, füllt der Bereich "Quelle " das XML-Element "Knoten" für die Datentypen im Quellschema auf, zum Beispiel:
Wählen Sie im Bereich ZielNeuen>durchsuchen aus, um Ihr Zielschema zu suchen und hochzuladen.
Nachdem Sie das Zielschema hinzugefügt haben, füllt der Zielbereich das XML-Element "Knoten" für die Datentypen im Zielschema auf, zum Beispiel:
Tipp
Wenn beim Laden Ihrer Schemas Probleme auftreten, können Sie die Quell- und Zielschemadateien im Ordner Artefakte/Schemas Ihres Logik-App-Projekts hinzufügen. Öffnen Sie in diesem Szenario zum Angeben des Quell- und Zielschemas in "Data Mapper" in den Bereichen "Quelle " und "Ziel" die liste "Vorhandene auswählen", anstatt "Neuehinzufügen" zu verwenden, und wählen Sie ihr Schema aus.
Datentypen des Schemas
In der folgenden Tabelle werden die möglichen Datentypen beschrieben, die in einem Schema angezeigt werden können:
| Symbol | type | Weitere Informationen |
|---|---|---|
|
|
Komplex (Array) | Enthält Elemente oder wiederholte Elementknoten. Ein Arrayelement zeigt auch den folgenden Verbindungspunkt an:
|
|
|
Bool | Nur TRUE oder FALSE |
|
|
Complex | Ein XML-Objekt mit untergeordneten Eigenschaften, ähnlich dem Objekt-JSON-Typ |
|
|
Datetime | |
|
|
Dezimalzahl | |
|
|
Integer | Nur ganze Zahlen |
|
|
Schnur |
Erstellen einer direkten Zuordnung zwischen Elementen
Führen Sie die folgenden Schritte aus, um eine einfache Transformation zwischen Elementen anzugeben, die denselben Typ in den Quell- und Zielschemas aufweisen:
Um anzuzeigen, was im Code geschieht, während Sie die Zuordnung erstellen, wählen Sie in der oberen rechten Ecke der Zuordnung Code anzeigen aus.
Suchen Sie auf der Zuordnungsoberfläche im Bereich "Quelle " das Quellelement, das Sie zuordnen möchten.
Standardmäßig werden übergeordnete Elemente automatisch erweitert, um ihre untergeordneten Elemente anzuzeigen.
In diesem Beispiel wird die Zuordnung aus dem Quellelement gestartet, Sie können jedoch die Zuordnung aus dem Zielelement starten.
Bewegen Sie den Mauszeiger über den Kreis neben dem Quellelementnamen, bis der Zeiger zu einem Pluszeichen (+) wechselt.
In diesem Beispiel wird eine Zuordnung erstellt, die mit dem Quellelement " Mitarbeiter-ID " beginnt.
Ziehen und zeichnen Sie eine Linie, damit das Quellelement eine Verbindung mit dem Kreis für das Zielelement im Zielbereich herstellt.
In diesem Beispiel wird die Zuordnung mit dem ID-Zielelement abgeschlossen, das denselben Datentyp wie das Quellelement aufweist.
Sie haben nun eine direkte Zuordnung zwischen beiden Elementen erstellt, die dieselben Datentypen aufweisen.
Der Codebereich zeigt die Zuordnungsbeziehung, die Sie erstellt haben:
Tipp
Um zu überprüfen, ob Ihre Zuordnungen Probleme haben, wählen Sie Probleme anzeigenaus. Beispielsweise wird in der Liste "Probleme " auf der Registerkarte "Warnungen " eine Warnung angezeigt, wenn Sie eine Zuordnung zwischen Elementen erstellen, die nicht übereinstimmende Datentypen aufweisen:
Erstellen einer komplexen Zuordnung zwischen Elementen
Wenn Sie eine kompliziertere Transformation zwischen Elementen in den Quell- und Zielschemas angeben möchten, zum Beispiel Elemente, die Sie kombinieren oder über unterschiedliche Datentypen verfügen möchten, können Sie eine oder mehrere Funktionen verwenden, die die gewünschte Transformation in der Zuordnung ausführen.
Auf der Zuordungsoberfläche wird die Funktionsbeschriftung basierend auf der Funktionsgruppe farbcodiert. Neben dem Funktionsnamen wird das Symbol der Funktion angezeigt, zum Beispiel:
In der folgenden Tabelle sind die Funktionsgruppen und einige Beispielfunktionen aufgeführt, die Sie verwenden können. Die vollständige Liste finden Sie in der Liste " Funktionen" in "Data Mapper".
| Gruppe | Beispielfunktionen |
|---|---|
| Sammlung | Average, Count, Direct Access, Distinct values, Filter, Index, Join, Maximum, Minimum, Reverse, Sort, Subsequence, Sum |
| Konvertierung | To Date, To Integer, To Number, To String |
| Datum und Uhrzeit | Tage hinzufügen, aktuelles Datum, aktuelle Uhrzeit, entspricht Datum |
| Logischer Vergleich | Equal, Exists, Greater, Greater or equal, If, If Else, Is Nil, Is Null, Is Number, Is String, Less, Less or Equal, Logical AND, Logical NOT, Logical OR, Not Equal |
| Mathematisch | Absolute, Add, Arctangent, Ceiling, Cosine, Divide, Exponential, Exponential (base 10), Floor, Integer Divide, Log, Log (base 10), Module, Multiply, Power, Round, Sine, Square root, Subtract, Tangent |
| String | Codepoints to String, Concat, Contains, Ends with, Length, Lowercase, Name, Regular Expression Matches, Regular Expression Replace, Replace, Starts with, String to Codepoints, Substring, Substring after, Substring before, Trim, Trim Left, Trim Right, Uppercase |
| Hilfsprogramm | Kopieren, Fehler, XPath ausführen, DatumZeit formatieren, Zahl formatieren, XSLT ausführen |
Hinzufügen einer Funktion ohne Zuordnung
Im Beispiel in diesem Abschnitt werden Daten im Quellelement von String in DateTimetransformiert, was der Zielelementtyp ist. Das Beispiel beginnt ohne zuerst eine Zuordnung zu erstellen und verwendet die To Date-Funktion , die eine einzelne Eingabe akzeptiert.
Um anzuzeigen, was im Code geschieht, während Sie die Zuordnung erstellen, wählen Sie in der oberen rechten Ecke der Zuordnung Code anzeigen aus.
Suchen Sie in der Liste Funktionen die Funktion, die Sie verwenden möchten, und wählen Sie sie aus, wodurch die Funktion zur Zuordnungsoberfläche hinzugefügt wird. Wenn die Funktionsliste reduziert ist, wählen Sie in der oberen linken Ecke des Mappers das Funktionssymbol (
).Dieses Beispiel wählt die Funktion An Datum aus, die sich in der Gruppe Konvertierungsfunktion befindet.
Hinweis
Wenn keine Zuordnung auf der Karte vorhanden ist oder eine Zuordnung ausgewählt ist, wenn Sie der Karte eine Funktion hinzufügen, wird die Funktion angezeigt, aber nicht mit Elementen oder anderen Funktionen verbunden, zum Beispiel:
Verbinden Sie die Funktion mit den Quell- und Zielelementen.
Ziehen und zeichnen Sie eine Linie zwischen dem Quellelement und dem Kreis auf dem linken Rand der Funktion. Sie können entweder mit dem Quellelement oder der Funktion beginnen.
Ziehen Sie eine Linie zwischen dem rechten Rand der Funktion und dem Zielelement. Sie können entweder beim Zielelement oder bei der Funktion beginnen.
Der Codebereich zeigt die Zuordnungsbeziehung, die Sie erstellt haben:
Wählen Sie auf der Zuordnungsoberfläche die Funktionsform aus, um die Funktionsdetails anzuzeigen.
Bestätigen oder bearbeiten Sie auf der Registerkarte Eingabe die zu verwendende Eingabe.
In einigen Szenarien ist es erforderlich, eine Transformation jenseits des unmittelbaren Quell- und Zielelementpaars zu definieren. Um beispielsweise eine Transformation zwischen einem Arraypaar und ihren Elementen zu definieren, müssen Sie eine Schleife zwischen den Arrayserstellen. Oder um eine Aufgabe auszuführen, wenn der Wert eines Elements eine Bedingung erfüllt, müssen Sie eine Bedingung zwischen Elementenhinzufügen.
Hinzufügen einer Funktion, die mehrere Eingaben verwendet
Im Beispiel in diesem Abschnitt werden mehrere Quellelemente als Eingaben verkettet und dem Zielelement eine einzelne Ausgabe zugeordnet. Das Beispiel verwendet die Funktion Textkette, die mehrere Eingaben akzeptiert.
Um anzuzeigen, was im Code geschieht, während Sie die Zuordnung erstellen, wählen Sie in der oberen rechten Ecke der Zuordnung Code anzeigen aus.
Suchen Sie in der Liste Funktionen die Funktion, die Sie verwenden möchten, und wählen Sie sie aus, wodurch die Funktion zur Zuordnungsoberfläche hinzugefügt wird.
Wenn die Funktionsliste reduziert ist, wählen Sie in der oberen linken Ecke des Mappers das Funktionssymbol (
).Dieses Beispiel wählt die Funktion "Textkette " aus, die sich in der Gruppe der Zeichenfolgenfunktion befindet.
Hinweis
Wenn keine Zuordnung auf der Karte vorhanden ist oder eine Zuordnung ausgewählt ist, wenn Sie der Karte eine Funktion hinzufügen, wird die Funktion angezeigt, aber nicht mit Elementen oder anderen Funktionen verbunden, zum Beispiel:
Wählen Sie auf der Zuordnungsoberfläche die Funktionsform aus, um die Funktionsdetails anzuzeigen.
Wählen Sie auf der Registerkarte Eingabe die Quellschemaelemente aus, die als Eingaben verwendet werden sollen.
In diesem Beispiel werden die Vorname- und Nachname Quellschemaelemente als Funktionseingaben ausgewählt. Der Mapper fügt automatisch die entsprechenden Zuordnungen zwischen den Quellelementen und der Funktion hinzu.
Um die Zuordnung abzuschließen, ziehen und zeichnen Sie eine Linie zwischen dem rechten Rand der Funktion und dem Zielelement. Sie können entweder mit dem Zielelement oder der Funktion beginnen.
Der Codebereich zeigt die von Ihnen erstellten Zuordnungsbeziehungen:
Durchlaufen von Arrays
Wenn Ihre Quell- und Zielschemas Arrays enthalten, können Sie eine Schleife erstellen, um die Elemente der Arrays zu durchlaufen. Das Beispiel in diesem Abschnitt erstellt eine Schleife durch ein Mitarbeiterquellarray und ein Personenzielarray sowie Zuordnungen zwischen den Elementen der Arrays.
Um anzuzeigen, was im Code geschieht, während Sie die Zuordnung erstellen, wählen Sie in der oberen rechten Ecke der Zuordnung Code anzeigen aus.
Suchen Sie auf der Zuordnungsoberfläche im Bereich "Quelle " und "Ziel " die Arrays, die Sie zuordnen möchten.
Ziehen und zeichnen Sie eine Linie zwischen dem Arrayelementpaar. Sie können entweder im Quellbereich oder im Zielbereich beginnen.
Das folgende Beispiel beginnt im Bereich " Quelle " und ordnet die Elemente "Name " im Quellarray " Mitarbeiter " und dem Zielarray " Person " zu:
Nachdem Sie die Zuordnung des ersten Arrayelementpaars abgeschlossen haben, fügt der Mapper automatisch eine Schleife zwischen den übergeordneten Elementen der Quelle und dem Zielarray hinzu, die den folgenden Verbindungspunkttyp aufweisen:

Im folgenden Beispiel wird die automatisch hinzugefügte Schleife zwischen den übergeordneten Arrays "Mitarbeiter " und "Zielperson" hervorgehoben:
Der Codebereich zeigt die Zuordnung und Schleife an, die Sie erstellt haben:
Fahren Sie mit dem Zuordnen der anderen Arrayelemente fort, zum Beispiel:
Auswerten einer Bedingung zum Durchführen einer Aufgabe
Angenommen, Sie möchten eine Zuordnung hinzufügen, die eine Bedingung auswertet und eine Aufgabe ausführt, wenn die Bedingung erfüllt ist. In diesem Szenario können Sie mehrere Funktionen verwenden.
Im folgenden Beispiel berechnet die Zuordnung, wenn die Einkaufsmenge 20 Artikel überschreitet, einen Rabatt, der mit den folgenden Funktionen angewendet werden soll:
| Funktionsgruppe | Funktion | Zweck in diesem Beispiel |
|---|---|---|
| Vergleich | Höher | Überprüfen Sie, ob die Einkaufsmenge mehr als 20 beträgt. |
| Vergleich | If | Überprüfen Sie, ob die funktion Greater true zurückgibt. |
| Mathematisch | Multiply | Wenn die Bedingung "true" ist, multiplizieren Sie den Artikelpreis um 10 %, um den Rabatt zu berechnen. |
Suchen Sie im Bereich "Quelle " und "Ziel " die Elemente, die in Ihrem Szenario zugeordnet werden sollen.
In diesem Beispiel werden die folgenden Elemente verwendet:
Quellbereich : Artikelpreis und Artikelmenge
Ziel Bereich: ItemPrice, ItemQuantityund ItemDiscount
Suchen Sie in der Liste Funktionen die Funktionen, die Sie verwenden möchten, und wählen Sie sie aus, wodurch die Funktionen zur Zuordnungsoberfläche hinzugefügt werden.
Wenn die Funktionsliste reduziert ist, wählen Sie in der oberen linken Ecke des Mappers das Funktionssymbol (
).Verschieben Sie bei Bedarf die Funktionsformen auf der Zuordnungsoberfläche, um die Auswahl zu vereinfachen.
In diesem Beispiel werden der Zuordnungsoberfläche die folgenden Funktionen hinzugefügt: Größer, Wennund Multiplizieren
Um anzuzeigen, was im Code geschieht, während Sie die Zuordnungen erstellen, wählen Sie in der oberen rechten Ecke des Mappers Code anzeigenaus.
Verbinden Sie die Quellelemente, Funktionen und Zielelemente in der spezifischen Reihenfolge, wie Für Ihr Szenario erforderlich ist.
Dieses Beispiel verbindet die folgenden Elemente in der angegebenen Reihenfolge miteinander, um die Zuordnungen ordnungsgemäß zu erstellen:
Starten Ende ItemPrice Quellelement ItemPrice Zielelement ItemQuantity Quellelement Eingabe einer größeren Funktion am linken Rand der Form. Diese Eingabe stellt die Daten für das Feld Wert 1 in den Funktionsdetails bereit. Ausgabe einer größeren Funktion am rechten Rand der Form Wenn die Eingabe der Funktion am linken Rand der Form erfolgt. Diese Eingabe stellt die Daten für das Feld "Bedingung " in den Funktionsdetails bereit. ItemPrice Quellelement Multiplizieren Sie die Eingabe der Funktion am linken Rand der Form. Diese Eingabe stellt die Daten für das Multiplicand-Feld in den Funktionsdetails bereit. Multiplizieren Sie die Ausgabe der Funktion am rechten Rand der Form. Wenn die Eingabe der Funktion am linken Rand der Form erfolgt. Diese Eingabe stellt die Daten für das Feld "Wert " in den Funktionsdetails bereit. Wenn die Ausgabe der Funktion am rechten Rand der Form angezeigt wird. ItemDiscount Zielelement Das folgende Beispiel zeigt die Zuordnungen zu diesem Zeitpunkt:
Bestätigen oder geben Sie in den folgenden Funktionsdetails auf der Registerkarte "Eingabe " die folgenden Werte an:
Funktion Eingabefeld und Wert Höher - Wert 1:ItemQuantity Quellelement
- Wert 2:20 als benutzerdefinierter WertMultiply - Multiplikand 1:ItemPrice Quellelement
- Multiplikand 2:.10 als benutzerdefinierter WertIf - Bedingung:ist größer als(ItemQuantity,20)
- Wert:multiply(ItemPrice, .10)Die folgende Zuordnung zeigt das fertige Beispiel:
Im Codebereich wird die von Ihnen erstellte Zuordnung angezeigt:
Speichern der Zuordnung
Wenn Sie fertig sind, wählen Sie auf der Zuordnungssymbolleiste Speichern aus.
Visual Studio Code speichert Ihre Datenzuordnung als die folgenden Artefakte:
- Eine Datenzuordnungsdatei (<Name-Ihrer-Zuordnung>.lml) im Projektordner Artifacts>MapDefinitions
- Eine Datenzuordnungsdatei (<Name-Ihrer-Zuordnung>.xslt) im Projektordner Artifacts>Maps
Tipp
Um Ihre Artefakte auf tieferen Ebenen zu organisieren, können Sie die folgenden Ordner und Unterordner verwenden:
- Artefakte/MapDefinitions
- Artefakte/Schemas
- Artefakte/DataMapper/Erweiterungen/Funktionen
- Artefakte/DataMapper/Erweiterungen/InlineXslt
Testen der Zuordnung
Um zu bestätigen, dass die Transformation erwartungsgemäß funktioniert, benötigen Sie Beispieleingabedaten.
Bevor Sie Ihre Karte testen, speichern Sie die Karte, um einen aktuellen <Ihren Kartennamen>XSLT Dateizu generieren.
Wählen Sie auf der Kartensymbolleiste " Testbereich öffnen"aus.
Fügen Sie im Bereich "Testzuordnung " im Feld "Beispieldaten " Ihre Beispieleingabe ein, und wählen Sie " Testen"aus.
Das Ergebnisfeld zeigt die Testergebnisse an.
Aufrufen der Zuordnung aus einem Workflow in Ihrem Projekt
Wählen Sie auf der Visual Studio Code-Aktivitätsleiste Explorer- (Dateisymbol) aus, um die Projektstruktur ihrer Logik-App anzuzeigen.
Erweitern Sie den Ordner mit Ihrem Workflownamen. Wählen Sie im Kontextmenü der Datei workflow.json die Option Designer öffnen aus.
Führen Sie im Workflow-Designer die folgenden allgemeinen Schritte zum Hinzufügen der integrierten Aktion Data Mapper-Vorgänge mit dem Namen Mit Data Mapper XSLT transformieren aus.
Wählen Sie im Designer die Aktion Mit Data Mapper XSLT transformieren aus.
Geben Sie im angezeigten Aktionsinformationsbereich den Wert Inhalt an, und lassen Sie Zuordnungsquelle auf Logik-App festgelegt.
Öffnen Sie die Zuordnungsnamenliste , und wählen Sie Ihre Karte (XSLT-Datei) aus.
Wenn Sie die gleiche Aktion vom Typ Mit Data Mapper XSLT transformieren im Azure-Portal verwenden möchten, müssen Sie die Zuordnung zur Standard-Logik-App-Ressource hinzufügen.
Ausführen von XSLT aus einer Datenzuordnung
Sie können ausführbare XSLT-Codeschnipsel aus einer Datenzuordnungsdatei (.xslt) mithilfe der Funktion XSLT ausführen ausführen. Wenn Sie diese Funktion verwenden, erhalten Sie eine Datenzuordnungsdatei, die den eigentlichen ausführbaren XSLT-Code enthält. Die Data Mapper-Datei (.lml) enthält einen Verweis auf die ausführbare XSLT-Datei (.xslt oder .xml).
Führen Sie die folgenden Schritte aus, um diese Aufgabe auszuführen:
Erstellen Sie eine neue Datenzuordnungsdatei (.xslt oder .xml), die den ausführbaren XSLT-Codeschnipsel enthält, den Sie ausführen möchten.
Fügen Sie die XSLT-Datei mit dem Codeschnipsel in den folgenden Projektordner ein, oder verschieben Sie sie dorthin:
Artefakte>DataMapper\Extensions>InlineXSLT
Hinweis
Wenn Sie diese ausführbare XSLT-Datei in Visual Studio Code erstellen oder speichern, wird die Datei automatisch im Projektordner Artifacts>Maps hinzugefügt. Verschieben Sie XSLT-Datei mit Codeschnipseln immer in den Ordner InlineXslt.
Öffnen Sie die Datenzuordnung, aus der Sie den XSLT-Code ausführen möchten.
Wählen Sie im Bereich Funktionen unter Hilfsprogramm die Option XSLT ausführen aus, um die Funktion auf der Data Mapper-Benutzeroberfläche hinzuzufügen.
Wählen Sie auf der Data Mapper-Benutzeroberfläche XSLT ausführen aus.
Wählen Sie in der Dropdownliste Datei die ausführbare XSLT-Datei aus, die Sie im Ordner InlineXSLT hinzugefügt haben, z. B.:
Verbinden Sie die Funktion XSLT ausführen mit dem Zielknoten, auf den Sie die XSLT-Logik anwenden möchten, z. B.:
Da die XSLT-Logik nur auf den Zielknoten angewendet werden soll, müssen Sie die Funktion XSLT ausführen nicht mit einem Quellknoten verbinden.
Testen Sie Ihre Zuordnung, um sich zu vergewissern, dass die erwarteten Ergebnisse im Zielschema angezeigt werden.
Für die Bereitstellung benötigen Sie nur die resultierende Datenzuordnung mit dem ausführbaren XSLT-Code.
Zugreifen auf Knoten in XML-Schachtelungen
Angenommen, Sie haben ein Schema mit geschachtelten XML-Knoten und möchten auf folgende Weise mit diesen Knoten arbeiten:
- Zugreifen auf Attribute oder geschachtelte Elemente
- Anwenden von Logik basierend auf der Struktur oder dem Inhalt von eingehenden Daten
Verwenden Sie die Funktion XPath ausführen, um diese Aufgaben auszuführen:
Öffnen Sie die Datenzuordnung, die Sie bearbeiten möchten.
Wählen Sie im Bereich Funktionen unter Hilfsprogramm die Option XPath ausführen aus, um die Funktion auf der Data Mapper-Benutzeroberfläche hinzuzufügen.
Wählen Sie auf der Data Mapper-Benutzeroberfläche XPath ausführen aus.
Geben Sie im Feld XPATH-Ausdruck einen Ausdruck ein, der die gewünschte Aufgabe ausführt.
Weitere Informationen zur Ausdruckssyntax finden Sie unter XPath-Syntax.
In diesem Beispiel wird der
//Address-Ausdruck zusammen mit Testnutzdaten verwendet:Hinweis
Mit doppelten Schrägstrichen (
//) wählen Sie Knoten unter dem aktuellen Knoten aus, die der Auswahl entsprechen, unabhängig davon, wo sich die Knoten befinden.Verbinden Sie die Funktion XPath ausführen mit dem Zielknoten, für den Sie die Funktion ausführen möchten.
In diesem Beispiel wird die Funktion mit dem Knoten Address im Zielschema verbunden:
Hinweis
Knotennamen werden automatisch in doppelte Anführungszeichen (" ") eingeschlossen.
Testen Sie Ihre Zuordnung, um sich zu vergewissern, dass die erwarteten Ergebnisse im Zielschema angezeigt werden.
In diesem Beispiel werden Testnutzdaten verwendet und richtigerweise Ergebnisse mit mehreren Address-Knoten generiert, da der Address-Quellknoten in einem Employee-Knoten enthalten ist, während der Address-Zielknoten in einem Person-Array vorhanden ist.
Hinweis
Wenn Sie eine Zuordnung zwischen Arrays in den Quell- und Zielschemas erstellen, wird automatisch eine Schleife auf der Data Mapper-Benutzeroberfläche generiert, um die Arrayelemente zu durchlaufen. Sie müssen jedoch weiterhin Zuordnungen zwischen den Elementen im Quell- und Zielarray erstellen. Weitere Informationen zum Durchlaufen von Arrays finden Sie unter Durchlaufen von Arrays.
Erstellen benutzerdefinierter XML-Funktionen
Um wiederverwendbare Logik in Ihrer Zuordnung zu definieren, können Sie benutzerdefinierte XML-Funktionen erstellen, die die folgenden Vorteile bieten:
- Sie reduzieren Duplizierungen und unterstützen schemaspezifische Transformationen.
- Sie verpacken komplexe Logik in verwaltbaren Komponenten.
- Sie behandeln auch schemaspezifische Sonderfälle.
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte XML-Funktion zu erstellen:
Erstellen Sie eine XML-Datei (.xml) mit einem aussagekräftigen Namen, der den Zweck Ihrer Funktion beschreibt.
Ihre XML-Datei muss ein bestimmtes Schema für Funktionsdefinitionen verwenden. Wenn Sie über mehrere verwandte Funktionen verfügen, können Sie eine einzelne Datei für diese Funktionen verwenden. Sie können zwar einen beliebigen Dateinamen verwenden, ein aussagekräftiger Dateiname oder eine aussagekräftige Kategorie macht es jedoch einfacher, Ihre Funktionen zu identifizieren, zu finden und zu entdecken.
Fügen Sie diese XML-Datei Ihrem Logik-App-Projekt im folgenden Ordner hinzu:
Artefakte>DataMapper\Extensions>Funktionen
Öffnen Sie die Datenzuordnung, in der Sie Ihre Funktion verwenden möchten.
Wählen Sie im Bereich Funktionen unter Hilfsprogramm Ihre benutzerdefinierte Funktion aus, die nun auf der Data Mapper-Benutzeroberfläche angezeigt wird.
Wählen Sie Ihre Funktion auf der Data Mapper-Benutzeroberfläche aus. Stellen Sie eine Eingabe bereit, die die Funktion verarbeiten soll.
Verbinden Sie die Funktion mit den erforderlichen Endpunkten.
Das folgende Beispiel zeigt die benutzerdefinierte Funktion Age, die das Alter für ein angegebenes Geburtsdatum zurückgibt. Die Funktion stellt eine Verbindung mit dem Quellknoten Dat_of_Birth und dem Zielknoten Other her. Weitere Informationen zum Überprüfen der Definition für diese benutzerdefinierte Funktion finden Sie unter Überprüfen der Beispielfunktionsdefinitionen.
Testen Sie Ihre Zuordnung, um sich zu vergewissern, dass die erwarteten Ergebnisse im Zielschema angezeigt werden, z. B.:
Überprüfen des Schemas auf eine Funktionsdefinition
Sie müssen in Ihrer XML-Datei das folgende Schema für die Funktionsdefinition verwenden. Jedes XML-Element mit dem Namen "function" implementiert eine Funktion im XSLT 3.0-Format mit einigen zusätzlichen Attributen. Die Liste der Data Mapper-Funktionen enthält den Funktionsnamen und die Beschreibung sowie Parameternamen und Parametertypen.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customfunctions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="function">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="param">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="as" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="as" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Überprüfen der Beispielfunktionsdefinitionen
Die folgende Datei SampleFunctions.xml enthält die Implementierung für die folgenden Funktionen:
"age""custom-if-then-else"
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<customfunctions>
<function name="age" as="xs:float" description="Returns the current age.">
<param name="inputDate" as="xs:date"/>
<value-of select="round(days-from-duration(current-date() - xs:date($inputDate)) div 365.25, 1)"/>
</function>
<function name="custom-if-then-else" as="xs:string" description="Evaluates the condition and returns corresponding value.">
<param name="condition" as="xs:boolean"/>
<param name="thenResult" as="xs:anyAtomicType"/>
<param name="elseResult" as="xs:anyAtomicType"/>
<choose>
<when test="$condition">
<value-of select="$thenResult"></value-of>
</when>
<otherwise>
<value-of select="$elseResult"></value-of>
</otherwise>
</choose>
</function>
</customfunctions>