تأكيد التحول في تعيين تدفق البيانات

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

تلميح

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

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

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

Assert type

التكوين

في لوحة تكوين تحويل التأكيد، ستختار نوع التأكيد، وتوفر اسماً فريداً للتأكيد، وسجلاً اختيارياً، وتعريف التعبير وعامل التسجيل الاختياري. سيشير جزء معاينة البيانات إلى السجلات التي فشلت في تأكيداتك. بالإضافة إلى ذلك، يمكنك اختبار كل علامة سجل في اتجاه المصب باستخدام isError() وhasError() للسجلات التي فشلت التأكيدات.

Assert settings

نوع التأكيد

  1. توقع صواب: يجب تقييم نتيجة تعبيرك إلى نتيجة حقيقية منطقية. استخدم هذا للتحقق من صحة نطاقات قيمة المجال في البيانات الخاصة بك.
  2. توقع فريد: عيّن عموداً أو تعبيراً كقاعدة تفرد في بياناتك. استخدم هذا لوضع علامة على السجلات المكررة.
  3. توقع موجود: هذا الخيار متاح فقط عندما تحدد بثاً وارداً ثانياً. ستنظر القائمة الموجودة في كلا الدفقين وتحدد ما إذا كانت السجلات موجودة في كلا الدفقين بناءً على الأعمدة أو التعبيرات التي حددتها. لإضافة الدفق الثاني للموجود، حدد Additional streams.

Assert configuration

فشل تدفق البيانات

حدد fail data flow إذا كنت ترغب في فشل نشاط تدفق البيانات على الفور بمجرد فشل قاعدة التأكيد.

معرف التأكيد

معرف التأكيد هو خاصية حيث ستقوم بإدخال اسم (سلسلة) للتأكيد الخاص بك. ستكون قادراً على استخدام المعرف لاحقاً في اتجاه تدفق البيانات باستخدام hasError() أو لإخراج تعليمة برمجية فشل التأكيد. يجب أن تكون معرفات التأكيد فريدة داخل كل تدفق بيانات.

وصف التأكيد

أدخل وسجلاً لسلسلة التأكيد الخاص بك هنا. يمكنك استخدام التعبيرات وقيم عمود سياق السجل هنا أيضاً.

عامل التصفية

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

تعبير

أدخل تعبيراً للتقييم لكل من تأكيداتك. يمكن أن يكون لديك تأكيدات متعددة لكل تحويل تأكيد. يتطلب كل نوع من أنواع التأكيد تعبيراً سيحتاج ADF إلى تقييمه لاختبار ما إذا كان التأكيد قد اجتاز أم لا.

تجاهل القيم الخالية

بشكل افتراضي، سيتضمن تحويل التأكيد القيم الخالية في تقييم تأكيد السجل. يمكنك اختيار تجاهل القيم الفارغة مع هذه الخاصية.

فشل سجل التأكيد المباشر

عندما يفشل التوكيد، يمكنك بشكل اختياري توجيه سجلات الخطأ هذه إلى ملف في Azure باستخدام علامة التبويب "Errors" في تحويل المصدر. سيكون لديك أيضًا خيار في تحويل المتلقي إلى عدم إخراج صفوف مع فشل التأكيد على الإطلاق بتجاهل صفوف الخطأ.

الأمثلة

source(output(
		AddressID as integer,
		AddressLine1 as string,
		AddressLine2 as string,
		City as string,
		StateProvince as string,
		CountryRegion as string,
		PostalCode as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source1
source(output(
		CustomerID as integer,
		AddressID as integer,
		AddressType as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source2
source1, source2 assert(expectExists(AddressLine1 == AddressLine1, false, 'nonUS', true(), 'only valid for U.S. addresses')) ~> Assert1

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

الأمثلة

source1, source2 assert(expectTrue(CountryRegion == 'United States', false, 'nonUS', null, 'only valid for U.S. addresses'),
	expectExists(source1@AddressID == source2@AddressID, false, 'assertExist', StateProvince == 'Washington', toString(source1@AddressID) + ' already exists in Washington'),
	expectUnique(source1@AddressID, false, 'uniqueness', null, toString(source1@AddressID) + ' is not unqiue')) ~> Assert1