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ą.
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 .
Możesz szybko dodać dodatkowe parametry, wybierając pozycję Nowy parametr i określając nazwę i typ.
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.
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.
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ń.
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.
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().TriggerTime
utcNow()
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')
.
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
.
@pipeline.parameters.pipelineParam
jest przypisywana wartość abs(1)
w czasie wykonywania.
Jeśli $intParam
odwołanie jest przywoływane w wyrażeniu, takim jak kolumna pochodna, zwróci abs(1)
wartość .1
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 .
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'