تَمرين - إنشَاء سير عمل يستخدم SQL

مكتمل

توضح هَذه الوحدَة كيفِية إنشَاء سير عمل يرَاقب مصدرًا للأصنَاف الجَديدة أو التي تم تغييرهَا، ومِن ثم نسخ تلك التغييرَاتٍ إلى وجهة مَا. يمكنك إنشَاء سير عمل مِن هَذَا النوع إذَا قَام المستخدمون بإدخَال البيَانَات فِي موقع وَاحد، لكن فريقك يحتَاج إلى تلك البيَانَات فِي موقع أو تنسيق مختلف.

فِي هَذه الوحدَة، تقوم بنسخ البيَانَات مِن قَائمة فِي ‎قوَائم Microsoft‎ وَالمصدر إلى جدول Microsoft Azure‎ قَاعدة بيَانَات SQL‎‎، المستهدفة.

ضع فِي اعتبارك أنه بإمكَانك نسخ البيَانَات عبر مئَات الخدمَات التي تدعمهَا Power Automate.

مهم

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

المُتطلَّبات الأسَاسِية

  • الوصول إلى مصدر بيَانَات ووجهة. لا تتضمِن هَذه الوحدَة الخطوَات المطلوبة لإنشَاء المصدر وَالوجهة.

  • الوصول إلى Power Automate.

  • فهم أسَاسي لكيفِية تخزين البيَانَات لديك.

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

نَصِيحة

وبالرغم مِن أنه يجب عليك توفِير بيَانَات لجميع الأعمدة المطلوبة عِند إدرَاج عنصر أو تحديثه، ليس مِن الضروري أن تتطَابق أسمَاء الأعمدة فِي المصدر وَالوجهة (مَا لم يكن نوع بيَانَات العمود محددًا). يحدد Power Automate الحقول المطلوبة لك.

نظرة عَامة سريعة عَلى الخطوَات

إذَا كنت رَاضيًا عن تجربتك مع Power Automate، فَاستخدم هذه الخطوَات السريعة لنسخ البيَانَات مِن مصدر بيَانَات إلى آخر.

  1. حدد المصدر الذي سترَاقبه وَالوجهة التي ستنسخ البيَانَات التي تم تغييرهَا إليهَا. تأكد مِن إمكَانية وصولك إلى كل مِن المصدر وَالوجهة.

  2. حدد عمودًا وَاحدًا عَلى الأقل يحدد الأصنَاف فِي المصدر وَالوجهة بشكل فريد. فِي المِثَال التَالي، نستخدم عمود العنوَان، ولكن يمكنك استخدَام أي أعمدة.

  3. قم بإعدَاد مشغّل يقوم بمرَاقبة المصدر بحثًا عن التغييرَاتٍ.

  4. ابحث فِي الوجهة للتحقق ممَا إذَا كَان الصنف الذي تم تغييره موجودًا.

  5. استخدم شرطًا مثل هَذَا:

    • إذَا لم يكن الصنف الجَديد أو الذي تم تغييره موجودًا فِي الوجهة، فقم بإنشَائه.

    • وإذَا كَان الصنف الجَديد أو الذي تم تغييره موجودًا فِي الوجهة، فقم بتحديثه.

  6. قم بتشغيل سير العمل الخَاص بك، ثم تأكد مِن نسخ الأصنَاف الجَديدة أو التي تم تغييرهَا مِن المصدر إلى الوجهة.

‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

إذَا لم تكن قد قمت بإنشَاء اتصَال بـ SharePoint أو قَاعدة بيَانَات SQL مِن قبل، فَاتبع التعليمَات عِند مطَالبتك بتسجيل الدخول.

فِيمَا يلي خطوَات إنشَاء المِنتج مفصلة.

مرَاقبة المصدر بحثًا عن التغييرَاتٍ

أولاً، يسَاعدنَا Copilot فِي بنَاء هيكل التَدفُّق.

  1. ابدأ تشغيل Power Automate وسجّل الدخول باستِخدَام حسَابك المؤسسي.

  2. فِي مِنتصف الصفحة الرئيسية، اكتب عِند إنشَاء عنصر أو تعديله فِي SharePointإضَافَة إجرَاء الحصول عَلى صفوف SQL. أضف شرطًا، وإذَا كَان العنصر موجودًا، فقم بتحديث العنصر فِي SQL، وإلا قم بإنشَاء عنصر جَديد فِي SQL. ثم اضغط إنشَاء.

  3. يسعى Copilot جَاهدًا لبنَاء سير عمل مِن خلال الإجرَاءَات بنَاءً عَلى الوصف ويوفر فرصة لمرَاجعة الإجرَاءَات التي تم إنشَاؤهَا. فِي هَذَا المِثَال، يمكنك أن تشَاهد:

    1. مربع الوصف حيث أدخلنَا الموجه الخَاص بنَا. يمكنك الاستمرَار فِي تحسين الإجرَاءَات فِي سير العمل هنَا.

    2. أضَاف Copilot عندمَا يتم إنشَاء عنصر أو تعديل المشغّل (SharePoint).

    3. أضَاف Copilot الإجرَاء Get Rows (SQL) وشرطًا وَالإجرَاء Update Row (SQL) فِي الفرع True للشرط وَالإجرَاء Insert Row (SQL) فِي الشرط وهو الفرع False.

    4. يأخذك زر التَالي إلى مصمم التَدفُّق.

  4. حدد التَالي لتَكوِين الإجرَاءَات بمجرد أن تصبح رَاضيًا عن التَدفُّق.

  5. سيطلب مِنك Copilot إنشَاء اتصَال إذَا لم تقم مسبقًا بإنشَاء اتصَال بقَاعدة بيَانَات SQL أو SharePoint. وإلا، فسترى علامَات اختيَار خضرَاء بجوَار كل اتصَال.

  6. حدد إنشَاء التَدفُّق بمجرد إنشَاء الاتصَالات.

  7. لفتح لوحة خصَائص الإجرَاء الموجودة عَلى اليسَار، حدد المشغّل عِند إنشَاء عنصر أو تعديله.

  8. أدخل عنوَان الموقع، ثم حدد اسم قَائمة القَائمة فِي قوَائم Microsoft التي يرَاقبهَا تدفقك بحثًا عن الأصنَاف الجَديدة أو المُحدَّثة.

ابحث فِي الوجهة عن عنصر موجود

بَعد ذلك، للتحقق ممَا إذَا كَان هنَاك عنصر موجود بالفعل فِي قَاعدة بيَانَات SQL، نقوم بتَكوِين الإجرَاء Get rows (SQL).

  1. لفتح لوحة خصَائص الإجرَاء الموجودة عَلى اليسَار، حدد الإجرَاء Get Rows.

  2. قم بتعيين اسم الخَادم، واسم قَاعدة البيَانَات، واسم الجدول لجدول SQL الذي ترغب فِي مرَاقبته.

  3. حدد المعلمَات المتقدمة وحدد استعلام التصفِية.

  4. فِي المربع استعلام التصفِية، أدخل CustomerID eq. ثم فِي قَائمة المحتوى الدينَاميكي، حدد الرمز المميز CustomerID.

    ‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

    تفترض هذه الخطوة أن قَائمة Microsoft وجدول SQL سيتطَابقَان فِي العمود CustomerID.

تحقق ممَا إذَا كنت تريد إنشَاء عنصر جَديد أو تحديث عنصر حَالي

بَعد ذلك، نقوم بتَكوِين الشرط للتحقق مِن وجود العنصر. إذَا كَان العنصر موجودًا، فقم بتحديث العنصر، وإلا قم بإنشَاء صف جَديد.

  1. لفتح الشرط الإجرَاء الموجودة عَلى اليسَار، حدد الإجرَاء Get Rows. حدد إدرَاج تعبير.

  2. ابحث عن الطول ثم حدد length(collection).

  3. دون مغَادرة جزء التعبيرَات المفتوح، حدد علامة تبويب ‎‎المحتوى الدينَاميكي‎.

  4. ضمِن فئة الحصول عَلى الصفوف، حدد النص الأسَاسي/القيمة، ثم حدد إضَافَة.

    نَصِيحة

    تأكد مِن أنك قمت بتَحديد القيمة مِن الفئة إحضَار الصفوف. لا تقم بتَحديد القيمة فِي فئة عِند إنشَاء صنف أو تعديله.

  5. فِي الحقل بالمِنتصف، حدد يسَاوي.

  6. فِي الحقل عَلى اليمين، أدخل 1 (وَاحد).

    يجب أن تبدو الآن بطَاقة الشرط كهذه الصورة.

    نَصِيحة

    تتيح إضَافَة الوظيفة length() للتدفق التحقق مِن قَائمة القيم. يُرجع Length عدد العنَاصر الموجودة فِي القَائمة. نعلم أن العنصر موجود فِي SQL ويحتَاج إلى التحديث إذَا كَان هنَاك عنصر وَاحد فِي قَائمة القيم.

عندمَا يحضر سير العمل لديك الأصنَاف مِن الوجهة، فهنَاك نتيجتَان محتملتَان.

النَاتج الخطوة التَالِية
الصنف موجود. تحديث الصنف.
الصنف غير موجود. إنشَاء صنف جَديد.

إنشَاء الصنف فِي الوجهة

الشرط هو التحقق ممَا إذَا كَان عنصر قَائمة Microsoft موجودًا فِي وجهة SQL. لكننَا بحَاجة إلى إخبار Power Automate مَا يجب القيَام به فور فحص الحَالة. إذَا كَان عنصر قَائمة Microsoft غير موجودٍ فِي SQL، فقم بإنشَاء صفٍ جَديدٍ، وإلا قم بتحديث عنصرٍ موجودٍ.

  1. حدد الإجرَاء Insert Row (SQL) عَلى الجَانب False مِن الشرط لفتح لوحة خصَائص الإجرَاء عَلى اليسَار.

  2. قم بتعيين اسم الخَادم ووَاسم قَاعدة البيَانَات واسم الجدول للجدول لإدرَاج الصنف الجَديد فِي (المعلومَات التي أدخلتهَا أعلاه).

    ‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

    تتوسع بطَاقة إدرَاج صف وتعرض جميع الحقول فِي الجدول المحدد. تكون الحقول المميزة بعلامة نجمية (*) مطلوبة ويجب ملؤهَا لكي يكون الصف صَالحًا.

  3. حدد كل حقل تريد ملأه، ثم أدخل البيَانَات.

    يمكنك إدخَال البيَانَات يدويًا، أو تَحديد رمز مميز وَاحد أو أكثر فِي جزء المحتوى الدينَاميكي، أو إدخَال أي تركيبة مِن نص ورموز مميزة فِي الحقول.

‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

تعرض بطَاقتَا إدرَاج صف وتحديث صف أسمَاء الأعمدة فِي جدول "قَاعدة بيَانَات SQL" الذي يتم استخدَامه فِي التَدفُّق. بالتَالي، قد تختلف البطَاقَات المعروضة فِي الصور الموجودة فِي هَذَا الإجرَاء عن البطَاقَات التي ترَاهَا.

تحديث الصنف فِي الوجهة

بَعد ذلك، نقوم بتَكوِين الإجرَاء لتحديث عنصر SQL.

  1. حدد الإجرَاء Update Row (SQL) عَلى الجَانب True مِن الشرط لفتح لوحة خصَائص الإجرَاء عَلى اليسَار.

  2. قم بتعيين اسم الخَادم واسم قَاعدة البيَانَات واسم الجدول.

  3. بالنسبة لحقل معرف الصف، يتعين علينَا الحصول عَلى المفتَاح الأسَاسي مِن قَاعدة بيَانَات SQL. فِي هَذَا المِثَال، هَذَا هو الحقل CustomerID مِن الإجرَاء Get Rows (SQL).

    عَادةً، تقوم Power Automate تلقَائيًا بإنشَاء حلقة For Each للتعَامل مع كل عنصر فِي القَائمة عندمَا نستخدم الإجرَاء Get Rows ثم نرغب فِي الوصول إلى خصَائص المخرجَات فِي الإجرَاءَات اللاحقة. ومع ذلك، فِي هذه الحَالة بالذَات، نعلم أن Power Automate تقوم دَائمًا بإرجَاع سجل وَاحد إذَا تم العثور عَلى CustomerID لأن CustomerID هو المفتَاح الأسَاسي فِي جدول SQL لدينَا. وهَذَا يعني أنه يمكننَا الوصول إلى الخَاصية CustomerID للعنصر الأول فِي القَائمة باستِخدَام التعبير التَالي:

    outputs('Get_Rows')?['body/value'][0]?['customerid']

  4. حدد المعلمة Row Id، ثم اكتب / وحدد "إدرَاج تعبير". ضع الكود أعلاه فِي شريط معادلة التعبير.

  5. حدد المعلمَات المتقدمة وحدد الحقول التي تريد تحديثهَا.

  6. احفَظ سير العمل الخَاص بك وقم بحفظه!

الآن، عندمَا يتغير صنف فِي قَائمتك، المصدر، يتم تشغيل سير العمل الخَاص بك. يقوم إمَا بإدرَاج صنف جَديد أو تحديث صنف موجود فِي قَاعدة بيَانَات SQL، الوجهة.

‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

لا يتم تشغيل سير العمل الخَاص بك عِند حذف صنف مِن المصدر. إذَا كَان هَذَا السينَاريو‏‎‏‎‏‎‏‎ مهمًا بالنسبة لك، ففكّر فِي إضَافَة عمود مِنفصل يشير إلى أن صنفًا مَا لم تعد هنَاك حَاجة إليه.