Udostępnij za pośrednictwem


Parametryzacja przepływów mapowania danych

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Przepływy mapowania danych w potokach usług Azure Data Factory i Synapse obsługują używanie parametrów. Zdefiniuj parametry wewnątrz definicji przepływu danych i użyj ich w wyrażeniach. Wartości parametrów są ustawiane przez potok wywołujący za pośrednictwem działania Wykonaj Przepływ danych. Dostępne są trzy opcje ustawiania wartości w wyrażeniach działań przepływu danych:

  • Użyj języka wyrażeń przepływu sterowania potokiem, aby ustawić wartość dynamiczną
  • Ustawianie wartości dynamicznej przy użyciu języka wyrażeń przepływu danych
  • Użyj dowolnego języka wyrażeń, aby ustawić wartość literału statycznego

Użyj tej funkcji, aby przepływy danych korzystały z ogólnego przeznaczenia, elastycznego i wielokrotnego użytku. Za pomocą tych parametrów można sparametryzować ustawienia i wyrażenia przepływu danych.

Tworzenie parametrów w przepływie danych mapowania

Aby dodać parametry do przepływu danych, kliknij pustą część kanwy przepływu danych, aby wyświetlić ogólne właściwości. W okienku ustawień zostanie wyświetlona karta o nazwie Parametr. Wybierz pozycję Nowy , aby wygenerować nowy parametr. Dla każdego parametru należy przypisać nazwę, wybrać typ i opcjonalnie ustawić wartość domyślną.

Screenshot of create Data Flow parameters.

Używanie parametrów w przepływie danych mapowania

Do parametrów można odwoływać się w dowolnym wyrażeniu przepływu danych. Parametry zaczynają się od $ i są niezmienne. Listę dostępnych parametrów znajdziesz w konstruktorze wyrażeń na karcie Parametry .

Screenshot shows the available parameters in the Parameters tab.

Możesz szybko dodać dodatkowe parametry, wybierając pozycję Nowy parametr i określając nazwę i typ.

Screenshot shows the parameters in the Parameters tab with new parameters added.

Używanie sparametryzowanych połączonych usług w przepływie danych mapowania

Sparametryzowane połączone usługi mogą być używane w przepływie danych mapowania (w przypadku zestawu danych lub wbudowanych typów źródłowych).

W przypadku wbudowanego typu źródła parametry połączonej usługi są uwidocznione w ustawieniach działania przepływu danych w potoku, jak pokazano poniżej.

Screenshot shows the use of linked service parameters in the data flow.

W przypadku typu źródła zestawu danych parametry połączonej usługi są widoczne bezpośrednio w konfiguracji zestawu danych.

Przypisywanie wartości parametrów z potoku

Po utworzeniu przepływu danych z parametrami można go wykonać z potoku za pomocą działania Wykonaj Przepływ danych. Po dodaniu działania do kanwy potoku zostaną wyświetlone parametry przepływu danych dostępne na karcie Parametry działania.

Podczas przypisywania wartości parametrów można użyć języka wyrażeń potoku lub języka wyrażeń przepływu danych na podstawie typów platformy Spark. Każdy przepływ danych mapowania może mieć dowolną kombinację parametrów wyrażenia potoku i przepływu danych.

Screenshot shows the Parameters tab with Data Flow expression selected for the value of myparam.

Parametry wyrażenia potoku

Parametry wyrażenia potoku umożliwiają odwołowanie się do zmiennych systemowych, funkcji, parametrów potoku i zmiennych podobnych do innych działań potoku. Po kliknięciu przycisku Wyrażenie potoku zostanie otwarte okienko nawigacji bocznej, co umożliwi wprowadzenie wyrażenia przy użyciu konstruktora wyrażeń.

Screenshot shows the expression builder pane.

W przypadku przywołowania parametry potoku są oceniane, a następnie ich wartość jest używana w języku wyrażeń przepływu danych. Typ wyrażenia potoku nie musi być zgodny z typem parametru przepływu danych.

