إنشاء خرائط لتحويل البيانات في Azure Logic Apps باستخدام Visual Studio Code

ينطبق على: Azure Logic Apps (قياسي)

لتبادل الرسائل التي لها تنسيقات XML أو JSON مختلفة في سير عمل Azure Logic Apps، يجب عليك تحويل البيانات من تنسيق إلى آخر، خاصة إذا كانت لديك فجوات بين بنيات المخطط المصدر والهدف. يساعدك تحويل البيانات على سد هذه الثغرات. لهذه المهمة، تحتاج إلى إنشاء خريطة تحدد التحويل بين عناصر البيانات في المخططات المصدر والهدف.

لإنشاء خريطة وتحريرها بصريا، يمكنك استخدام Visual Studio Code مع ملحق Azure Logic Apps (Standard) ضمن سياق مشروع تطبيق المنطق القياسي. توفر أداة Data Mapper تجربة موحدة لتعيين XSLT وتحويله باستخدام إيماءات السحب والإفلات، ومكتبة وظائف تم إنشاؤها مسبقا لإنشاء التعبيرات، وطريقة لاختبار الخرائط التي تقوم بإنشائها واستخدامها يدويا في مهام سير العمل.

بعد إنشاء الخريطة، يمكنك استدعاء هذه الخريطة مباشرة من سير عمل في مشروع تطبيق المنطق أو من سير عمل في مدخل Microsoft Azure. لهذه المهمة، يمكنك استخدام إجراء Data Mapper Operations المسمى Transform باستخدام Data Mapper XSLT في سير العمل.

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

القيود والمشاكل المعروفة

  • يعمل Data Mapper حاليا فقط في Visual Studio Code الذي يعمل على أنظمة تشغيل Windows.

  • يتوفر Data Mapper حاليا فقط في Visual Studio Code، وليس مدخل Azure، وفقط من داخل مشاريع تطبيق المنطق القياسي، وليس مشاريع تطبيق منطق الاستهلاك.

  • لا يدعم Data Mapper حاليا ملفات القيم المفصولة بفاصلة (.csv).

  • جزء عرض التعليمات البرمجية لمخطط البيانات للقراءة فقط حاليا.

  • تخطيط الخريطة وموضع العنصر تلقائي حاليا وقراءته فقط.

  • لاستدعاء الخرائط التي تم إنشاؤها باستخدام أداة Data Mapper، يمكنك فقط استخدام إجراء Data Mapper Operations المسمى Transform باستخدام Data Mapper XSLT. بالنسبة للخرائط التي تم إنشاؤها بواسطة أي أداة أخرى، استخدم إجراء عمليات XML المسمى Transform XML.

  • لاستخدام الخرائط التي تقوم بإنشائها باستخدام أداة Data Mapper ولكن في مدخل Microsoft Azure، يجب إضافتها مباشرة إلى مورد تطبيق المنطق القياسي.

المتطلبات الأساسية

  • Visual Studio Code وملحق Azure Logic Apps (Standard) لإنشاء مهام سير عمل تطبيق المنطق القياسي.

    إشعار

    يتم الآن دمج ملحق Data Mapper المنفصل مسبقا مع ملحق Azure Logic Apps (قياسي). لتجنب التعارضات، تتم إزالة أي إصدار موجود من ملحق Data Mapper عند تثبيت ملحق Azure Logic Apps (قياسي) أو تحديثه. بعد تثبيت الملحق أو تحديثه، يرجى إعادة تشغيل Visual Studio Code.

  • ملفات المخطط المصدر والهدف التي تصف أنواع البيانات المطلوب تحويلها. يمكن أن تحتوي هذه الملفات على التنسيقات التالية:

    • ملف تعريف مخطط XML مع ملحق ملف .xsd
    • ملف JavaScript Object Notation مع ملحق ملف .json
  • مشروع تطبيق منطقي قياسي يتضمن سير عمل عديم الحالة أو عديم الحالة مع مشغل على الأقل. إذا لم يكن لديك مشروع، فاتبع الخطوات التالية في Visual Studio Code:

    1. الاتصال إلى حساب Azure الخاص بك، إذا لم تكن قد قمت بالفعل.

    2. إنشاء مجلد محلي ومشروع تطبيق منطقي قياسي محلي وسير عمل ذي حالة أو عديم الحالة. أثناء إنشاء سير العمل، حدد فتح في النافذة الحالية.

  • عينة من بيانات الإدخال إذا كنت تريد اختبار الخريطة والتحقق من أن التحويل يعمل كما تتوقع.

  • لاستخدام الدالة Run XSLT ، يجب أن تكون مقتطفات XSLT موجودة في الملفات التي تستخدم ملحق اسم الملف .xml أو .xslt . يجب وضع قصاصات XSLT في المجلد InlineXslt في بنية مجلد المشروع المحلي: Artifacts>DataMapper>Extensions>InlineXslt. إذا لم تكن بنية المجلد هذه موجودة، فبادر بإنشاء المجلدات المفقودة.

إنشاء خريطة بيانات

  1. في القائمة اليسرى Visual Studio Code، حدد أيقونة Azure .

  2. في جزء Azure ، ضمن قسم Data Mapper ، حدد Create new data map.

    Screenshot showing Visual Studio Code with Data Mapper tool, Azure window open, and selected button for Create new data map.

  3. أدخل اسما لخريطة البيانات الخاصة بك.

  4. حدد المخططات المصدر والهدف باتباع الخطوات التالية:

    1. على سطح الخريطة، حدد إضافة مخطط مصدر.

      Screenshot showing Visual Studio Code with Data Mapper open, new data map, and selected option for Add a source schema.

    2. في جزء تكوين الذي يفتح، حدد إضافة استعراض جديد>.

    3. ابحث عن ملف مخطط المصدر وحدده، ثم حدد إضافة.

      إذا لم يظهر مخطط المصدر في النافذة فتح ، فمن قائمة نوع الملف، قم بتغيير ملف XSD (*.xsd) إلى كافة الملفات (*.*).

      يعرض سطح الخريطة الآن أنواع البيانات من المخطط المصدر. للحصول على الأمثلة في هذا الدليل،

    4. على سطح الخريطة، حدد إضافة مخطط هدف.

    5. في جزء تكوين الذي يفتح، حدد إضافة استعراض جديد>.

    6. ابحث عن ملف المخطط الهدف وحدده، ثم حدد إضافة.

      إذا لم يظهر المخطط الهدف في النافذة فتح ، فمن قائمة نوع الملف، قم بتغيير ملف XSD (*.xsd) إلى كافة الملفات (*.*).

      يعرض سطح الخريطة الآن أنواع البيانات من المخطط الهدف.

    بدلا من ذلك، يمكنك أيضا إضافة ملفات المخطط المصدر والهدف محليا إلى مشروع تطبيق المنطق الخاص بك في مجلد Artifacts/Schemas، بحيث تظهر في Visual Studio Code. في هذه الحالة، يمكنك تحديد مخطط المصدر والهدف في أداة Data Mapper في جزء Configure عن طريق تحديد Select existing، بدلا من Add new.

    عند الانتهاء، تبدو الخريطة مشابهة للمثال التالي:

    Screenshot showing the Data Mapper open and data map with sample source and target schemas.

يصف الجدول التالي أنواع البيانات المحتملة التي قد تظهر في مخطط:

رمز النوع مزيد من المعلومات
Icon representing an Array data type. صفيف يحتوي على عناصر أو عقد عناصر مكررة
Icon representing a Binary data type. ثنائي
Icon representing a Bool data type. مجموعة صواب أو خطأ فقط
Icon representing a Complex data type. ‏‏المعقدة كائن XML بخصائص تابعة، مشابه لنوع Object JSON
Icon representing a DateTime data type. DateTime
Icon representing a Decimal data type. عدد عشري
Icon representing an Integer data type. Integer روبوت Who الأرقام فقط
Icon representing the NULL symbol. قيمة فارغة ليس نوع بيانات، ولكنه يظهر عند وجود خطأ أو نوع غير صالح
Icon representing a Number data type. الرقم‬ عدد صحيح أو عشري ل JSON
Icon representing an Object data type. ‏‏الكائن كائن JSON بخصائص تابعة، مشابه لنوع XML المعقد
Icon representing a String data type. السلسلة

للتنقل في الخريطة، لديك الخيارات التالية:

  • للتحريك، اسحب المؤشر حول سطح الخريطة. أو، اضغط باستمرار على عجلة الماوس، أثناء تحريك الماوس أو كرة التتبع.

  • بعد نقل مستوى واحد لأسفل إلى الخريطة، في الزاوية السفلية اليمنى من الخريطة، يظهر شريط تنقل حيث يمكنك التحديد من الخيارات التالية:

    Screenshot showing map navigation bar.

    الخيار إيماءة بديلة
    التصغير على سطح الخريطة، اضغط على SHIFT + تحديد مزدوج.
    -او-
    مرر لأسفل باستخدام عجلة الماوس.
    التكبير على سطح الخريطة، حدد نقرا مزدوجا.
    -او-
    قم بالتمرير لأعلى باستخدام عجلة الماوس.
    تكبير/تصغير للاحتواء بلا
    إظهار (إخفاء) خريطة مصغرة بلا
  • للانتقال لأعلى مستوى واحد على الخريطة، على مسار التنقل في أعلى الخريطة، حدد مستوى سابقا.

تحديد عناصر الهدف والمصدر لتعيينها

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

  2. الآن، على الجانب الأيسر، من منطقة المخطط المصدر، حدد تحديد عنصر.

  3. في نافذة مخطط المصدر التي تظهر، حدد عنصرا مصدر واحدا أو أكثر لإظهاره على الخريطة.

    • لتضمين أصل وتوابع مباشرة، افتح القائمة المختصرة للأصل، وحدد إضافة توابع.

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

  4. عند الانتهاء، يمكنك إغلاق نافذة المخطط المصدر. يمكنك دائما إضافة المزيد من عناصر المصدر لاحقا. على الخريطة، في الزاوية العلوية اليمنى، حدد Show source schema (Icon for Show source schema.).

إنشاء تعيين مباشر بين العناصر

لإجراء تحويل مباشر بين العناصر ذات النوع نفسه في المخططات المصدر والهدف، اتبع الخطوات التالية:

  1. لمراجعة ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى من الخريطة، حدد إظهار التعليمات البرمجية.

  2. إذا لم تكن قد قمت بذلك بالفعل، على الخريطة، حدد العناصر المستهدفة ثم العناصر المصدر التي تريد تعيينها.

  3. حرك المؤشر فوق العنصر المصدر بحيث تظهر دائرة وعلامة الجمع (+).

    Screenshot showing the data map and starting a mapping between EmployeeID and ID in the source and target schema, respectively.

  4. اسحب خطا إلى العنصر الهدف بحيث يتصل الخط بالدائرة التي تظهر.

    Screenshot showing the data map and ending a mapping between EmployeeID and ID in the source and target schema, respectively.

    لقد أنشأت الآن تعيينا مباشرا بين كلا العنصرين.

    Screenshot showing the data map and a finished mapping between EmployeeID and ID in the source and target schema, respectively.

    تعكس نافذة عرض التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:

    Screenshot showing code view with direct mapping between EmployeeID and ID in the source and target schema, respectively.

إشعار

إذا قمت بإنشاء تعيين بين العناصر حيث لا تتطابق أنواع البيانات الخاصة بها، يظهر تحذير على العنصر الهدف، على سبيل المثال:

Screenshot showing direct mapping between mismatching data types.

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

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

يسرد الجدول التالي مجموعات الوظائف المتوفرة ووظائف المثال التي يمكنك استخدامها:

Group (المجموعة) أمثلة على الوظائف
التحصيل Average, Count, Direct Access, Distinct values, Filter, Index, Join, Maximum, Minimum, Reverse, Sort, Subsequence, Sum
التحويل إلى التاريخ، إلى عدد صحيح، إلى رقم، إلى سلسلة
التاريخ والوقت إضافة أيام
المقارنة المنطقية Equal, Exists, Greater, Greater or equal, If, If else, Is nil, Is null, Is number, Is string, Less, Less or equal, Logical AND, Logical NOT, Logical OR, Not equal
الرياضيات مطلق، إضافة، أركتانغنت، سقف، جيب التمام، قسمة، أسي، أسي (القاعدة 10)، أرضية، قسمة عدد صحيح، سجل، سجل (القاعدة 10)، وحدة نمطية، ضرب، طاقة، دائري، جيب الزاوية، جذر مربع، طرح، مماس
السلسلة تشير التعليمات البرمجية إلى سلسلة، Concat، Contains، Ends with، Length، Lowercase، Name، Regular expression matches، Regular expression replace، Replace، Starts with، String to code-points، Substring، Substring after، Substring before، Trim، Trim left، Trim right، Uppercase
الأداة المساعدة نسخ، خطأ، تنفيذ XPath، تنسيق التاريخ والوقت، تنسيق الرقم، تشغيل XSLT

على الخريطة، تبدو تسمية الدالة مثل المثال التالي ويتم ترميزها بالألوان استنادا إلى مجموعة الدالة. إلى الجانب الأيسر لاسم الدالة، يظهر رمز للدالة. إلى الجانب الأيمن لاسم الدالة، يظهر رمز لنوع بيانات إخراج الدالة.

Screenshot showing example function label.

إضافة دالة بدون علاقة تعيين

يحول المثال في هذا القسم نوع العنصر المصدر من نوع السلسلة إلى نوع التاريخ والوقت، الذي يطابق نوع العنصر الهدف. يستخدم المثال الدالة To date ، التي تأخذ إدخالا واحدا.

  1. لمراجعة ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى من الخريطة، حدد إظهار التعليمات البرمجية.

  2. إذا لم تكن قد قمت بذلك بالفعل، على الخريطة، حدد العناصر المستهدفة ثم العناصر المصدر التي تريد تعيينها.

  3. في الزاوية العلوية اليمنى من الخريطة، حدد Show functions (Icon for Show functions.).

    Screenshot showing source and target schema elements plus the selected function, Show functions.

  4. من قائمة الوظائف التي تفتح، ابحث عن الدالة التي تريد استخدامها وحددها، والتي تضيف الدالة إلى الخريطة. إذا لم تظهر الدالة مرئية على الخريطة، فحاول التصغير على سطح الخريطة.

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

    Screenshot showing the selected function named To date.

    إشعار

    إذا لم يكن هناك خط تعيين أو تم تحديده عند إضافة دالة إلى الخريطة، فستظهر الدالة على الخريطة، ولكنها غير متصلة بأي عناصر أو دالات أخرى، على سبيل المثال:

    Screenshot showing the disconnected function, To date.

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

  6. الاتصال الدالة إلى العنصرين المصدر والهدف.

    1. اسحب وارسم خطا بين عناصر المصدر والحافة اليسرى للدالة. يمكنك البدء إما من العناصر المصدر أو من الدالة .

      Screenshot showing start mapping between source element and function.

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

      Screenshot showing finish mapping between function and target element.

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

    Screenshot showing Properties tab for the function, To date.

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

    تعكس نافذة عرض التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:

    Screenshot showing code view with direct mapping relationship between source and target elements.

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

إضافة دالة إلى علاقة تعيين موجودة

عند وجود علاقة تعيين بالفعل بين عناصر المصدر والهدف، يمكنك إضافة الدالة باتباع الخطوات التالية:

  1. على الخريطة، حدد خط التعيين الذي قمت بإنشائه.

  2. حرك المؤشر فوق السطر المحدد، وحدد علامة إدراج دالة زائد (+) التي تظهر، على سبيل المثال:

    Screenshot shows Visual Studio Code with elements from source and target schemas with mapping relationship and option to Insert function.

  3. من قائمة الوظائف التي تفتح، ابحث عن الدالة التي تريد استخدامها وحددها.

    تظهر الدالة على الخريطة ويتم توصيلها تلقائيا بين العنصرين المصدر والهدف.

