التَمرين: إنشَاء واجهة برمجة تطبيقات (API) مخصصة
فِي هذا التَمرين، ستقوم بإنشَاء واجهة API مخصصة فِي Dataverse لتطبيق بعض المِنطق المخصص. بعد ذلك، ستستخدم واجهة API المخصصة مِن خطوة فِي تدفق Power Automate.
هام
استخدم بيئة اختبار مع توفِير Microsoft Dataverse. إذا لم يكن لديك واحدة، يمكنك الاشتراك فِي خطة المجتمع.
المهمة 1: إنشَاء مشروع واجهة API المخصصة
تنزيل وتثبيت Power Platform CLI.
قم بتشغيل الملف powerapps-cli لبدء التثبيت.
استخدم معالج الإعداد لإكمال الإعداد وحدد إنهاء.
افتح موجه الأوامر.
شغّل الأمر التالي لإنشَاء مجلد جَديد يسمى CustomAPILab.
md CustomAPILabقم بتغيير الدليل إلى المجلد الذي قمت بإنشائه.
cd CustomAPILabمِن المفترض أن تكون الآن فِي المجلد CustomAPIlAB. شغّل الأمر أدناه لتهيئة مكتبة فئات جَديدة للمكون الإضافِي Dataverse.
pac plugin initيجب أن يكون إنشَاء مكتبة فئات المكون الإضافِي Dataverse ناجحاً.

شغّل الأمر أدناه لفتح المشروع فِي Visual Studio.
start CustomAPILab.csprojمِن المفترض أن يفتح المشروع فِي Visual Studio.
انقر بزر الماوس الأيمِن فوق ملف Plugin1.cs وأعد تسميته إلى MatchPlugin.cs.
حدد نعم لإعادة تسمية حوار ملف.
انقر بزر الماوس الأيمِن فوق المشروع CustomAPILab وحدد إدارة حزم NuGet.
ابحث عن System.Text.RegularExpressions وحدد تثبيت.

افتح الملف MatchPlugin.cs.
أضف العبارة التالية أدناه.
using System.Text.RegularExpressions;أضف الأسطر التالية داخل أسلوب ExecuteDataversePlugin وبعد سطر السياق var. تحصل هذه الأسطر عَلى القيمة مِن معلمات الإدخال التي تمّ تمريرها عَلى استدعاء واجهة API المخصصة.
string input = (string)context.InputParameters["StringIn"];string pattern = (string)context.InputParameters["Pattern"];أضف السطر التالي للحصول عَلى خدمة التتبع.
ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));أضف السطر أدناه لكتابة قيمة الإدخال فِي التتبع.
tracingService.Trace("Provided input: " + input);قم بإضافة السطر التالي لاحقًا لاستدعاء طريقة Regex.Match.
var result = Regex.Match(input, pattern);اكتب النتيجة لتتبعها.
tracingService.Trace("Matching result: " + result.Success);وأخيرًا، قم بإضافة السطر التالي لتعيين معلمة الإخراج باعتبارها "مطابقة".
context.OutputParameters["Matched"] = result.Success;يجب أن تبدو طريقة التطبيق الخَاصة بك الآن كالتالي.

حدد بناء > بناء حل.
يجب أن يتم بناء المشروع بنجاح.
المهمة 2: تسجيل المكون الإضافِي لواجهة API المخصصة
افتح موجه الأوامر وقم بتشغيل الأمر أدناه لتشغيل Plugin Registration Tool.
pac tool prtحدد + إنشَاء اتصال جَديد.
حدد Office 365، وقدم بيانات اعتمادك، ثم حدد تسجيل الدخول.
حدد البيئة الصحيحة.
اختر تسجيل | تسجيل تجميع جَديد.

حدد ... ثم تصفح إلى المجلد CustomAPILab\bin\Debug\net462 folder.
حدد CustomAPILab.dll.
حدد مُوَافق.

حدد تسجيل المكونات الإضافِية المُحددة.
حدد مُوَافق فِي رسَالة النجاح. المكون الإضافِي الخَاص بك جاهز للاتصال بواجهة API المخصصة التي سنقوم بإنشائها فِي المهمة التالية.
المهمة 3: إنشَاء واجهة API المخصصة
انتقل إلى Power Apps Maker Portal وتأكد مِن وجودك فِي البيئة الصحيحة.
حدد الحلول فِي جزء التنقل الأيمِن.
حدد + حل جَديد.
أدخل معمل واجهة API مخصصة فِي اسم العرض.
حدد ناشر CDS الافتراضي فِي القائمة المِنسدلة "الناشر".
حدد إنشَاء. يؤدي هذا إلى إنشَاء حل مُخصص يشتمل عَلى مكوناتنا.
حدد + جَديد | المزيد | أخرى | API مخصصة
أدخِل المعلومات التالية:
الاسم الفريد: contoso_match
الاسم: تطابق
اسم العرض: تطابق
الوصف: تطابق سلسلة
نوع الربط: عمومي
فِي "نوع المكون الإضافِي" حدد رمز البحث وحدد موقع المكون الإضافِي.

حدد حفظ وإغلاق.
حدد تم.
حدد +جَديد | المزيد | أخرى | معلمة طلب واجهة API المخصصة.
بالنسبة لـ واجهة API المخصصة، حدد الرمز بحث وحدد مطابقة (واجهة API المخصصة الخَاصة بك).
أدخل StringIn للاسم الفريد، والاسم، واسم العرض، والوصف مِن أجل البساطة.
حدد سلسلة للنوع.
حدد حفظ وإغلاق.
حدد تم.
كرر الخطوات 13-17 وأضف معلمة طلب واجهة API مخصصة أخرى باسم النمط.
حدد جَديد | المزيد | أخرى | خاصية استجابة واجهة API المخصصة.
بالنسبة لـ واجهة API المخصصة، حدد الرمز بحث وحدد مطابقة (واجهة API المخصصة الخَاصة بك).
أدخل تمت المطابقة للاسم الفريد، والاسم، واسم العرض والوصف مِن أجل البساطة.
حدد مِنطقة لـ النوع.
حدد حفظ وإغلاق.
يجب أن تبدو قائمة مكون الحل لديك كالتالي.

المهمة 4: استخدَام واجهة API مخصصة مِن Power Automate
فِي الحل حدد + جَديد | التطبيق التلقائي | Cloud Flow | فوري.

أدخل مطابقة السلسلة للاسم Flow، ثم حدد المشغّل تشغيل تدفق يدوياً، وحدد إنشَاء.
حدد + خطوة جَديدة.
ابحث عن التطبيق واختر تطبيق إجراء غير مرتبط.

فِي قائمة "اسم الإجراء"، حدد contoso_match.
أدخل أي عنوان بريد إلكتروني صالح فِي StringIn.
أدخل التعبير العادي التالي فِي "النمط". هذا هو نمط بسيط للبريد الإلكتروني. تتوفر أمثلة أخرى.
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$يجب أن يبدو التَدفُّق الخَاص بك كالتالي.

حدد حفظ.
بعد اكتمال الحفظ، حدد اختبار.
حدد يدوياً ثم حدد اختبار.
حدد تشغيل التَدفُّق.
حدد تم.
بعد اكتمال التَدفُّق، حدد تطبيق إجراء غير مرتبط للتوسيع ورؤية النتائج.

لقد أكملت الآن إنشَاء إجراء مخصص واستخدَامه مِن تدفق Power Automate. يتوفر الآن إجراء واجهة API المخصصة contoso_match أيضا للاستدعاء مباشرة باستخدَام واجهة API للنظام الأساسي.