Literały ciągu a wyrażenia

Podczas przypisywania parametru wyrażenia potoku typu ciąg domyślnie cudzysłowy zostaną dodane, a wartość zostanie obliczona jako literał. Aby odczytać wartość parametru jako wyrażenie przepływu danych, zaznacz pole wyrażenia obok parametru.

Screenshot shows the Data flow parameters pane Expression selected for a parameter.

Jeśli parametr stringParam przepływu danych odwołuje się do parametru potoku o wartości upper(column1).

  • Jeśli wyrażenie jest zaznaczone, $stringParam oblicza wartość kolumny column1 wszystkie wielkie litery.
  • Jeśli wyrażenie nie jest zaznaczone (zachowanie domyślne), $stringParam ocenia wartość 'upper(column1)'

Przekazywanie sygnatur czasowych

W języku wyrażeń potoku zmienne systemowe, takie jak i funkcje, takie jak pipeline().TriggerTimeutcNow() znaczniki czasu powrotu jako ciągi w formacie "rrrr-MM-dd'T'HH:mm:ss. SSSSSSZ". Aby przekonwertować je na parametry przepływu danych sygnatury czasowej typu, użyj interpolacji ciągów, aby uwzględnić żądany znacznik czasu w toTimestamp() funkcji. Aby na przykład przekonwertować czas wyzwalacza potoku na parametr przepływu danych, możesz użyć polecenia toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS').

Screenshot shows the Parameters tab where you can enter a trigger time.

Uwaga

Przepływ danych mogą obsługiwać maksymalnie 3 milisekundy. Funkcja left() jest używana przycinanie dodatkowych cyfr.

Przykład parametru potoku

Załóżmy, że masz parametr intParam całkowity, który odwołuje się do parametru potoku typu String, @pipeline.parameters.pipelineParam.

Screenshot shows the Parameters tab with parameters named stringParam and intParam.

@pipeline.parameters.pipelineParam jest przypisywana wartość abs(1) w czasie wykonywania.

Screenshot shows the Parameters tab with the value of a b s (1) selected.

Jeśli $intParam odwołanie jest przywoływane w wyrażeniu, takim jak kolumna pochodna, zwróci abs(1) wartość .1

Screenshot shows the columns value.

Parametry wyrażenia przepływu danych

Wybranie pozycji Wyrażenie przepływu danych spowoduje otwarcie konstruktora wyrażeń przepływu danych. Będziesz mieć możliwość odwołowania się do funkcji, innych parametrów i dowolnej zdefiniowanej kolumny schematu w całym przepływie danych. To wyrażenie zostanie ocenione jako , gdy zostanie przywoływane.

Uwaga

Jeśli przekażesz nieprawidłowe wyrażenie lub odwołasz się do kolumny schematu, która nie istnieje w tej transformacji, parametr zwróci wartość null.

Przekazywanie nazwy kolumny jako parametru

Typowym wzorcem jest przekazanie nazwy kolumny jako wartości parametru. Jeśli kolumna jest zdefiniowana w schemacie przepływu danych, możesz odwoływać się do niej bezpośrednio jako wyrażenie ciągu. Jeśli kolumna nie jest zdefiniowana w schemacie, użyj byName() funkcji . Pamiętaj, aby rzutować kolumnę do odpowiedniego typu za pomocą funkcji rzutowania, takiej jak toString().

Jeśli na przykład chcesz zamapować kolumnę ciągu na podstawie parametru columnName, możesz dodać transformację kolumny pochodnej równą toString(byName($columnName))wartości .

Passing in a column name as a parameter

Uwaga

W wyrażeniach przepływu danych interpolacja ciągów (podstawianie zmiennych wewnątrz ciągu) nie jest obsługiwana. Zamiast tego połącz wyrażenie z wartościami ciągu. Na przykład 'string part 1' + $variable + 'string part 2'