Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
V paradigmatu nadřazeného a podřízeného potrubí můžete použít aktivitu Nastavit proměnnou k vrácení hodnot z podřízeného potrubí do nadřazeného potrubí. V následujícím scénáři máme podřízený kanál prostřednictvím aktivity spuštění kanálu. A chceme načíst informace z podřízeného kanálu, aby se pak použily ve volajícím kanálu.
Představuje návratovou hodnotu kanálu, slovník párů klíč-hodnota, který umožňuje komunikaci mezi podřízenými kanály a nadřazeným kanálem.
Předpoklad – volání dceřiného kanálu
Předpokladem je, že váš návrh musí obsahovat aktivitu Spuštění kanálu, která volá podřízený kanál s povolenou možností Čekat na dokončení.
Konfigurace návratové hodnoty kanálu v podřízeném potrubí
Rozšířili jsme aktivitu Nastavit proměnnou tak, aby zahrnovala systémovou proměnnou Návratová hodnota kanálu. Nemusíte je definovat na úrovni kanálu (na rozdíl od jiných proměnných, které v kanálu používáte).
- Vyhledejte Nastavit proměnnou v podokně Aktivity kanálu a přetáhněte aktivitu Nastavit proměnnou na plátno kanálu.
- Vyberte aktivitu Nastavit proměnnou na plátně, pokud ještě není vybraná, a poté vyberte kartu Proměnné a upravte její podrobnosti.
- Zvolte návratovou hodnotu pipeline pro typ proměnné.
- Výběrem možnosti Nový přidáte nový pár hodnot klíče.
- Počet párů klíč-hodnota, které je možné přidat, je omezen pouze limitem velikosti vráceného formátu JSON (4 MB).
Existuje několik možností pro typy hodnot, včetně
| Název typu | Popis |
|---|---|
| String | Konstantní řetězcová hodnota. Například: ADF je úžasné. |
| výraz | Umožňuje odkazovat na výstup z předchozích aktivit. Tady můžete použít interpolaci řetězců k zahrnutí hodnot v řádku výrazů, například "The value is @{guid()}". |
| Array | Očekává pole řetězcových hodnot. Stisknutím klávesy Enter oddělte hodnoty v poli. |
| logický | Pravda nebo Nepravda |
| Null | Stav držitele signalizačního místa; hodnota je konstantní null. |
| Int | Číselná hodnota celočíselného typu Příklad: 42 |
| Float | Číselná hodnota typu float. Příklad: 2.71828 |
| Objekt | Upozornění pouze na složité případy použití Umožňuje vložit seznam párů klíčových hodnot pro hodnotu. |
Hodnota typu objektu je definována takto:
[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}},
{"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]
Načítání hodnoty ve volajícím kanálu
Návratová hodnota kanálu podřízeného potrubí se stává výstupem aktivity Spustit potrubí. Informace můžete načíst pomocí @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. Případ použití je neomezený. Můžete například použít
- Hodnota int z podřízeného kanálu pro definování doby čekání pro čekací aktivitu.
- Řetězcová hodnota definující adresu URL pro webovou aktivitu.
- Datová část hodnoty výrazu pro aktivitu skriptu pro účely protokolování.
Při odkazování na návratové hodnoty potrubí existují dvě znatelné upozornění.
- Pomocí typu Objekt můžete dále rozšířit do vnořeného objektu JSON, například @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- Pomocí typu Array můžete v listu zadat index s @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. Číslo je nulové indexované, což znamená, že začíná číslem 0.
Poznámka
Ujistěte se, že název klíče, na který odkazujete, existuje ve vaší podřízené pipeline. Tvůrce výrazů ADF nemůže potvrdit referenční kontrolu za vás. Pipeline selže, pokud v datové části chybí odkazovaný klíč.
Zvláštní aspekty
I když můžete do kanálu zahrnout více aktivit Set Pipeline Return Value, je důležité zajistit, aby se v kanálu spustil pouze jeden z nich.
Abyste předešli dříve popsanému problému s chybějícím klíčem při volání kanálu, doporučujeme mít stejný seznam klíčů pro všechny větve v podřízeném kanálu. Zvažte použití typů null pro klíče, které nemají hodnoty v konkrétní větvi.
Jazyk výrazů Azure Data Factory přímo nepodporuje vložené objekty JSON. Je třeba správně zřetězit řetězce a výrazy.
Například pro následující výraz JSON:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }Ekvivalentní výraz Azure Data Factory by byl:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Související obsah
Další informace o další související aktivitě toku řízení: