Parametrizace mapování toků dat
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.
Mapování toků dat v kanálech Azure Data Factory a Synapse podporuje použití parametrů. Definujte parametry uvnitř definice toku dat a použijte je ve výrazech. Hodnoty parametrů jsou nastaveny voláním kanálu prostřednictvím aktivity Execute Tok dat. Pro nastavení hodnot ve výrazech aktivity toku dat máte tři možnosti:
- Použití jazyka výrazu toku řízení kanálu k nastavení dynamické hodnoty
- Použití jazyka výrazů toku dat k nastavení dynamické hodnoty
- Nastavení statické hodnoty literálu pomocí jazyka výrazu
Pomocí této funkce můžete vytvářet toky dat pro obecné účely, flexibilní a opakovaně použitelné. Pomocí těchto parametrů můžete parametrizovat nastavení toku dat a výrazy.
Vytvoření parametrů v toku dat mapování
Pokud chcete do toku dat přidat parametry, kliknutím na prázdnou část plátna toku dat zobrazíte obecné vlastnosti. V podokně nastavení se zobrazí karta s názvem Parametr. Výběrem možnosti Nový vygenerujete nový parametr. Pro každý parametr musíte přiřadit název, vybrat typ a volitelně nastavit výchozí hodnotu.
Použití parametrů v mapování toku dat
Na parametry lze odkazovat v libovolném výrazu toku dat. Parametry začínají $ a jsou neměnné. Seznam dostupných parametrů najdete v Tvůrci výrazů na kartě Parametry .
Další parametry můžete rychle přidat tak, že vyberete Nový parametr a zadáte název a typ.
Použití parametrizovaných propojených služeb v toku dat mapování
Parametrizované propojené služby se dají použít v mapování toku dat (pro datové sady nebo vložené zdrojové typy).
Pro vložený typ zdroje se parametry propojené služby zveřejňují v nastavení aktivity toku dat v kanálu, jak je znázorněno níže.
U typu zdroje datové sady se parametry propojené služby zveřejňují přímo v konfiguraci datové sady.
Přiřazení hodnot parametrů z kanálu
Jakmile vytvoříte tok dat s parametry, můžete ho spustit z kanálu pomocí aktivity Spustit Tok dat. Po přidání aktivity na plátno kanálu se na kartě Parametry aktivity zobrazí dostupné parametry toku dat.
Při přiřazování hodnot parametrů můžete použít jazyk výrazu kanálu nebo jazyk výrazu toku dat založený na typech Sparku. Každý tok dat mapování může mít libovolnou kombinaci parametrů kanálu a toku dat.
Parametry výrazu kanálu
Parametry výrazu kanálu umožňují odkazovat na systémové proměnné, funkce, parametry kanálu a proměnné podobné jiným aktivitám kanálu. Když kliknete na výraz kanálu, otevře se boční navigace, která umožňuje zadat výraz pomocí tvůrce výrazů.
Při odkazování se vyhodnocují parametry kanálu a jejich hodnota se použije v jazyce výrazu toku dat. Typ výrazu kanálu nemusí odpovídat typu parametru toku dat.
Řetězcové literály vs. výrazy
Při přiřazování parametru výrazu kanálu řetězce typu se ve výchozím nastavení přidají uvozovky a hodnota se vyhodnotí jako literál. Pokud chcete číst hodnotu parametru jako výraz toku dat, zaškrtněte políčko výrazu vedle parametru.
Pokud parametr stringParam
toku dat odkazuje na parametr kanálu s hodnotou upper(column1)
.
- Pokud je výraz zaškrtnutý,
$stringParam
vyhodnotí se jako hodnota sloupce1 všechna velká písmena. - Pokud výraz není zaškrtnutý (výchozí chování),
$stringParam
vyhodnotí se jako'upper(column1)'
Předávání časových razítek
V jazyce výrazů kanálu systémové proměnné, jako jsou a funkce, jako pipeline().TriggerTime
jsou utcNow()
návratová časová razítka jako řetězce ve formátu rrrr-MM-dd'T'HH:mm:ss. SSSSSZ. Pokud je chcete převést na parametry toku dat s časovým razítkem typu, použijte interpolaci řetězců k zahrnutí požadovaného časového razítka do toTimestamp()
funkce. Pokud chcete například převést čas aktivace kanálu na parametr toku dat, můžete použít toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS')
.
Poznámka:
Tok dat mohou podporovat pouze 3 milisekundové číslice. Funkce left()
se používá k oříznutí dalších číslic.
Příklad parametru kanálu
Řekněme, že máte celočíselnou parametr intParam
, který odkazuje na parametr kanálu typu String, @pipeline.parameters.pipelineParam
.
@pipeline.parameters.pipelineParam
je přiřazena hodnota abs(1)
za běhu.
Pokud $intParam
je odkazován ve výrazu, jako je odvozený sloupec, vyhodnotí abs(1)
se návrat 1
.
Parametry výrazu toku dat
Výběr výrazu toku dat otevře tvůrce výrazů toku dat. V rámci toku dat budete moct odkazovat na funkce, další parametry a jakýkoli definovaný sloupec schématu. Tento výraz se vyhodnotí jako při odkazování.
Poznámka:
Pokud předáte neplatný výraz nebo odkazujete na sloupec schématu, který v této transformaci neexistuje, parametr se vyhodnotí jako null.
Předání názvu sloupce jako parametru
Běžným vzorem je předání názvu sloupce jako hodnoty parametru. Pokud je sloupec definovaný ve schématu toku dat, můžete na něj odkazovat přímo jako řetězcový výraz. Pokud sloupec není definován ve schématu, použijte byName()
funkci. Nezapomeňte přetypovat sloupec na příslušný typ pomocí funkce přetypování, například toString()
.
Pokud jste například chtěli namapovat sloupec řetězce na základě parametru columnName
, můžete přidat odvozenou transformaci sloupce rovnou toString(byName($columnName))
.
Poznámka:
Ve výrazech toku dat se nepodporuje interpolace řetězců (nahrazení proměnných uvnitř řetězce). Místo toho zřetězení výrazu do řetězcových hodnot. Například 'string part 1' + $variable + 'string part 2'