Dela via


Extern anropstransformering i mappning av dataflöden

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Dataflöden är tillgängliga både i Azure Data Factory och Azure Synapse Pipelines. Den här artikeln gäller för mappning av dataflöden. Om du är nybörjare på transformeringar kan du läsa den inledande artikeln Transformera data med hjälp av ett mappningsdataflöde.

Med den externa samtalstransformeringen kan datatekniker anropa externa REST-slutpunkter rad för rad för att lägga till anpassade resultat eller resultat från tredje part i dina dataflödesströmmar.

Konfiguration

I konfigurationspanelen för extern samtalstransformering väljer du först den typ av extern slutpunkt som du vill ansluta till. Nästa steg är att mappa inkommande kolumner. Slutligen definierar du en utdatastruktur som ska användas av nedströmstransformeringar.

Externt anrop

Inställningar

Välj den infogade datamängdstypen och den associerade länkade tjänsten. I dag stöds endast REST. Dock blir även SQL-lagrade procedurer och andra länkade tjänsttyper tillgängliga. Se REST-källkonfigurationen för att få förklaringar av inställningsegenskaperna.

Mappning

Du kan välja automatisk mappning för att skicka alla indatakolumner till slutpunkten. Du kan också ange kolumnerna manuellt och byta namn på de kolumner som skickas till målslutpunkten här.

Output

Här definierar du datastrukturen för utdata från det externa anropet. Du kan definiera strukturen för brödtexten samt välja hur rubrikerna ska lagras och statusen som returneras från det externa anropet.

Om du väljer att lagra brödtexten, rubrikerna och statusen väljer du först ett kolumnnamn för var och en så att de kan användas av nedströmsdatatransformeringar.

Du kan definiera brödtextdatastrukturen manuellt med hjälp av ADF-dataflödessyntax. Om du vill definiera kolumnnamnen och datatyperna för brödtexten klickar du på "importprojektion" och låter ADF identifiera schemautdata från det externa anropet. Här är ett exempel på en schemadefinitionsstruktur som utdata från ett VÄDER REST API GET-anrop:

({@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)

Exempel

Exempel inklusive dataflödesskript

Exempel på externt anrop

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

Dataflödesskript

ExternalCall1 sink(allowSchemaDrift: true,
	validateSchema: false,
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true,
	store: 'cache',
	format: 'inline',
	output: false,
	saveOrder: 1) ~> sink1
  • Använd transformeringen Platta ut för att pivotleda rader till kolumner.
  • Använd transformering av härledda kolumner för att transformera rader.
  • Mer information om REST-inställningar finns i REST-källan .