Číst v angličtině

Sdílet prostřednictvím


Vnořené aktivity ve službě Azure Data Factory a Azure Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek vám pomůže pochopit vnořené aktivity ve službě Azure Data Factory a Azure Synapse Analytics a jak je používat, omezení a osvědčené postupy.

Přehled

Kanál pracovního prostoru Data Factory nebo Synapse může obsahovat aktivity toku řízení, které umožňují, aby se v nich mohly vyskytovat další aktivity. Tyto vnořené aktivity si můžete představit jako kontejnery, které obsahují jednu nebo více dalších aktivit, které se můžou spouštět v závislosti na aktivitě toku řízení nejvyšší úrovně.

Podívejte se na následující příklad s aktivitou If, která obsahuje jednu aktivitu.

Snímek obrazovky znázorňující příklad aktivity Podmínky If s obsaženou aktivitou uvnitř

Aktivity toku řízení

Následující aktivity toku řízení podporují vnořené aktivity:

Aktivita řízení Popis
Pro každou z nich Aktivita ForEach definuje ve vašem kanálu opakovaný tok řízení. Tato aktivita se používá k opakování v kolekci a spouští zadané aktivity ve smyčce. Smyčková implementace této aktivity se podobá struktuře smyčky Foreach používané v programovacích jazycích.
Aktivita podmínky If Podmínka If se dá použít k vytvoření větve na základě podmínky, která provádí vyhodnocení na hodnotu True nebo False. Aktivita podmínky If funguje stejně jako příkaz if v programovacích jazycích. Vyhodnotí sadu aktivit, když se podmínka vyhodnotí na true jinou sadu aktivit, když se podmínka vyhodnotí jako false.
Aktivita Until Implementuje smyčku Do-Until, která se podobá struktuře smyčky Do-Until v programovacích jazycích. Provádí ve smyčce sadu aktivit, dokud se podmínka přidružená k aktivitě nevyhodnotí jako pravdivá. Můžete zadat hodnotu časového limitu pro aktivitu do té doby.
Aktivita Switch Aktivita Switch poskytuje stejné funkce jako příkaz switch v programovacích jazycích. Vyhodnotí sadu aktivit odpovídající případu, která odpovídá vyhodnocení podmínky.

Existují dva primární způsoby, jak přejít na obsažené aktivity v vnořené aktivitě.

  1. Každá aktivita toku řízení, která podporuje vnořené aktivity, má kartu aktivity. Když vyberete kartu aktivity, zobrazí se ikona tužky, kterou můžete vybrat, abyste mohli přejít k podrobnostem na panelu vnitřních aktivit. Snímek obrazovky znázorňující příklad aktivity podmínky If s zvýrazněním na ikoně tužky pro navigaci

  2. Z aktivity na plátně kanálu můžete výběrem ikony tužky přejít k podrobnostem na vnitřním panelu aktivit. Kromě toho aktivity ForEach a Until podporují dvojitým kliknutím na aktivitu přejít k podrobnostem na vnitřní panel aktivit. Snímek obrazovky znázorňující příklad aktivity Podmínky If na plátně kanálu se zvýrazněnou ikonou tužky

Plátno kanálu se pak přepne na kontext kontejneru vnitřní aktivity, který jste vybrali. V horní části najdete také trasu s popisem cesty, kterou můžete vybrat a přejít zpět do nadřazeného kanálu. Snímek obrazovky znázorňující ukázkovou aktivitu podmínky If ve větvi true se zvýrazněním v popisku cesty a návratem zpět do nadřazeného kanálu

Omezení vkládání vnořených aktivit

Existují omezení aktivit, které podporují vnoření (ForEach, Until, Switch a If Condition) pro vnoření jiné vnořené aktivity. Konkrétně:

  • If a Switch lze použít v rámci aktivit ForEach nebo Until.
  • Pokud a Switch nelze použít uvnitř aktivit If a Switch.
  • ForEach nebo Until podporuje pouze jednu úroveň vnoření.

V části s osvědčenými postupy níže se dozvíte, jak tento scénář povolit pomocí dalších aktivit kanálu. Kromě toho se ověřovací aktivita nedá umístit do vnořené aktivity.

If a Switch lze použít v rámci aktivit ForEach nebo Until. ForEach nebo Until podporuje pouze jednoúrovňové vnoření If a Switch nelze použít uvnitř aktivit If a Switch.

Osvědčené postupy pro více úrovní vnořených aktivit

Pokud chcete mít logiku, která podporuje vnoření více než jedné úrovně hluboko, můžete pomocí aktivity spustit kanál uvnitř vnořené aktivity volat jiný kanál, který pak může mít jinou úroveň vnořených aktivit. Běžným případem použití pro tento model je smyčka ForEach, ve které potřebujete navíc smyčku založenou na logice vnitřních aktivit.

Příkladem tohoto vzoru by bylo, kdybyste měli systém souborů se seznamem složek a každá složka obsahuje více souborů, které chcete zpracovat. Tento model byste obecně dosáhli provedením následujícího postupu.

  1. Nejprve pomocí aktivity Získat metadata získáte seznam pouze složek.
  2. Předejte výsledek aktivity Získat metadata do seznamu položek aktivity ForEach. Každá iterace pak představuje jednu složku, která se má zpracovat.
  3. Na panelu vnitřních aktivit aktivity ForEach použijte jinou aktivitu Get Metadata k získání seznamu souborů uvnitř složky.
  4. Volání aktivity Spustit kanál, který má parametr pole a předat matici těchto názvů souborů.
  5. V podřízeném kanálu pak můžete použít jinou vnořenou aktivitu (například ForEach) s předaným seznamem polí, abyste iterovali soubory a provedli jednu nebo více sad vnitřních aktivit.

Nadřazený kanál by vypadal podobně jako v následujícím příkladu.

Snímek obrazovky znázorňující příklad nadřazeného kanálu, který volá podřízený kanál ve smyčce ForEach

Podřízený kanál by vypadal podobně jako v následujícím příkladu.

Snímek obrazovky znázorňující ukázkový podřízený kanál se smyčkou ForEach

Podrobné pokyny k vytváření kanálů a datových sad najdete v následujících kurzech.