إضافة دالة مع مدخلات متعددة

المثال في هذا القسم تسلسل أنواع عناصر مصدر متعددة بحيث يمكنك تعيين النتائج إلى نوع العنصر الهدف. يستخدم المثال دالة Concat ، التي تأخذ مدخلات متعددة.

  1. لمراجعة ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى من الخريطة، حدد إظهار التعليمات البرمجية.

  2. إذا لم تكن قد قمت بذلك بالفعل، على الخريطة، حدد العناصر المستهدفة ثم العناصر المصدر التي تريد تعيينها.

  3. في الزاوية العلوية اليمنى من الخريطة، حدد Show functions (Icon for Show functions.).

    Screenshot showing source and target schema elements and the selected function named Show functions.

  4. من قائمة الوظائف التي تفتح، ابحث عن الدالة التي تريد استخدامها وحددها، والتي تضيف الدالة إلى الخريطة. إذا لم تظهر الدالة مرئية على الخريطة، فحاول التصغير على سطح الخريطة.

    يحدد هذا المثال الدالة Concat :

    Screenshot showing the selected function named Concat.

    إشعار

    إذا لم يكن هناك خط تعيين أو تم تحديده عند إضافة دالة إلى الخريطة، فستظهر الدالة على الخريطة، ولكن يتم قطع اتصالها بأي عناصر أو وظائف أخرى. إذا كانت الدالة تتطلب تكوينا، فستظهر نقطة حمراء في الزاوية العلوية اليسرى للدالة، على سبيل المثال:

    Screenshot showing the disconnected function, Concat.

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

  6. في جزء معلومات الدالة، في علامة التبويب Properties ، ضمن Inputs، حدد عناصر البيانات المصدر لاستخدامها كمدخلات.

    يحدد هذا المثال عناصر مصدر FirstName وLastName كإدخالات الدالة، والتي تضيف تلقائيا الاتصالات المعنية على الخريطة.

    Screenshot showing multiple source data elements selected as function inputs.

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

    Screenshot showing finished mapping from function with multiple inputs to target element.

    تعكس نافذة عرض التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:

    Screenshot showing code view with complex mapping relationship between source and target elements.

إنشاء تكرار حلقي بين الصفائف

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

  1. لمراجعة ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى من الخريطة، حدد إظهار التعليمات البرمجية.

  2. على الخريطة، في منطقة المخطط الهدف، حدد عنصر الصفيف الهدف وعناصر عنصر الصفيف الهدف التي تريد تعيينها.

  3. على الخريطة، في منطقة المخطط الهدف، قم بتوسيع عنصر الصفيف الهدف وعناصر الصفيف.

  4. في منطقة المخطط المصدر، أضف عنصر صفيف المصدر وعناصر عنصر الصفيف إلى الخريطة.

  5. إنشاء تعيين مباشر بين العنصرين المصدر والهدف.

    Screenshot showing the data map and drawing a connection between Name array items in the source and target arrays, Employee and Person, respectively.

    عند إنشاء علاقة تعيين بين زوج مطابق من عناصر الصفيف لأول مرة، يتم إنشاء علاقة تعيين تلقائيا على مستوى الصفيف الأصل.

    Screenshot showing loop mapping between the Name array items plus the source and target arrays, Employee and Person, respectively.

    تعكس نافذة عرض التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:

    Screenshot showing code view with looping relationship between source and target arrays, Employee and Person, respectively.

  6. متابعة تعيين عناصر الصفيف الأخرى.

    Screenshot showing continue looping mapping between other array items in source and target arrays.

إعداد شرط ومهمة لتنفيذها بين العناصر

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

