Udostępnij za pośrednictwem


Zagnieżdżone działania w usługach Azure Data Factory i Azure Synapse Analytics

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ą !

Ten artykuł ułatwia zrozumienie zagnieżdżonych działań w usługach Azure Data Factory i Azure Synapse Analytics oraz sposobie ich używania, ograniczeń i najlepszych rozwiązań.

Omówienie

Potok usługi Data Factory lub obszaru roboczego usługi Synapse może zawierać działania przepływu sterowania, które umożliwiają zawarte w nich inne działania. Te zagnieżdżone działania można traktować jako kontenery, które przechowują co najmniej jedną inną czynność, która może być uruchamiana w zależności od aktywności przepływu sterowania najwyższego poziomu.

Zobacz poniższy przykład z działaniem If, które zawiera jedno działanie.

Zrzut ekranu przedstawiający przykładowe działanie If Condition z zawartym działaniem wewnątrz.

Działania przepływu kontrolnego

Następujące działania przepływu sterowania obsługują zagnieżdżone działania:

Działanie sterowania opis
Dla każdego Działanie ForEach definiuje powtarzający się przepływ sterowania w potoku. To działanie służy do iterowania po kolekcji i wykonuje określone zadania w pętli. Implementacja pętli tego działania przypomina strukturę pętli Foreach w językach programowania.
Działanie instrukcji warunkowej 'If' Instrukcja If Condition umożliwia tworzenie rozgałęzień na podstawie warunku, który ocenia, czy jest prawdziwy lub fałszywy. Działanie If Condition pełni taką samą rolę, co instrukcja if w językach programowania. Ocenia zestaw działań, gdy warunek jest obliczany na true i inny zestaw działań, gdy warunek ma wartość false.
Działanie Until Wprowadza pętlę Do-Until, przypominającą strukturę pętli Do-Until w językach programowania. Służy do wykonywania zestawu działań w pętli do momentu, gdy warunek skojarzony z działaniem zostanie obliczony na wartość true. Możesz określić wartość limitu czasu dla działania typu until.
Zmień aktywność Działanie Switch zapewnia te same funkcje, które instrukcja switch udostępnia w językach programowania. Ocenia zestaw działań odpowiadających przypadkowi, który spełnia ocenę warunku.

Istnieją dwa podstawowe sposoby przechodzenia do zawartych działań w zagnieżdżonej aktywności.

  1. Każde działanie przepływu sterowania, które obsługuje zagnieżdżone działania, ma kartę aktywności. Wybranie karty aktywności spowoduje, że pojawi się ikonka ołówka, którą można kliknąć, aby przejść do panelu wewnętrznych działań. Zrzut ekranu przedstawiający przykładowe działanie Jeśli warunek z wyróżnieniem na ikonie ołówka, aby przejść.

  2. Z poziomu działania na kanwie potoku możesz wybrać ikonę ołówka, aby przejść do szczegółów w panelu działań wewnętrznych. Ponadto działania ForEach i Until obsługują dwukrotne kliknięcie działania w celu wejścia do panelu działań wewnętrznych. Zrzut ekranu przedstawiający przykładowe działanie If Condition na kanwie potoku z wyróżnioną ikoną ołówka.

Kanwa potoku danych przejdzie następnie do kontekstu wybranego przez ciebie kontenera aktywności wewnętrznej. W górnej części będzie również dostępny ślad do stron nadrzędnych, który można wybrać, aby wrócić do potoku nadrzędnego. Zrzut ekranu przedstawiający przykładową aktywność Warunku Jeśli w gałęzi prawdy z wyróżnieniem na śladzie nawigacyjnym, aby wrócić do potoku nadrzędnego.

Ograniczenia osadzania zagnieżdżonych aktywności

Istnieją ograniczenia dotyczące działań, które obsługują zagnieżdżanie (ForEach, Until, Switch i If Condition) na potrzeby zagnieżdżenia innego zagnieżdżonego działania. Szczególnie:

  • Jeśli i Switch mogą być używane wewnątrz ForEach lub Until aktywności.
  • Jeśli i Switch nie mogą być używane wewnątrz działań If i Switch.
  • ForEach lub Until obsługują tylko jeden poziom zagnieżdżania.

Zapoznaj się z poniższą sekcją najlepszych praktyk, jak używać innych działań potoku, aby umożliwić ten scenariusz. Ponadto nie można umieścić działania sprawdzania poprawności wewnątrz zagnieżdżonego działania.

Jeśli i Switch mogą być używane wewnątrz ForEach lub Until aktywności. ForEach lub Until obsługuje tylko zagnieżdżanie na poziomie pojedynczym. If i Switch nie mogą być używane wewnątrz działań If i Switch.

Najlepsze praktyki dotyczące wielu poziomów zagnieżdżonych działań

Aby mieć logikę, która obsługuje zagnieżdżanie na więcej niż jednym poziomie, możesz użyć Execute Pipeline Activity wewnątrz zagnieżdżonego działania, aby wywołać inny potok, który może mieć kolejny poziom zagnieżdżonych działań. Typowym przypadkiem użycia tego wzorca jest pętla ForEach, w której należy dodatkowo iterować w oparciu o logikę w wewnętrznych działaniach.

Przykładem tego wzorca byłoby, gdyby istniał system plików z listą folderów, a każdy folder zawiera wiele plików, które chcesz przetworzyć. Ten wzorzec można wykonać, ogólnie, wykonując następujące czynności.

  1. Najpierw użyj działania Pobierz metadane, aby uzyskać listę tylko folderów.
  2. Przekaż wynik aktywności Pobierz Metadane do listy Elementy w aktywności ForEach. Każda iteracja reprezentuje następnie jeden folder do przetworzenia.
  3. W panelu działań wewnętrznych działania ForEach użyj innego działania Pobierz metadane, aby uzyskać listę plików w folderze.
  4. Wywołaj działanie Execute Pipeline z parametrem tablicy i przekaż tablicę tych nazw plików.
  5. W potoku podrzędnym można następnie użyć innego zagnieżdżonego działania (takiego jak ForEach) z przekazaną listą tablicy w celu iterowania plików i wykonywania co najmniej jednego zestawu działań wewnętrznych.

Potok nadrzędny będzie wyglądać podobnie do poniższego przykładu.

Zrzut ekranu przedstawiający przykładowy potok nadrzędny wywołujący potok podrzędny w pętli ForEach.

Podrzędny potok przetwarzania będzie wyglądał podobnie do poniższego przykładu.

Zrzut ekranu przedstawiający przykładową podrzędną kolejkę z pętlą ForEach.

Zapoznaj się z poniższymi samouczkami, aby uzyskać instrukcje krok po kroku dotyczące tworzenia potoków i zestawów danych.