تحويل المكالمات الخارجية في تعيين تدفقات البيانات

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

تتوفر تدفقات البيانات في كل من Azure Data Factory وخطوط أنابيب Azure Synapse. تنطبق هذه المقالة على تعيين تدفقات البيانات. إذا كنت جديداً في مجال التحويلات، فيرجى الرجوع إلى المقالة التمهيدية تحويل البيانات باستخدام تدفق بيانات التعيين.

يتيح تحويل المكالمات الخارجية لمهندسي البيانات الاتصال بنقاط نهاية REST الخارجية صفاً تلو الآخر من أجل إضافة نتائج مخصصة أو جهات خارجية إلى تدفقات تدفق البيانات الخاصة بك.

التكوين

في لوحة تكوين تحويل المكالمات الخارجية، ستختار أولاً نوع نقطة النهاية الخارجية التي ترغب في الاتصال بها. الخطوة التالية هي تعيين الأعمدة الواردة. أخيراً، حدد بنية بيانات الإخراج التي سيتم استهلاكها بواسطة عمليات التحويل النهائية.

External call

إعدادات

اختر نوع مجموعة البيانات المضمنة والخدمة المرتبطة. اليوم، يتم دعم REST فقط. ومع ذلك، ستتوفر أيضاً إجراءات SQL المخزنة وأنواع الخدمات المرتبطة الأخرى. راجع تكوين مصدر REST للحصول على تفسيرات لخصائص الإعدادات.

التعيين

يمكنك اختيار التعيين التلقائي لتمرير جميع أعمدة الإدخال إلى نقطة النهاية. اختيارياً، يمكنك تعيين الأعمدة يدوياً وإعادة تسمية الأعمدة التي تم إرسالها إلى نقطة النهاية الهدف هنا.

الإخراج

هذا هو المكان الذي ستحدد فيه بنية البيانات لإخراج الاستدعاء الخارجي. يمكنك تحديد بنية الجسم وكذلك اختيار كيفية تخزين الرؤوس والحالة التي تم إرجاعها من الاستدعاء الخارجي.

إذا اخترت تخزين النص والرؤوس والحالة، فاختر أولاً اسم عمود لكل منها بحيث يمكن استهلاكها بواسطة تحويلات البيانات المتلقية للمعلومات.

يمكنك تحديد بنية بيانات الجسم يدوياً باستخدام صيغة تدفق بيانات ADF. لتحديد أسماء الأعمدة وأنواع البيانات للجسم، انقر فوق "import projection" واسمح لـ ADF باكتشاف إخراج المخطط من الاستدعاء الخارجية. فيما يلي مثال على بنية تعريف المخطط كإخراج من استدعاء الطقس REST API GET:

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

الأمثلة

العينات بما في ذلك البرنامج النصي تدفق البيانات

External call sample

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

البرنامج النصي لتدفق البيانات

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