Tworzenie map w celu przekształcania danych w usłudze Azure Logic Apps za pomocą programu Visual Studio Code
Dotyczy: Azure Logic Apps (Standardowa)
Aby wymieniać komunikaty, które mają różne formaty XML lub JSON w przepływie pracy usługi Azure Logic Apps, musisz przekształcić dane z jednego formatu na inny, zwłaszcza jeśli występują luki między strukturami schematu źródłowego i docelowego. Przekształcanie danych pomaga wypełnić te luki. W tym zadaniu należy utworzyć mapę definiującą transformację między elementami danych w schemacie źródłowym i docelowym.
Aby wizualnie utworzyć i edytować mapę, możesz użyć programu Visual Studio Code z rozszerzeniem usługi Azure Logic Apps (Standard) w kontekście projektu aplikacji logiki w warstwie Standardowa. Narzędzie Mapowanie danych zapewnia ujednolicone środowisko mapowania i przekształcania XSLT przy użyciu gestów przeciągania i upuszczania, wstępnie utworzonej biblioteki funkcji do tworzenia wyrażeń oraz ręcznego testowania map tworzonych i używanych w przepływach pracy.
Po utworzeniu mapy możesz bezpośrednio wywołać mapę z przepływu pracy w projekcie aplikacji logiki lub z przepływu pracy w witrynie Azure Portal. W tym zadaniu możesz użyć akcji Operacje mapowania danych o nazwie Przekształć przy użyciu mapera danych XSLT w przepływie pracy.
W tym przewodniku z instrukcjami pokazano, jak utworzyć pustą mapę danych, wybrać schematy źródłowe i docelowe, wybrać elementy schematu, aby rozpocząć mapowanie, utworzyć różne mapowania, zapisać i przetestować mapę, a następnie wywołać mapę z przepływu pracy w projekcie aplikacji logiki.
Ograniczenia i znane problemy
Maper danych działa obecnie tylko w programie Visual Studio Code uruchomionym w systemach operacyjnych Windows.
Maper danych jest obecnie dostępny tylko w programie Visual Studio Code, a nie w witrynie Azure Portal i tylko w projektach aplikacji logiki w warstwie Standardowa, a nie w projektach aplikacji logiki Zużycie.
Maper danych obecnie nie obsługuje plików wartości rozdzielanych przecinkami (csv).
Okienko Widok kodu mapera danych jest obecnie tylko do odczytu.
Układ mapy i położenie elementu są obecnie automatyczne i tylko do odczytu.
Aby wywołać mapy utworzone za pomocą narzędzia Maper danych, można użyć tylko akcji Operacje mapowania danych o nazwie Przekształć przy użyciu mapowania danych XSLT. W przypadku map utworzonych przez inne narzędzie użyj akcji Operacje XML o nazwie Przekształć xml.
Aby użyć map utworzonych za pomocą narzędzia Mapowanie danych, ale w witrynie Azure Portal, należy dodać je bezpośrednio do zasobu standardowej aplikacji logiki.
Wymagania wstępne
Program Visual Studio Code i rozszerzenie usługi Azure Logic Apps (Standard) służące do tworzenia standardowych przepływów pracy aplikacji logiki.
Uwaga
Wcześniej oddzielne rozszerzenie mapowania danych zostało teraz scalone z rozszerzeniem usługi Azure Logic Apps (Standard). Aby uniknąć konfliktów, podczas instalowania lub aktualizowania rozszerzenia usługi Azure Logic Apps (Standard) wszelkie istniejące wersje rozszerzenia mapowania danych zostaną usunięte. Po zainstalowaniu lub aktualizacji rozszerzenia uruchom ponownie program Visual Studio Code.
Pliki schematu źródłowego i docelowego, które opisują typy danych do przekształcenia. Te pliki mogą mieć następujące formaty:
- Plik definicji schematu XML z rozszerzeniem .xsd
- Plik notacji obiektów JavaScript z rozszerzeniem pliku json
Projekt standardowej aplikacji logiki, który zawiera stanowy lub bezstanowy przepływ pracy z co najmniej wyzwalaczem. Jeśli nie masz projektu, wykonaj następujące kroki w programie Visual Studio Code:
Połączenie do konta platformy Azure, jeśli jeszcze tego nie zrobiono.
Utwórz folder lokalny, lokalny projekt aplikacji logiki w warstwie Standardowa oraz stanowy lub bezstanowy przepływ pracy. Podczas tworzenia przepływu pracy wybierz pozycję Otwórz w bieżącym oknie.
Przykładowe dane wejściowe, jeśli chcesz przetestować mapę i sprawdzić, czy transformacja działa zgodnie z oczekiwaniami.
Aby użyć funkcji Run XSLT, fragmenty kodu XSLT muszą istnieć w plikach używających rozszerzenia nazwy pliku .xml lub xslt . Fragmenty kodu XSLT należy umieścić w folderze InlineXslt w lokalnej strukturze folderu projektu: Artifacts>DataMapper>Extensions>InlineXslt. Jeśli ta struktura folderów nie istnieje, utwórz brakujące foldery.
Tworzenie mapy danych
W menu po lewej stronie programu Visual Studio Code wybierz ikonę platformy Azure .
W okienku Azure w sekcji Maper danych wybierz pozycję Utwórz nową mapę danych.
Podaj nazwę mapy danych.
Określ schematy źródłowe i docelowe, wykonując następujące kroki:
Na powierzchni mapy wybierz pozycję Dodaj schemat źródłowy.
W otwartym okienku Konfigurowanie wybierz pozycję Dodaj nowe>przeglądaj.
Znajdź i wybierz plik schematu źródłowego, a następnie wybierz pozycję Dodaj.
Jeśli schemat źródłowy nie jest wyświetlany w oknie Otwórz , z listy typów plików zmień plik XSD (*.xsd) na Wszystkie pliki (*.*).
Na powierzchni mapy są teraz wyświetlane typy danych ze schematu źródłowego. Przykłady w tym przewodniku:
Na powierzchni mapy wybierz pozycję Dodaj schemat docelowy.
W otwartym okienku Konfigurowanie wybierz pozycję Dodaj nowe>przeglądaj.
Znajdź i wybierz docelowy plik schematu, a następnie wybierz pozycję Dodaj.
Jeśli schemat docelowy nie jest wyświetlany w oknie Otwórz , z listy typów plików zmień plik XSD (*.xsd) na Wszystkie pliki (*.*).
Na powierzchni mapy są teraz wyświetlane typy danych ze schematu docelowego.
Alternatywnie możesz również lokalnie dodać pliki schematu źródłowego i docelowego do projektu aplikacji logiki w folderze Artifacts Schemas( Schematy artefaktów/), aby były wyświetlane w programie Visual Studio Code. W takim przypadku możesz określić schemat źródłowy i docelowy w narzędziu Maper danych w okienku Konfigurowanie , wybierając pozycję Wybierz istniejącą, a nie Dodaj nową.
Gdy wszystko będzie gotowe, mapa będzie wyglądać podobnie do poniższego przykładu:
W poniższej tabeli opisano możliwe typy danych, które mogą być wyświetlane w schemacie:
Symbol | Typ | Więcej informacji |
---|---|---|
Tablica | Zawiera elementy lub powtarzające się węzły elementów | |
Plik binarny | ||
Bool | Tylko prawda czy fałsz | |
Złożone | Obiekt XML z właściwościami podrzędnymi podobny do typu JSON obiektu | |
Data/godzina | ||
Dziesiętne | ||
Integer | tylko liczby KtoTo le | |
Null (zero) | Nie typ danych, ale pojawia się, gdy istnieje błąd lub nieprawidłowy typ | |
Liczba | Liczba całkowita JSON lub liczba dziesiętna | |
Obiekt | Obiekt JSON z właściwościami podrzędnymi podobny do typu złożonego XML | |
String |
Nawigowanie po mapie
Aby poruszać się po mapie, dostępne są następujące opcje:
Aby posunąć się, przeciągnij wskaźnik wokół powierzchni mapy. Lub naciśnij i przytrzymaj koło myszy, podczas gdy przenosisz mysz lub trackball.
Po przeniesieniu jednego poziomu w dół do mapy w lewym dolnym rogu mapy zostanie wyświetlony pasek nawigacyjny, w którym można wybrać jedną z następujących opcji:
Opcja Alternatywny gest Pomniejszanie Na powierzchni mapy naciśnij klawisze SHIFT + double select.
-Lub-
Przewiń w dół za pomocą kółka myszy.Powiększenie Na powierzchni mapy wybierz dwukrotnie.
-Lub-
Przewiń w górę za pomocą kółka myszy.Powiększenie, aby dopasować Brak Pokaż (Ukryj) minimapę Brak Aby przejść w górę o jeden poziom na mapie, na ścieżce do stron nadrzędnych w górnej części mapy wybierz poprzedni poziom.
Wybieranie elementów docelowych i źródłowych do mapowania
Na powierzchni mapy, począwszy od prawej strony, w obszarze schematu docelowego wybierz element docelowy, który chcesz zamapować. Jeśli żądany element jest elementem podrzędnym elementu nadrzędnego, znajdź i rozwiń element nadrzędny jako pierwszy.
Teraz po lewej stronie w obszarze schematu źródłowego wybierz pozycję Wybierz element.
W wyświetlonym oknie Schemat źródłowy wybierz co najmniej jeden element źródłowy, który ma być wyświetlany na mapie.
Aby dołączyć element nadrzędny i bezpośrednie elementy podrzędne, otwórz menu skrótów elementu nadrzędnego i wybierz pozycję Dodaj elementy podrzędne.
Aby uwzględnić element nadrzędny i wszystkie elementy podrzędne dla tego elementu nadrzędnego, w tym wszystkie elementy podrzędne, otwórz menu skrótów nadrzędnego najwyższego poziomu i wybierz pozycję Dodaj elementy podrzędne (rekursywne).
Po zakończeniu możesz zamknąć okno schematu źródłowego. Zawsze możesz dodać więcej elementów źródłowych później. Na mapie w lewym górnym rogu wybierz pozycję Pokaż schemat źródłowy ().
Tworzenie bezpośredniego mapowania między elementami
Aby uzyskać prostą transformację między elementami o tym samym typie w schematach źródłowych i docelowych, wykonaj następujące kroki:
Aby sprawdzić, co się dzieje w kodzie podczas tworzenia mapowania, w prawym górnym rogu mapy wybierz pozycję Pokaż kod.
Jeśli jeszcze tego nie zrobiono, na mapie wybierz elementy docelowe, a następnie elementy źródłowe, które chcesz mapować.
Przenieś wskaźnik nad elementem źródłowym, aby pojawić się zarówno okrąg, jak i znak plus (+).
Przeciągnij linię do elementu docelowego, aby linia łączyła się z wyświetlonym okręgiem.
Utworzono bezpośrednie mapowanie między obydwoma elementami.
Okno widoku kodu odzwierciedla utworzoną relację mapowania:
Uwaga
Jeśli utworzysz mapowanie między elementami, w których ich typy danych nie są zgodne, na przykład w elemecie docelowym pojawi się ostrzeżenie:
Tworzenie złożonego mapowania między elementami
W przypadku bardziej złożonej transformacji między elementami w schematach źródłowych i docelowych, takich jak elementy, które chcesz połączyć lub które mają różne typy danych, można użyć co najmniej jednej funkcji do wykonywania zadań dla tej transformacji.
W poniższej tabeli wymieniono dostępne grupy funkcji i przykładowe funkcje, których można użyć:
Grupowy | Przykładowe funkcje |
---|---|
Kolekcja | Average, Count, Direct Access, Distinct values, Filter, Index, Join, Maximum, Minimum, Reverse, Sort, Subsequence, Sum |
Konwersja | Do daty, Do liczby całkowitej, Do liczby, Do ciągu |
Data i godzina | Dodaj dni |
Porównanie logiczne | Równe, Istnieje, Większe, Większe lub równe, If, If else, Is zero, Is null, Is number, Is string, Less, Less, Less, Logical AND, Logical NOT, Logical OR, Not Equal |
Math | 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 | Kod wskazuje ciąg, Concat, Contains, Ends with, Length, Lowercase, Name, Regular expression matches, Regular expression replace, Replace, Starts with, String to code-points, Substring, Substring after, Substring before, Trim, Trim left, Trim right, Uppercase |
Narzędzie | Kopiuj, Błąd, Wykonaj XPath, Formatuj datę i godzinę, Numer formatu, Uruchom XSLT |
Na mapie etykieta funkcji wygląda jak w poniższym przykładzie i jest oznaczona kolorami na podstawie grupy funkcji. Po lewej stronie nazwy funkcji zostanie wyświetlony symbol funkcji. Po prawej stronie nazwy funkcji zostanie wyświetlony symbol typu danych danych wyjściowych funkcji.
Dodawanie funkcji bez relacji mapowania
Przykład w tej sekcji przekształca typ elementu źródłowego z typu Ciąg na Typ daty/godziny, który odpowiada typowi elementu docelowego. W przykładzie użyto funkcji Do daty , która przyjmuje pojedyncze dane wejściowe.
Aby sprawdzić, co się dzieje w kodzie podczas tworzenia mapowania, w prawym górnym rogu mapy wybierz pozycję Pokaż kod.
Jeśli jeszcze tego nie zrobiono, na mapie wybierz elementy docelowe, a następnie elementy źródłowe, które chcesz mapować.
W lewym górnym rogu mapy wybierz pozycję Pokaż funkcje ().
Z listy funkcji, która zostanie otwarta, znajdź i wybierz funkcję, której chcesz użyć, co spowoduje dodanie funkcji do mapy. Jeśli funkcja nie jest widoczna na mapie, spróbuj powiększyć powierzchnię mapy.
W tym przykładzie wybrano funkcję Do daty . Możesz również znaleźć i wybrać dowolne funkcje niestandardowe w taki sam sposób. Aby uzyskać więcej informacji, zobacz Tworzenie funkcji niestandardowej.
Uwaga
Jeśli nie istnieje linia mapowania lub jest zaznaczona podczas dodawania funkcji do mapy, funkcja jest wyświetlana na mapie, ale odłączona od dowolnych elementów lub innych funkcji, na przykład:
Rozwiń kształt funkcji, aby wyświetlić szczegóły i punkty połączenia funkcji. Aby rozwinąć kształt funkcji, zaznacz wewnątrz kształtu.
Połączenie funkcji do elementów źródłowych i docelowych.
Przeciągnij i narysuj linię między elementami źródłowymi a lewą krawędzią funkcji. Możesz rozpocząć od elementów źródłowych lub z funkcji.
Przeciągnij i narysuj linię między prawą krawędzią funkcji a elementem docelowym. Możesz uruchomić element docelowy lub z funkcji.
Na karcie Właściwości funkcji potwierdź lub edytuj dane wejściowe do użycia.
W przypadku niektórych typów danych, takich jak tablice, zakres przekształcenia może być również dostępny. Ten zakres jest zwykle bezpośrednim elementem, takim jak tablica, ale w niektórych scenariuszach zakres może istnieć poza bezpośrednim elementem.
Okno widoku kodu odzwierciedla utworzoną relację mapowania:
Aby na przykład iterować elementy tablicy, zobacz Tworzenie pętli między tablicami. Aby wykonać zadanie, gdy wartość elementu spełnia warunek, zobacz Dodawanie warunku między elementami.
Dodawanie funkcji do istniejącej relacji mapowania
Jeśli relacja mapowania już istnieje między elementami źródłowymi i docelowymi, możesz dodać funkcję, wykonując następujące kroki:
Na mapie wybierz wiersz dla utworzonego mapowania.
Przenieś wskaźnik nad zaznaczonym wierszem, a następnie wybierz wyświetloną funkcję Insert i znak (+), na przykład:
Z listy funkcji, która zostanie otwarta, znajdź i wybierz funkcję, której chcesz użyć.
Funkcja jest wyświetlana na mapie i jest automatycznie połączona między elementami źródłowymi i docelowymi.
Dodawanie funkcji z wieloma danymi wejściowymi
Przykład w tej sekcji łączy wiele typów elementów źródłowych, dzięki czemu można mapować wyniki na typ elementu docelowego. W przykładzie użyto funkcji Concat , która przyjmuje wiele danych wejściowych.
Aby sprawdzić, co się dzieje w kodzie podczas tworzenia mapowania, w prawym górnym rogu mapy wybierz pozycję Pokaż kod.
Jeśli jeszcze tego nie zrobiono, na mapie wybierz elementy docelowe, a następnie elementy źródłowe, które chcesz mapować.
W lewym górnym rogu mapy wybierz pozycję Pokaż funkcje ().
Z listy funkcji, która zostanie otwarta, znajdź i wybierz funkcję, której chcesz użyć, co spowoduje dodanie funkcji do mapy. Jeśli funkcja nie jest widoczna na mapie, spróbuj powiększyć powierzchnię mapy.
W tym przykładzie wybrano funkcję Concat :
Uwaga
Jeśli nie istnieje linia mapowania lub zostanie wybrana podczas dodawania funkcji do mapy, funkcja zostanie wyświetlona na mapie, ale odłączona od dowolnych elementów lub innych funkcji. Jeśli funkcja wymaga konfiguracji, czerwona kropka pojawi się w prawym górnym rogu funkcji, na przykład:
Rozwiń kształt funkcji, aby wyświetlić szczegóły i punkty połączenia funkcji. Aby rozwinąć kształt funkcji, zaznacz wewnątrz kształtu.
W okienku informacji o funkcji na karcie Właściwości w obszarze Dane wejściowe wybierz elementy danych źródłowych do użycia jako dane wejściowe.
W tym przykładzie jako dane wejściowe funkcji wybierane są elementy źródłowe FirstName i LastName , które automatycznie dodają odpowiednie połączenia na mapie.
Aby ukończyć przeciąganie mapowania i rysowanie linii między prawą krawędzią funkcji a elementem docelowym. Możesz uruchomić element docelowy lub z funkcji.
Okno widoku kodu odzwierciedla utworzoną relację mapowania:
Tworzenie pętli między tablicami
Jeśli schematy źródłowe i docelowe zawierają tablice, można utworzyć relację mapowania pętli, która iteruje przez elementy w tych tablicach. Przykład w tej sekcji wykonuje pętle za pośrednictwem tablicy źródłowej Employee i tablicy docelowej Person.
Aby sprawdzić, co się dzieje w kodzie podczas tworzenia mapowania, w prawym górnym rogu mapy wybierz pozycję Pokaż kod.
Na mapie w obszarze schematu docelowego wybierz docelowy element tablicy i elementy elementu tablicy docelowej, które chcesz mapować.
Na mapie w obszarze schematu docelowego rozwiń docelowy element tablicy i elementy tablicy.
W obszarze schematu źródłowego dodaj do mapy element tablicy źródłowej i elementy elementu tablicy.
Utwórz bezpośrednie mapowanie między elementami źródłowymi i docelowymi.
Po pierwszym utworzeniu relacji mapowania między pasującą parą elementów tablicy relacja mapowania jest tworzona automatycznie na poziomie macierzy nadrzędnej.
Okno widoku kodu odzwierciedla utworzoną relację mapowania:
Kontynuuj mapowanie innych elementów tablicy.
Konfigurowanie warunku i zadania do wykonania między elementami
Aby dodać relację mapowania, która ocenia warunek i wykonuje zadanie po spełnieniu warunku, można użyć wielu funkcji, takich jak funkcja If, funkcja porównania, taka jak Greater, i zadanie do wykonania, takie jak Pomnożenie.
Przykład w tej sekcji oblicza rabat, który ma być stosowany, gdy ilość zakupu przekracza 20 elementów przy użyciu następujących funkcji:
- Większe: Sprawdź, czy ilość elementu jest większa niż 20.
- Jeśli: Sprawdź, czy funkcja Greater zwraca wartość true.
- Mnożenie: oblicz rabat, mnożąc cenę elementu o 10% i ilość elementu.
Aby sprawdzić, co się dzieje w kodzie podczas tworzenia mapowania, w prawym górnym rogu mapy wybierz pozycję Pokaż kod.
Jeśli jeszcze tego nie zrobiono, na mapie wybierz elementy docelowe, a następnie elementy źródłowe, które chcesz mapować.
W tym przykładzie wybierane są następujące elementy:
W lewym górnym rogu mapy wybierz pozycję Pokaż funkcje ().
Dodaj następujące funkcje do mapy: Greater, If i Multiply
Rozwiń wszystkie kształty funkcji, aby wyświetlić szczegóły funkcji i punkty połączenia.
Połączenie elementów źródłowych, funkcji i elementów docelowych w następujący sposób:
- Element ItemPrice schematu źródłowego do elementu ItemPrice schematu docelowego
- Element ItemQuantity schematu źródłowego do pola Value funkcji Greater
- Dane wyjściowe funkcji Greater w polu Warunek funkcji If
- Element ItemPrice schematu źródłowego do pola Mnożenie funkcji Multiplicand 0*
- Dane wyjściowe funkcji Pomnóż do pola Wartość funkcji If
- Dane wyjściowe funkcji If do elementu ItemDiscount schematu docelowego
Uwaga
W funkcji If wyraz ANY pojawia się po prawej stronie nazwy funkcji, co oznacza, że można przypisać wartość wyjściową do dowolnego elementu.
W następujących funkcjach na karcie Właściwości określ następujące wartości:
Function Parametr wejściowy i wartość Większa - Wartość 1. Element źródłowy o nazwie ItemQuantity
- Wartość 2: 20Pomnożyć - Multiplicand #1: element źródłowy o nazwie ItemPrice
- Mnożenie #2: .10If - Warunek: is-greater-than(ItemQuantity,20)
- Wartość: multiply(ItemPrice, .10)Na poniższej mapie przedstawiono gotowy przykład:
Okno widoku kodu odzwierciedla utworzoną relację mapowania:
Zapisz mapę
Gdy wszystko będzie gotowe, na pasku narzędzi mapy wybierz pozycję Zapisz.
Program Visual Studio Code zapisuje mapę jako następujące artefakty:
- Plik your-map-name.yml> w folderze projektu Artifacts>MapDefinitions <
- Plik your-map-name.xslt> w folderze Project Artifacts Mapy><
Generowanie pliku XSLT w dowolnym momencie
Aby wygenerować <plik your-map-name.xslt> w dowolnym momencie, na pasku narzędzi mapy wybierz pozycję Generuj XSLT.
Testowanie mapy
Aby potwierdzić, że transformacja działa zgodnie z oczekiwaniami, potrzebne będą przykładowe dane wejściowe.
Przed przetestowaniem mapy pamiętaj o wygenerowaniu najnowszego< pliku your-map-name.xslt.>
Na pasku narzędzi mapy wybierz pozycję Testuj.
W okienku Mapa testu w oknie Dane wejściowe wklej przykładowe dane wejściowe, a następnie wybierz pozycję Testuj.
Okienko testowania przechodzi na kartę Dane wyjściowe i pokazuje kod stanu testu i treść odpowiedzi.
Wywoływanie mapy z przepływu pracy w projekcie
W menu po lewej stronie programu Visual Studio Code wybierz pozycję Eksplorator (ikona plików), aby wyświetlić strukturę projektu aplikacji logiki.
Rozwiń folder, który ma nazwę przepływu pracy. Z menu skrótów pliku workflow.json wybierz pozycję Otwórz Projektant.
W projektancie przepływu pracy wykonaj następujące ogólne kroki, aby dodać wbudowaną akcję Operacje mapowania danych o nazwie Przekształć przy użyciu mapera danych XSLT.
W projektancie wybierz akcję Przekształć przy użyciu mapowania danych XSLT .
W wyświetlonym okienku informacji o akcji określ wartość Zawartość i pozostaw źródło mapy ustawione na aplikację logiki. Z listy Nazwa mapy wybierz plik mapy (.xslt), którego chcesz użyć.
Aby użyć tej samej akcji Transform using Data Mapper XSLT w witrynie Azure Portal, musisz dodać mapę do zasobu standardowej aplikacji logiki.
Tworzenie funkcji niestandardowej
Aby utworzyć własną funkcję, której można użyć z narzędziem Maper danych, wykonaj następujące kroki:
Utwórz plik XML (.xml), który ma zrozumiałą nazwę opisową, która opisuje przeznaczenie funkcji.
Jeśli masz wiele powiązanych funkcji, możesz użyć jednego pliku dla tych funkcji. Chociaż można użyć dowolnej nazwy pliku, zrozumiała nazwa pliku lub kategoria ułatwia identyfikowanie, znajdowanie i odnajdywanie funkcji.
W pliku XML należy użyć następującego schematu dla definicji funkcji:
<?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>
Każdy element XML o nazwie "function" implementuje funkcję stylu XSLT3.0 z kilkoma atrybutami. Lista funkcji mapowania danych zawiera nazwę funkcji, opis, nazwy parametrów i typy parametrów.
Poniższy przykład przedstawia implementację pliku SampleFunctions.xml :
<?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>
Na komputerze lokalnym otwórz folder projektu aplikacji logiki w warstwie Standardowa.
Otwórz folder Artifacts i utwórz następującą strukturę folderów, jeśli nie istnieje: Funkcje rozszerzenia>DataMapper.>
W folderze Functions zapisz plik XML funkcji.
Aby znaleźć funkcję niestandardową na liście funkcji narzędzia Maper danych, wyszukaj funkcję lub rozwiń kolekcję Funkcje niestandardowe.
Następne kroki
- Aby uzyskać informacje na temat przekształceń danych przy użyciu operacji B2B w usłudze Azure Logic Apps, zobacz Dodawanie map dla przekształceń w przepływach pracy za pomocą usługi Azure Logic Apps