Transformace externích volání v 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.
Toky dat jsou k dispozici ve službě Azure Data Factory i v kanálech Azure Synapse. Tento článek se týká mapování toků dat. Pokud s transformacemi začínáte, přečtěte si úvodní článek Transformace dat pomocí mapování toku dat.
Transformace externích volání umožňuje datovým inženýrům volat externí koncové body REST po řádku, aby mohli do datových proudů toku dat přidat vlastní výsledky nebo výsledky třetích stran.
Konfigurace
Na konfiguračním panelu transformace externího volání nejprve vyberete typ externího koncového bodu, ke kterému se chcete připojit. Dalším krokem je mapování příchozích sloupců. Nakonec definujte výstupní datovou strukturu, kterou budou využívat podřízené transformace.
Nastavení
Zvolte typ vložené datové sady a přidruženou propojenou službu. Dnes se podporuje jenom REST. Uložené procedury SQL a další typy propojených služeb se ale zpřístupní také. Vysvětlení vlastností nastavení najdete v konfiguraci zdroje REST.
mapování.
Můžete zvolit automatické mapování pro předání všech vstupních sloupců do koncového bodu. Volitelně můžete sloupce nastavit ručně a přejmenovat sloupce odeslané do cílového koncového bodu.
Výstup
Tady definujete datovou strukturu pro výstup externího volání. Můžete definovat strukturu textu a také zvolit, jak uložit hlavičky a stav vrácený z externího volání.
Pokud se rozhodnete uložit text, záhlaví a stav, nejdřív zvolte název sloupce pro každý z nich, aby je mohly využívat podřízené transformace dat.
Základní datovou strukturu můžete definovat ručně pomocí syntaxe toku dat ADF. Pokud chcete definovat názvy sloupců a datové typy pro tělo, klikněte na import projekce a povolte ADF zjistit výstup schématu z externího volání. Tady je příklad struktury definice schématu jako výstup volání GET rozhraní REST API o počasí:
({@context} as string[],
geometry as (coordinates as string[][][],
type as string),
properties as (elevation as (unitCode as string,
value as string),
forecastGenerator as string,
generatedAt as string,
periods as (detailedForecast as string, endTime as string, icon as string, isDaytime as string, name as string, number as string, shortForecast as string, startTime as string, temperature as string, temperatureTrend as string, temperatureUnit as string, windDirection as string, windSpeed as string)[],
units as string,
updateTime as string,
updated as string,
validTimes as string),
type as string)
Příklady
Ukázky včetně skriptu toku dat
source(output(
id as string
),
allowSchemaDrift: true,
validateSchema: false,
ignoreNoFilesFound: false) ~> source1
Filter1 call(mapColumn(
id
),
skipDuplicateMapInputs: false,
skipDuplicateMapOutputs: false,
output(
headers as [string,string],
body as (name as string)
),
allowSchemaDrift: true,
store: 'restservice',
format: 'rest',
timeout: 30,
httpMethod: 'POST',
entity: 'api/Todo/',
requestFormat: ['type' -> 'json'],
responseFormat: ['type' -> 'json', 'documentForm' -> 'documentPerLine']) ~> ExternalCall1
source1 filter(toInteger(id)==1) ~> Filter1
ExternalCall1 sink(allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true,
store: 'cache',
format: 'inline',
output: false,
saveOrder: 1) ~> sink1
Skript toku dat
ExternalCall1 sink(allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true,
store: 'cache',
format: 'inline',
output: false,
saveOrder: 1) ~> sink1
Související obsah
- Pomocí zploštěné transformace můžete převést řádky na sloupce.
- Transformace odvozeného sloupce slouží k transformaci řádků.
- Další informace o nastavení REST najdete ve zdroji REST.