يحسب المثال في هذا القسم خصما لتطبيقه عندما تتجاوز كمية الشراء 20 عنصرا باستخدام الدالات التالية:

  • أكبر: تحقق مما إذا كانت كمية الصنف أكبر من 20.
  • If: تحقق مما إذا كانت الدالة Greater ترجع true.
  • الضرب: احسب الخصم بضرب سعر العنصر بنسبة 10٪ وكمية الصنف.
  1. لمراجعة ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى من الخريطة، حدد إظهار التعليمات البرمجية.

  2. إذا لم تكن قد قمت بذلك بالفعل، على الخريطة، حدد العناصر المستهدفة ثم العناصر المصدر التي تريد تعيينها.

    يحدد هذا المثال العناصر التالية:

    Screenshot showing the data map and elements to map.

  3. في الزاوية العلوية اليمنى من الخريطة، حدد Show functions (Icon for Show functions.).

  4. أضف الدالات التالية إلى الخريطة: أكبر، وإذا، وضرب

  5. قم بتوسيع كافة أشكال الدالة لإظهار تفاصيل الدالة ونقاط الاتصال.

  6. الاتصال عناصر المصدر والوظائف والعناصر المستهدفة على النحو التالي:

    • عنصر ItemPrice للمخطط المصدر إلى عنصر ItemPrice للمخطط الهدف
    • عنصر ItemQuantity للمخطط المصدر إلى حقل القيمة للدالة الكبرى
    • إخراج الدالة Greater إلى حقل If function's Condition
    • عنصر ItemPrice الخاص بالمخطط المصدر إلى الحقل Multiplicand 0* الخاص بوظيفة الضرب
    • إخراج الدالة ضرب إلى حقل قيمة الدالة If
    • إخراج الدالة If إلى عنصر ItemDiscount الخاص بالمخطط الهدف

    إشعار

    في الدالة If ، تظهر الكلمة ANY على يمين اسم الدالة، مما يشير إلى أنه يمكنك تعيين قيمة الإخراج إلى أي شيء.

  7. في الدالات التالية، في علامة التبويب Properties ، حدد القيم التالية:

    الدالة معلمة الإدخال والقيمة
    اكبر - القيمة رقم 1: العنصر المصدر المسمى ItemQuantity
    - القيمة رقم 2: 20
    ضرب - Multiplicand #1: العنصر المصدر المسمى ItemPrice
    - ضرب رقم 2: .10
    If - الشرط: أكبر من (ItemQuantity،20)
    - القيمة: ضرب (ItemPrice، .10)

    تعرض الخريطة التالية المثال النهائي:

    Screenshot showing finished condition example.

    تعكس نافذة عرض التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:

    Screenshot showing code view with conditional mapping between source and target elements using the functions, Greater, If, and Multiply.

حفظ الخريطة

عند الانتهاء، على شريط أدوات الخريطة، حدد حفظ.

يحفظ Visual Studio Code الخريطة الخاصة بك على أنها البيانات الاصطناعية التالية:

  • ملف your-map-name.yml> في مجلد مشروع Artifacts>MapDefinitions<
  • ملف your-map-name.xslt> في مجلد المشروع Artifacts> الخرائط<

إنشاء ملف XSLT في أي وقت

لإنشاء <ملف your-map-name.xslt> في أي وقت، على شريط أدوات الخريطة، حدد Generate XSLT.

اختبار الخريطة

للتأكد من أن التحويل يعمل كما تتوقع، ستحتاج إلى عينة من بيانات الإدخال.

  1. قبل اختبار الخريطة، تأكد من إنشاء أحدث< ملف your-map-name.xslt.>

  2. على شريط أدوات الخريطة، حدد اختبار.

  3. في جزء Test map ، في نافذة Input ، الصق نموذج بيانات الإدخال، ثم حدد Test.

    يتحول جزء الاختبار إلى علامة التبويب Output ويعرض رمز حالة الاختبار والنص الأساسي للاستجابة.

