Eşleme veri akışlarında dış çağrı dönüşümü

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Veri akışları hem Azure Data Factory işlem hatlarında hem de Azure Synapse Analytics işlem hatlarında kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz , Eşleme veri akışlarını kullanarak verileri dönüştürme başlıklı giriş makalesine bakın.

İpucu

Veri Akışı 2. Nesil'deki eşdeğer dönüştürme (Özel sütun) için bkz. Veri akışı kullanıcılarını eşlemek için Veri Akışı 2. Nesil kılavuzu.

Dış çağrı dönüşümü, veri mühendislerinin veri akışlarınıza özel sonuçlar eklemek amacıyla dış REST uç noktalarına satır bazında erişime çağrıda bulunmasına olanak tanır.

Yapılandırma

Dış çağrı dönüştürme yapılandırma panelinde, önce bağlanmak istediğiniz dış uç nokta türünü seçersiniz. Sonraki adım, gelen sütunları eşlemektir. Son olarak, aşağı akış dönüşümleri tarafından kullanılacak bir çıkış veri yapısı tanımlayın.

Dış arama

Ayarlar

Satır içi veri kümesi türünü ve ilişkili bağlı hizmeti seçin. Bugün yalnızca REST desteklenir. Ancak SQL saklı yordamları ve diğer bağlı hizmet türleri de kullanılabilir hale gelir. Ayarlar özelliklerinin açıklamaları için bkz. REST kaynak yapılandırması.

Haritalama

Tüm giriş sütunlarını uç noktaya geçirmek için otomatik eşlemeyi seçebilirsiniz. İsteğe bağlı olarak, sütunları el ile ayarlayabilir ve hedef uç noktaya gönderilen sütunları burada yeniden adlandırabilirsiniz.

Çıktı

Burası, dış çağrının çıkışı için veri yapısını tanımlayabileceğiniz yerdir. Gövdenin yapısını tanımlayabilir ve başlıkları ile dış çağrıdan döndürülen durumu nasıl saklayacağınızı seçebilirsiniz.

Gövdeleri, başlıkları ve durumları depolamayı seçerseniz, önce her birinin aşağı akış veri dönüşümleri tarafından kullanılabilmesi için bir sütun adı seçin.

ADF veri akışı söz dizimini kullanarak gövde veri yapısını el ile tanımlayabilirsiniz. Gövde için sütun adlarını ve veri türlerini tanımlamak için "projeksiyonu içeri aktar" seçeneğini belirleyin ve ADF'nin dış çağrıdan şema çıkışını algılamasına izin verin. Aşağıda, bir hava durumu REST API GET çağrısının çıktısı olarak örnek bir şema tanımı yapısı verilmiştir:

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

Örnekler

Veri akış betiğini içeren örnekler

Dış çağrı örneği

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

Veri akışı betiği

ExternalCall1 sink(allowSchemaDrift: true,
	validateSchema: false,
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true,
	store: 'cache',
	format: 'inline',
	output: false,
	saveOrder: 1) ~> sink1