مشاركة عبر


تحويل تعيين تدفقات البيانات إلى معلمة

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

تلميح

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

يدعم تعيين تدفقات البيانات في Azure Data Factory وخطوط تدفقات Synapse استخدام المعلمات. حدد المعلمات داخل تعريف تدفق البيانات واستخدمها في تعبيراتك. يتم تعيين قيم المعلمة بواسطة خط تدفق الاستدعاء عبر نشاط تنفيذ تدفق البيانات. لديك ثلاثة خيارات لتعيين القيم في تعبيرات نشاط تدفق البيانات:

  • استخدام لغة تعبير تدفق عناصر تحكم مسار المعالجة لتعيين قيمة ديناميكية
  • استخدام لغة تعبير تدفق البيانات لتعيين قيمة ديناميكية
  • استخدام لغة تعبير لتعيين قيمة حرفية ثابتة

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

إنشاء معلمات في تدفق بيانات تعيين

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

لقطة شاشة لإنشاء معلمات تدفق البيانات.

استخدام المعلمات في تدفق بيانات التعيين

يمكن الإشارة إلى المعلمات في أي تعبير لتدفق البيانات. تبدأ المعلمات بـ $ وهي غير قابلة للتغيير. ستجد قائمة المعلمات المتوفرة داخل منشئ التعبير ضمن علامة التبويب المعلمات .

لقطة شاشة توضح المعلمات المتوفرة في علامة التبويب

يمكنك إضافة معلمات إضافية بسرعة عن طريق تحديد "New parameter" وتحديد الاسم والنوع.

لقطة شاشة توضح المعلمات في علامة التبويب

استخدام الخدمات المرتبطة ذات المعلمات في تدفق بيانات التعيين

يمكن استخدام الخدمات المرتبطة ذات المعلمات في تدفق بيانات التعيين (إما لمجموعة البيانات أو أنواع المصادر المضمنة).

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

تظهر لقطة الشاشة استخدام معلمات الخدمة المرتبطة في تدفق البيانات.

بالنسبة لنوع مصدر مجموعة البيانات، يتم عرض معلمات الخدمة المرتبطة مباشرة في تكوين مجموعة البيانات.

تعيين قيم المعلمة من خط التدفقات

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

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

لقطة شاشة توضح علامة تبويب

معلمات تعبير خط التدفقات

تسمح لك معلمات تعبير خط التدفقات بالإشارة إلى متغيرات النظام، والدوال، ومعلمات خط التدفقات، والمتغيرات المشابهة لأنشطة خطوط التدفقات الأخرى. عند النقر فوق "Pipeline expression"، سيتم فتح التنقل الجانبي ما يسمح لك بإدخال تعبير باستخدام منشئ التعبير.

لقطة شاشة توضح جزء منشئ التعبير.

عند الرجوع إليها، يتم تقييم معلمات خط التدفقات ثم استخدام قيمتها في لغة تعبير تدفق البيانات. لا يحتاج نوع تعبير خط التدفقات إلى مطابقة نوع معلمة تدفق البيانات.

القيم الحرفية للسلسلة مقابل التعبيرات

عند تعيين معلمة تعبير خط تدفقات لسلسلة النوع، ستتم إضافة الاقتباسات بشكل افتراضي وسيتم تقييم القيمة كقيمة حرفية. لقراءة قيمة المعلمة كتعبير تدفق بيانات، حدد مربع التعبير بجوار المعلمة.

لقطة شاشة تعرض جزء معلمات تدفق البيانات والتعبير المحدد لمعلمة.

إذا كانت معلمة تدفق البيانات stringParam تشير إلى معلمة خط التدفقات بقيمة upper(column1).

  • إذا تم تحديد التعبير، يقيّم $stringParam إلى قيمة جميع الأحرف الكبيرة في العمود 1.
  • إذا لم يتم تحديد التعبير (السلوك الافتراضي)، $stringParam يتم تقييمه إلى 'upper(column1)'

التمرير في الطوابع الزمنية

في لغة تعبير مسار المعالجة، تستعيد متغيرات النظام مثل pipeline().TriggerTime والوظائف مثل utcNow() الطوابع الزمنية باعتبارها سلاسل بالتنسيق 'yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ'. لتحويلها إلى معلمات تدفق البيانات من نوع الطابع الزمني، استخدم استنتاج السلسلة لتضمين الطابع الزمني المطلوب في الدالة toTimestamp(). على سبيل المثال، لتحويل وقت تشغيل خط التدفقات إلى معلمة تدفق بيانات، يمكنك استخدام toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS').

لقطة شاشة تظهر علامة التبويب

إشعار

يمكن أن تدعم تدفقات البيانات ما يصل إلى 3 أرقام مللي ثانية فقط. تستخدم الدالة left() لاقتطاع الأرقام الإضافية.

مثال على معلمة خط التدفقات

لنفترض أن لديك معلمة عدد صحيح intParam تشير إلى معلمة خط تدفقات من النوع String، @pipeline.parameters.pipelineParam.

لقطة شاشة توضح علامة تبويب

تقوم @pipeline.parameters.pipelineParam بتعيين قيمة abs(1) في وقت التشغيل.

لقطة شاشة تظهر علامة تبويب

عند الإشارة إلى $intParam في تعبير مثل عمود مشتق، سيتم تقييم abs(1) إرجاع 1.

لقطة شاشة تظهر قيمة الأعمدة.

معلمات تعبير تدفق البيانات

يفتح تحديد "Data flow expression" منشئ تعبير تدفق البيانات. ستتمكن من الرجوع إلى الدوال والمعلمات الأخرى وأي عمود مخطط محدد خلال تدفق البيانات. سيتم تقييم هذا التعبير كما هو عند الإشارة إليه.

إشعار

إذا قمت بتمرير تعبير غير صالح أو الإشارة إلى عمود مخطط غير موجود في هذا التحويل، فسيتم تقييم المعلمة إلى null.

تمرير اسم عمود كمعلمة

النمط الشائع هو تمرير اسم العمود كقيمة معلمة. إذا تم تعريف العمود في مخطط تدفق البيانات، يمكنك الرجوع إليه مباشرة كتعبير سلسلة. في حال عدم تعريف العمود في المخطط، استخدم الدالة byName(). تذكر تحويل العمود إلى نوعه المناسب باستخدام دالة تحويل مثل toString().

على سبيل المثال، إذا أردت تعيين عمود سلسلة استناداً إلى معلمة columnName، يمكنك إضافة تحويل عمود مشتق يساوي toString(byName($columnName)).

تمرير اسم عمود كمعلمة

إشعار

في تعبيرات تدفق البيانات، لا يتم دعم استنتاج السلسلة (استبدال المتغيرات داخل السلسلة). بدلا من ذلك، قم بسلسلة التعبير إلى قيم سلسلة. على سبيل المثال، 'string part 1' + $variable + 'string part 2'