استدعاء الخريطة من سير عمل في مشروعك

  1. في القائمة اليسرى Visual Studio Code، حدد Explorer (أيقونة الملفات) لعرض بنية مشروع تطبيق المنطق.

  2. قم بتوسيع المجلد الذي يحتوي على اسم سير العمل الخاص بك. من القائمة المختصرة لملف workflow.json، حدد Open المصمم.

  3. على مصمم سير العمل، اتبع هذه الخطوات العامة لإضافة الإجراء المضمن لعمليات Data Mapper المسمى Transform باستخدام Data Mapper XSLT.

  4. على المصمم، حدد إجراء Transform using Data Mapper XSLT .

  5. في جزء معلومات الإجراء الذي يظهر، حدد قيمة Content ، واترك Map Source معينا على Logic App. من قائمة اسم الخريطة، حدد ملف الخريطة (.xslt) الذي تريد استخدامه.

    Screenshot shows Visual Studio Code, Standard workflow designer, with selected action named Transform using Data Mapper XSLT and action properties.

    لاستخدام نفس إجراء Transform باستخدام Data Mapper XSLT في مدخل Microsoft Azure، يجب إضافة الخريطة إلى مورد تطبيق المنطق القياسي.

إنشاء دالة مخصصة

لإنشاء الدالة الخاصة بك التي يمكنك استخدامها مع أداة Data Mapper، اتبع الخطوات التالية:

  1. إنشاء ملف XML (.xml) له اسم ذي معنى يصف الغرض من الدالة.

    إذا كان لديك العديد من الدالات ذات الصلة، يمكنك استخدام ملف واحد لهذه الدالات. على الرغم من أنه يمكنك استخدام أي اسم ملف، إلا أن اسم الملف أو الفئة ذات المعنى يجعل من السهل التعرف على الوظائف والبحث عنها واكتشافها.

  2. في ملف XML، يجب استخدام المخطط التالي لتعريف الدالة:

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:element name="customfunctions">
          <xs:complexType>
             <xs:sequence>
                <xs:element maxOccurs="unbounded" name="function">
                   <xs:complexType>
                      <xs:sequence>
                         <xs:element maxOccurs="unbounded" name="param">
                            <xs:complexType>
                                <xs:attribute name="name" type="xs:string" use="required" />
                                <xs:attribute name="as" type="xs:string" use="required" />
                            </xs:complexType>
                         </xs:element>
                         <xs:any minOccurs="0" />
                      </xs:sequence>
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="as" type="xs:string" use="required" />
                      <xs:attribute name="description" type="xs:string" use="required" />
                   </xs:complexType>
                </xs:element>
             </xs:sequence>
          </xs:complexType>
       </xs:element>
    </xs:schema>
    

    ينفذ كل عنصر XML يسمى "دالة" دالة نمط XSLT3.0 مع عدد قليل من السمات الإضافية. تتضمن قائمة دالات Data Mapper اسم الدالة والوصف وأسماء المعلمات وأنواع المعلمات.

    يوضح المثال التالي تنفيذ ملف SampleFunctions.xml :

    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <customfunctions>
       <function name="age" as="xs:float" description="Returns the current age.">
          <param name="inputDate" as="xs:date"/> 
          <value-of select="round(days-from-duration(current-date() - xs:date($inputDate)) div 365.25, 1)"/>
       </function> 
       <function name="custom-if-then-else" as="xs:string" description="Evaluates the condition and returns corresponding value.">
          <param name="condition" as="xs:boolean"/>
          <param name="thenResult" as="xs:anyAtomicType"/>
          <param name="elseResult" as="xs:anyAtomicType"/>
          <choose>
             <when test="$condition">
                <value-of select="$thenResult"></value-of>
             </when>
             <otherwise>
                <value-of select="$elseResult"></value-of>
             </otherwise>
          </choose>
       </function>
    </customfunctions>
    
  3. على الكمبيوتر المحلي، افتح المجلد لمشروع تطبيق المنطق القياسي.

  4. افتح مجلد Artifacts، وأنشئ بنية المجلد التالية، إذا لم يكن موجودا: DataMapper>Extensions Functions>.

  5. في مجلد Functions ، احفظ ملف XML الخاص بالدالة.

  6. للعثور على الدالة المخصصة في قائمة دالات أداة Data Mapper، ابحث عن الدالة أو قم بتوسيع مجموعة الوظائف المخصصة.

الخطوات التالية