إنشاء سير عمل تطبيق منطقي قياسي في Azure Logic Apps أحادي المستأجر باستخدام Visual Studio Code

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

يوضح هذا الدليل الإرشادي كيفية إنشاء مثال لسير عمل تكامل يعمل في Azure Logic Apps أحادي المستأجر باستخدام Visual Studio Code مع ملحق Azure Logic Apps (Standard). قبل إنشاء سير العمل هذا، ستقوم بإنشاء مورد تطبيق منطقي قياسي، والذي يوفر الإمكانات التالية:

  • يمكن أن يتضمن logic app العديد من مهام سير عملذات الحالة وعديمة الحالة.

  • تشغل مهام سير العمل في نفس التطبيق المنطقي والمستأجر في نفس العملية مثل وقت تشغيل Azure Logic Apps، لذا فهم يشاركون نفس الموارد ويقدمون أداءً أفضل.

  • يمكنك إنشاء مهام سير العمل وتشغيلها واختبارها محليا باستخدام بيئة تطوير Visual Studio Code.

    عندما تكون مستعدا، يمكنك نشر تطبيق المنطق الخاص بك إلى Azure حيث يمكن تشغيل سير العمل الخاص بك في بيئة Azure Logic Apps أحادية المستأجر أو في بيئة خدمة التطبيقات v3 (خطط App Service المستندة إلى Windows فقط). يمكنك أيضا نشر وتشغيل سير العمل الخاص بك في أي مكان يمكن ل Kubernetes تشغيله، بما في ذلك Azure أو Azure Kubernetes Service أو محليا أو حتى موفري السحابة الآخرين، بسبب وقت تشغيل Azure Logic Apps المضمن في حاويات.

    إشعار

    نشر تطبيق المنطق الخاص بك إلى مجموعة Kubernetes حاليا في المعاينة العامة.

    لمزيد من المعلومات حول Azure Logic Apps أحادية المستأجر، راجع المستأجر الفردي مقابل متعدد المستأجرين في Azure Logic Apps.

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

تلميح

إذا لم يكن لديك حساب Office 365، فيمكنك استخدام أي إجراء آخر متوفر يمكنه إرسال رسائل من حساب بريدك الإلكتروني، على سبيل المثال، Outlook.com.

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

لقطة شاشة تعرض كود Visual Studio ومشروع logic app وسير العمل.

في أثناء التقدم، ستكمل هذه المهام عالية المستوى:

  • أنشئ مشروعًا لـ logic app الخاص بك و سير عمل فارغًا ذا حالة.
  • أضف مشغلاً وباشر بالعمل.
  • شغل، واختبر، وصحح، وراجع سجل التشغيل محليًا.
  • ابحث عن تفاصيل اسم المجال للوصول إلى جدار الحماية.
  • وزع إلى Azure، والذي يشمل تمكينًا اختياريًا Application Insights.
  • تحكم في logic app المستخدم في Visual Studio Code ومدخل Microsoft Azure.
  • تمكين محفوظات التشغيل لسير العمل عديم الحالة.
  • تمكين Application Insights أو فتحه بعد التوزيع.

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

تمكن من الوصول والاتصال

  • إذا كنت تخطط لإنشاء مشاريع تطبيق منطقي قياسي محليا وتشغيل مهام سير العمل باستخدام الموصلات المضمنة التي تعمل محليا في وقت تشغيل Azure Logic Apps، فلن تحتاج إلى المتطلبات التالية. ومع ذلك، تأكد من أن لديك الاتصال التالي وبيانات اعتماد حساب Azure لنشر مشروعك أو نشره من Visual Studio Code إلى Azure، أو استخدام الموصلات المدارة التي تعمل في Azure العمومية، أو الوصول إلى موارد تطبيق المنطق القياسي ومهام سير العمل المنشورة بالفعل في Azure:

    • الوصول إلى الإنترنت بحيث بإمكانك تنزيل المتطلبات والاتصال من Visual Studio Code بحساب Azure الخاص بك والاستخدام من Visual Studio Code إلى Azure.

    • حساب واشتراك Azure. إذا لم يكن لديك اشتراك، فيجب التسجيل للحصول على حساب Azure مجاني.

  • لإنشاء نفس مثال سير العمل في هذه المقالة، تحتاج إلى حساب بريد إلكتروني Office 365 Outlook يستخدم حساب Microsoft للعمل أو المؤسسة التعليمية لتسجيل الدخول.

    إذا اخترت موصل بريد إلكتروني آخر، مثل Outlook.com، فلا يزال بإمكانك اتباع المثال، والخطوات العامة هي نفسها. ومع ذلك، قد تختلف خياراتك في بعض الطرق. على سبيل المثال، إذا كنت تستخدم موصل Outlook.com، فاستخدم حساب Microsoft الشخصي بدلًا من ذلك لتسجيل الدخول.

الأدوات

  1. قم بتنزيل Visual Studio Code وتثبيته، وهو مجاني.

  2. قم بتنزيل وتثبيت ملحق حساب Azure ل Visual Studio Code بحيث يكون لديك تجربة شائعة واحدة لتسجيل الدخول إلى Azure وتصفية الاشتراك عبر جميع ملحقات Azure في Visual Studio Code. يتضمن دليل الكيفية هذا الخطوات التي تستخدم هذه التجربة.

  3. قم بتنزيل وتثبيت تبعيات Visual Studio Code التالية لنظام التشغيل المحدد باستخدام أي من الأسلوبين:

    تثبيت جميع التبعيات تلقائيا

    بدءا من الإصدار 2.81.5، يتضمن ملحق Azure Logic Apps (قياسي) ل Visual Studio Code مثبت تبعية يقوم تلقائيا بتثبيت جميع التبعيات المطلوبة في مجلد ثنائي جديد ويترك أي تبعيات موجودة دون تغيير. لمزيد من المعلومات، راجع البدء بسهولة أكبر باستخدام ملحق Azure Logic Apps (قياسي) ل Visual Studio Code.

    يتضمن هذا الملحق التبعيات التالية:

    Dependency ‏‏الوصف
    C# لـVisual Studio Code تمكين وظيفة F5 لتشغيل سير العمل الخاص بك.
    Azurite ل Visual Studio Code يوفر مخزن بيانات ومحاكيا محليا لاستخدامه مع Visual Studio Code بحيث يمكنك العمل على مشروع تطبيق المنطق وتشغيل مهام سير العمل في بيئة التطوير المحلية. إذا كنت لا تريد بدء تشغيل Azurite تلقائيا، يمكنك تعطيل هذا الخيار:

    1. في القائمة ملف، حدد إعدادات التفضيلات>.

    2. في علامة التبويب User، حدد Extensions>Azure Logic Apps (Standard) .

    3. ابحث عن الإعداد المسمى Azure Logic Apps Standard: Auto Start Azurite، وقم بإلغاء تحديد خانة الاختيار المحددة.
    .NET SDK 6.x.x يتضمن .NET Runtime 6.x.x، وهو شرط أساسي لوقت تشغيل Azure Logic Apps (قياسي).
    Azure Functions Core Tools - إصدار 4.x تثبيت الإصدار استنادا إلى نظام التشغيل الخاص بك (Windows أو macOS أو Linux).

    تشمل هذه الأدوات إصدارًا من نفس وقت التشغيل يعمل على تشغيل وظائف Azure، والتي يستخدمها ملحق Azure Logic Apps (قياسي) في Visual Studio Code.
    Node.js الإصدار 16.x.x ما لم يكن إصدار أحدث مثبتا بالفعل مطلوب لتمكين إجراء عمليات التعليمات البرمجية المضمنة الذي يقوم بتشغيل JavaScript.

    لا يقوم المثبت بتنفيذ المهام التالية:

    • تحقق مما إذا كانت التبعيات المطلوبة موجودة بالفعل.
    • تثبيت التبعيات المفقودة فقط.
    • تحديث الإصدارات القديمة من التبعيات الموجودة.
    1. قم بتنزيل وتثبيت ملحق Azure Logic Apps (قياسي) ل Visual Studio Code، بدءا من الإصدار 2.81.5).

    2. في Visual Studio Code، في شريط النشاط، حدد Extensions. (لوحة المفاتيح: اضغط على Ctrl+Shift+X)

    3. في جزء الملحقات ، افتح قائمة علامات الحذف (...)، وحدد تثبيت من VSIX.

    4. ابحث عن ملف VSIX الذي تم تنزيله وحدده.

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

    5. عند ظهور المطالبة التالية، حدد نعم (مستحسن) لتأكيد رغبتك في تثبيت التبعيات المطلوبة تلقائيا:

      تظهر لقطة الشاشة مطالبة بتثبيت التبعيات تلقائيا.

    6. أعد تحميل Visual Studio Code، إذا لزم الأمر.

    7. تأكد من ظهور التبعيات بشكل صحيح في المجلد التالي:

      C:\Users\<your-user-name>\.azurelogicapps\dependencies\<dependency-name>

    8. تأكد من إعدادات الملحق التالية في Visual Studio Code:

      1. في القائمة ملف، حدد إعدادات التفضيلات>.

      2. في علامة التبويب User ، حدد Extensions>Azure Logic Apps (Standard) .

      3. راجع الإعدادات التالية:

        إعداد الملحق القيمة‬
        مسار التبعيات C:\Users\<your-user-name>\.azurelogicapps\dependencies
        مهلة التبعية 60 ثانية
        مسار ثنائي Dotnet C:\Users\<your-user-name>\.azurelogicapps\dependencies\DotNetSDK\dotnet.exe
        مسار ثنائي ل Func Core Tools C:\Users\<your-user-name>\.azurelogicapps\dependencies\FuncCoreTools\func
        مسار ثنائي JS للعقدة C:\Users\<your-user-name>\.azurelogicapps\dependencies\NodeJs\node
        البدء التلقائي ل Azurite مُمَكّن
        وقت تصميم البدء التلقائي مُمَكّن
    9. إذا كان لديك مشروع تطبيق منطقي موجود مع مهام محددة خصيصا مخزنة في ملف .vscode/tasks.json ، فتأكد من حفظ ملف tasks.json في مكان آخر قبل فتح المشروع.

      عند فتح مشروعك، تتم مطالبتك بتحديث ملف tasks.json لاستخدام التبعيات المطلوبة. إذا اخترت المتابعة، يقوم الملحق بالكتابة فوق ملف tasks.json .

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

      الإعلام الإجراء
      هل تبدأ دائما عملية وقت تصميم الخلفية عند التشغيل؟ لفتح مصمم سير العمل بشكل أسرع، حدد نعم (مستحسن).
      هل تريد تكوين Azurite لبدء التشغيل التلقائي عند تشغيل المشروع؟ لبدء تخزين Azurite تلقائيا عند فتح المشروع، حدد Enable AutoStart. في الجزء العلوي من Visual Studio Code، في نافذة الأوامر التي تظهر، اضغط على Enter لقبول المسار الافتراضي:

      C\Users\<your-user-name>\.azurelogicapps\.azurite

    المشاكل المعروفة في المعاينة

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

      "لا يمكن تحديد موقع .NET Core SDK: خطأ في تشغيل dotnet -- info: Error: Command failed: dotnet --info 'dotnet is not recognized as an internal or external command, operable program, or batch file. لا يتم التعرف على "dotnet" كأمر داخلي أو خارجي أو برنامج قابل للتشغيل أو ملف دفعي. . لن يتم تمكين تصحيح أخطاء .NET Core. تأكد من تثبيت .NET Core SDK ومن أنه على المسار."

      تحصل على هذه الرسالة لأن إطار عمل .NET Core لا يزال قيد التثبيت عند تنشيط الملحق. يمكنك اختيار تعطيل هذه الرسالة بأمان.

      إذا واجهت مشكلة في فتح مشروع تطبيق منطقي موجود أو بدء مهمة تصحيح الأخطاء (tasks.json) لبدء مضيف func، وتظهر هذه الرسالة، فاتبع هذه الخطوات لحل المشكلة:

      1. أضف المسار الثنائي dotnet إلى متغير ENVIRONMENT PATH.

        1. على شريط مهام Windows، في مربع البحث، أدخل متغيرات البيئة، وحدد تحرير متغيرات بيئة النظام.

        2. في المربع خصائص النظام، في علامة التبويب خيارات متقدمة، حدد متغيرات البيئة.

        3. في المربع متغيرات البيئة، من قائمة User variables for <your-user-name> ، حدد PATH، ثم حدد Edit.

        4. إذا لم تظهر القيمة التالية في القائمة، فحدد جديد لإضافة القيمة التالية:

          C:\Users\<your-user-name>\.azurelogicapps\dependencies\DotNetSDK

        5. عند الانتهاء، حدد موافق.

      2. أغلق جميع نوافذ Visual Studio Code، وأعد فتح مشروعك.

    • إذا كانت لديك مشكلات في تثبيت التبعيات الثنائية والتحقق من صحتها، على سبيل المثال:

      • مشكلات أذونات Linux
      • تحصل على الخطأ التالي: <الملف أو المسار> غير موجود
      • يتعثر التحقق من الصحة في <اسم> التبعية.

      اتبع هذه الخطوات لتشغيل الأمر التحقق من صحة التبعيات الثنائية وتثبيتها مرة أخرى:

      1. من القائمة عرض، حدد لوحة الأوامر.

      2. عند ظهور نافذة الأمر، أدخل الأمر Validate and install binary dependencies وقم بتشغيله.

    • إذا لم يكن لديك .NET Core 7 أو إصدار أحدث مثبتا، وقمت بفتح مساحة عمل Azure Logic Apps التي تحتوي على مشروع Azure Functions، فستتلقى الرسالة التالية:

      حدثت مشاكل أثناء تحميل المشروع [function-name].csproj. راجع السجل للحصول على التفاصيل.

      لا يؤثر هذا المكون المفقود على مشروع Azure Functions، لذا يمكنك تجاهل هذه الرسالة بأمان.

    تثبيت كل تبعية بشكل منفصل

    Dependency ‏‏الوصف
    .NET SDK 6.x.x يتضمن .NET Runtime 6.x.x، وهو شرط أساسي لوقت تشغيل Azure Logic Apps (قياسي).
    Azure Functions Core Tools - إصدار 4.x - Windows: استخدم إصدار Microsoft Installer (MSI)، وهو func-cli-X.X.XXXX-x*.msi.
    - macOS
    - Linux

    تشمل هذه الأدوات إصدارًا من نفس وقت التشغيل يعمل على تشغيل وظائف Azure، والتي يستخدمها ملحق Azure Logic Apps (قياسي) في Visual Studio Code.

    في حالة كان لديك تثبيت أقدم من هذه الإصدارات، فألغي تثبيت هذا الإصدار أولاً، أو تأكد من أن متغير بيئة PATH يشير إلى الإصدار الذي تقوم بتنزيله وتثبيته.
    Node.js الإصدار 16.x.x ما لم يكن إصدار أحدث مثبتا بالفعل مطلوب لتمكين إجراء عمليات التعليمات البرمجية المضمنة الذي يقوم بتشغيل JavaScript.

    ملاحظة: بالنسبة إلى Windows، قم بتنزيل إصدار MSI. في حالة استخدامك إصدار ZIP بدلا من ذلك، يجب عليك توفير Node.js يدويا باستخدام متغير بيئة PATH لنظام التشغيل الخاص بك.
  4. إذا قمت بالفعل بتثبيت إصدار ملحق Azure Logic Apps (قياسي) الذي يقوم تلقائيا بتثبيت جميع التبعيات (معاينة)، فتخط هذه الخطوة. وإلا، فقم بتنزيل وتثبيت ملحق Azure Logic Apps (قياسي) ل Visual Studio Code.

    1. في Visual Studio Code، على الشريط الجانبي الأيسر، تأكد من تحديد ⁧⁩Extensions⁧⁩.

    2. في مربع البحث extensions، أدخل azure logic apps standard. من قائمة النتائج، حدد Azure Logic Apps (Standard) > Install.

      بعد اكتمال التثبيت، يظهر الملحق في القائمة Extensions: Installed.

      تظهر لقطة الشاشة Visual Studio Code مع تثبيت ملحق Azure Logic Apps (قياسي).

      تلميح

      في حالة عدم ظهور الامتداد في القائمة المثبتة، فحاول إعادة تشغيل Visual Studio Code.

    حاليا، يمكنك تثبيت كل من ملحقات الاستهلاك (متعدد المستأجرين) والمقاييس (المستأجر الفردي) في نفس الوقت. تختلف تجارب التطوير عن بعضها البعض في بعض النواحي، ولكن اشتراك Azure الخاص بك يمكن أن يتضمن كلا من أنواع logic app الاستهلاك القياسي. في Visual Studio Code، تعرض نافذة Azure جميع تطبيقات المنطق المنشورة والمستضافة من Azure في اشتراك Azure، ولكنها تنظم تطبيقاتك بالطرق التالية:

    • قسم Logic Apps (Consumption): جميع تطبيقات منطق الاستهلاك في اشتراكك.

    • قسم الموارد : جميع تطبيقات المنطق القياسية في اشتراكك. في السابق، ظهرت هذه التطبيقات المنطقية في قسم Logic Apps (Standard)، والذي انتقل الآن إلى قسم الموارد .

  5. لتشغيل المشغلات والإجراءات المستندة إلى خطاف الويب محليا، مثل مشغل HTTP Webhook المضمن، في Visual Studio Code، ستحتاج إلى إعداد إعادة التوجيه لعنصر URL رد الاتصال.

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

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

    تنبيه

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

إعداد Visual Studio Code

  1. للتأكد من تثبيت كافة الملحقات بشكل صحيح، أعد تحميل Visual Studio Code أو أعد تشغيله.

  2. تأكد من أن Visual Studio Code يبحث تلقائيًا عن تحديثات الامتداد ويثبتها حتى تحصل كافة الملحقات الخاصة بك على آخر التحديثات. خلاف ذلك، يتعين عليك إلغاء تثبيت الإصدار القديم يدويا وتثبيت أحدث إصدار.

    1. في القائمة ملف، انتقل إلى إعدادات التفضيلات > .

    2. في علامة التبويب المستخدم، انتقل إلى ملحقات الميزات > .

    3. تأكد من تحديد تحديثات التحقق التلقائي، ومن تعيين التحديث التلقائي إلى كافة الملحقات.

  3. تأكد من تعيين إعداد Azure Logic Apps Standard: Project Runtime لملحق Azure Logic Apps (Standard) إلى الإصدار ~4:

    إشعار

    يعد هذا الإصدار مطلوب لاستخدام إجراءات عمليات التعليمات البرمجية المضمنة.

    1. في القائمة ملف، انتقل إلى إعدادات التفضيلات > .

    2. في علامة التبويب User ، انتقل إلى > Extensions > Azure Logic Apps (Standard) .

      على سبيل المثال، بإمكانك العثور على إعداد Azure Logic Apps Standard: Project Runtime هنا أو استخدام مربع البحث للعثور على إعدادات أخرى:

      تظهر لقطة الشاشة إعدادات Visual Studio Code لملحق Azure Logic Apps (قياسي).

الاتصال بحساب Azure الخاص بك

  1. في شريط نشاط التعليمات البرمجية الخاص بـ Visual Studio، حدد أيقونة Azure.

    تظهر لقطة الشاشة شريط نشاط Visual Studio Code وأيقونة Azure المحددة.

  2. في نافذة Azure، ضمن Resources، حدد Sign in to Azure. عندما تظهر صفحة مصادقة Visual Studio Code، سجل الدخول باستخدام حساب Azure الخاص بك.

    تظهر لقطة الشاشة نافذة Azure والارتباط المحدد لتسجيل الدخول إلى Azure.

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

    1. في القائمة الخاصة بالاشتراكات، انقل المؤشر إلى جانب الاشتراك الأول حتى يظهر الزر Select Subscriptions (أيقونة عامل التصفية). تحديد أيقونة التصفية.

      تظهر لقطة الشاشة نافذة Azure مع الاشتراكات وأيقونة التصفية المحددة.

      أو، في شريط المعلومات الخاص بـ Visual Studio Code، حدد حساب Azure الخاص بك.

    2. عند ظهور قائمة اشتراكات أخرى، حدد الاشتراكات التي تريدها، ثم تأكد من تحديد OK.

أنشئ مشروعًا محليًا

قبل أن تتمكن من إنشاء تطبيق المنطق الخاص بك، أنشئ مشروعًا محليًا بحيث يمكنك إدارة logic app وتشغيله واستخدامه من Visual Studio Code. يعد المشروع الأساسي مشابهًا لمشروع Azure Functions، المعروف أيضًا باسم مشروع تطبيق الوظيفة. ومع ذلك، تعد أنواع المشاريع هذه منفصلة عن بعضها، لذلك لا يمكن أن توجد logic apps وتطبيقات الوظائف في نفس المشروع.

  1. على الكمبيوتر، أنشئ مجلدًا محليًا فارغا لاستخدامه للمشروع الذي ستنشئه لاحقا في Visual Studio Code.

  2. في Visual Studio Code، أغلق كافة المجلدات المفتوحة.

  3. في نافذة Azure ، على شريط أدوات قسم مساحة العمل، من قائمة Azure Logic Apps ، حدد Create New Project.

    تظهر لقطة الشاشة نافذة Azure وشريط أدوات مساحة العمل وقائمة Azure Logic Apps مع تحديد إنشاء مشروع جديد.

  4. إذا طلب منك جدار حماية Windows Defender منح الوصول إلى الشبكة ل Code.exe، وهو Visual Studio Code، و، func.exeوهو Azure Functions Core Tools، فحدد الشبكات الخاصة، مثل شبكة المنزل أو العمل > السماح بالوصول.

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

    تظهر لقطة الشاشة مربع Select Folder ومجلد المشروع الجديد مع تحديد الزر Select.

  6. من قائمة القوالب التي تظهر، حدد Stateful Workflow أو Stateless Workflow. يحدد هذا المثال Stateful Workflow.

    تظهر لقطة الشاشة قائمة قوالب سير العمل مع تحديد سير عمل Stateful.

  7. أدخل اسمًا لسير العمل واضغط على Enter. يستخدم هذا المثال Stateful-Workflow كاسم.

    تظهر لقطة الشاشة مربع إنشاء سير عمل ذو حالة جديدة (3/4) واسم سير العمل، Stateful-Workflow.

    إشعار

    يمكن أن تحصل على خطأ يسمى azureLogicAppsStandard.createNewProject مع رسالة الخطأ، يتعذر الكتابة إلى إعدادات مساحة العمل لأن azureFunctions.suppressProject ليس تكوينا مسجلا. في حالة قيامك بذلك، فحاول تثبيت ملحق Azure Functions ل Visual Studio Code، إما مباشرة من Visual Studio Marketplace أو من داخل Visual Studio Code.

  8. إذا كان Visual Studio Code يطالبك بفتح مشروعك في Visual Studio Code الحالي أو في نافذة Visual Studio Code جديدة، فحدد فتح في النافذة الحالية. وإلا، فحدد فتح في نافذة جديدة.

    ينتهي Visual Studio Code من إنشاء مشروعك.

  9. من شريط نشاط Visual Studio، افتح جزء Explorer، إذا لم يكن مفتوحا بالفعل.

    يعرض جزء Explorer المشروع الخاص بك، والذي يتضمن الآن ملفات المشروع التي أنشئت تلقائيًا. على سبيل المثال، يشتمل المشروع على مجلد يعرض اسم سير العمل الخاص بك. داخل هذا المجلد، يشتمل ملف workflow.json على تعريف JSON الأساسي لسير العمل.

    تظهر لقطة الشاشة جزء Explorer مع مجلد المشروع ومجلد سير العمل وملف workflow.json.

    في Visual Studio Code، يشتمل مشروع logic app على أحد الأنواع التالية:

    • تعتمد على حزمة الملحقات (Node.js)، وهي النوع الافتراضي
    • NuGet مستند إلى الحزم (.NET)، والذي يمكنك تحويله من النوع الافتراضي

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

    بالنسبة إلى المشروع الافتراضي المستند إلى الحزمة، يحتوي مشروعك على بنية مجلد وملف مشابه للمثال التالي:

    MyBundleBasedLogicAppProjectName
    | .vscode
    | Artifacts
      || Maps 
         ||| MapName1
         ||| ...
      || Schemas
         ||| SchemaName1
         ||| ...
    | WorkflowName1
      || workflow.json
      || ...
    | WorkflowName2
      || workflow.json
      || ...
    | workflow-designtime
    | .funcignore
    | connections.json
    | host.json
    | local.settings.json
    

    على مستوى جذر مشروعك، يمكنك العثور على الملفات والمجلدات التالية مع عناصر أخرى:

    الاسم مجلد أو ملف ‏‏الوصف
    .vscode مجلد يحتوي على ملفات الإعدادات المتعلقة بـ Visual Studio Code، مثل ملفات extension.json وlaunch.json وsettings.json وfeatures.json .
    التحف مجلد يحتوي على البيانات الاصطناعية حساب التكامل التي تحددها وتستخدمها في مهام سير العمل التي تدعم سيناريوهات الأعمال التجارية (B2B). على سبيل المثال، تتضمن بنية المثال الخرائط والمخططات لعمليات تحويل XML والتحقق من الصحة.
    <WorkflowName> مجلد لكل سير عمل، يتضمن المجلد <WorkflowName> ملف workflow.json، والذي يحتوي على تعريف JSON الأساسي لسير العمل.
    workflow-designtime مجلد يحتوي على ملفات الإعدادات المتعلقة ببيئة التطوير.
    .funcignore الملف يحتوي على معلومات تتعلق بـ Azure Functions Core Toolsالمثبتة لديك.
    connections.json الملف يحتوي على البيانات التعريفية ونقاط النهاية والمفاتيح لأي اتصالات مُدارة وAzure Functions التي تستخدمها مهام سير العمل.

    هام: لاستخدام اتصالات ووظائف مختلفة لكل بيئة، تأكد من تخصيص ملف links.json هذا وتحديث نقاط النهاية.
    host.json الملف يحتوي على إعدادات وقيم التكوين الخاصة بوقت التشغيل، على سبيل المثال، الحدود الافتراضية لنظام Azure Logic Apps الأساسي للمستأجر الفردي، والتطبيقات المنطقية، ومهام سير العمل، والمشغلات، والإجراءات. في المستوى الجذر لمشروع تطبيقك المنطقي، يحتوي ملف بيانات التعريف host.json على إعدادات التكوين والقيم الافتراضية التي تستخدمها جميع مهام سير العمل في نفس التطبيق المنطقي خلال التشغيل، سواء محلياً أو في Azure.

    ملاحظة: عند إنشاء تطبيقك المنطقي، يقوم Visual Studio Code بإنشاء نسخة احتياطية من ملف host.snapshot. *. json في حاوية التخزين الخاصة بك. إذا قمت بحذف التطبيق المنطقي الخاص بك، فلن يتم حذف ملف النسخ الاحتياطي هذا. إذا قمت بإنشاء تطبيق منطق آخر بنفس الاسم، فسيتم إنشاء ملف لقطة آخر. يمكنك الحصول على ما يصل إلى 10 لقطات فقط لنفس تطبيق المنطق. إذا تجاوزت هذا الحد، فستحصل على الخطأ التالي:

    Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))

    لحل هذا الخطأ، احذف ملفات اللقطة الإضافية من حاوية التخزين الخاصة بك.
    local.settings.json الملف يحتوي على إعدادات التطبيق وسلاسل الاتصال والإعدادات الأخرى التي تستخدمها مهام سير العمل خلال التشغيل محلياً. بمعنى آخر، تنطبق هذه الإعدادات والقيم فقط عند تشغيل مشروعاتك في بيئة التطوير المحلية الخاصة بك. خلال التوزيع إلى Azure، يتم تجاهل الملف والإعدادات ولا يتم تضمينها في التوزيع الخاص بك.

    يخزن هذا الملف الإعدادات والقيم باعتبارها متغيرات البيئة المحلية التي تستخدمها أدوات التطوير المحلية كقيم appSettings. يمكنك استدعاء متغيرات البيئة هذه والإشارة إليها في وقت التشغيل ووقت التوزيع باستخدام إعدادات التطبيق والمعلمات.

    هام: يمكن أن يحتوي ملف local.settings.json على بيانات سرية، لذا تأكد من استبعاد هذا الملف أيضاً من التحكم في مصدر المشروع.

    إشعار

    إعداد تطبيق FUNCTIONS_WORKER_RUNTIME مطلوب لتطبيق المنطق القياسي، وتم تعيين القيمة مسبقا إلى عقدة. ومع ذلك، القيمة المطلوبة هي الآن dotnet لجميع تطبيقات المنطق القياسية الجديدة والموجودة المنشورة. لا يجب أن يؤثر هذا التغيير في القيمة على وقت تشغيل سير العمل، لذلك يجب أن يعمل كل شيء بالطريقة نفسها كما كان من قبل. لمزيد من المعلومات، راجع إعداد تطبيق FUNCTIONS_WORKER_RUNTIME.

    إعداد تطبيق APP_KIND مطلوب لتطبيق المنطق القياسي الخاص بك، ويجب أن تكون القيمة workflowApp. أيا كان، في بعض السيناريوهات، قد يكون إعداد التطبيق هذا مفقودا، على سبيل المثال، بسبب التشغيل التلقائي باستخدام قوالب Azure Resource Manager أو سيناريوهات أخرى حيث لا يتم تضمين الإعداد. إذا لم تعمل بعض الإجراءات، مثل إجراء Execute JavaScript Code ، أو إذا توقف سير العمل عن العمل، فتحقق من وجود إعداد تطبيق APP_KIND وتعيينه إلى workflowApp. لمزيد من المعلومات، راجع إعداد تطبيق APP_KIND.

تحويل مشروعك إلى NuGet المستند إلى الحزمة (.NET)

بشكل افتراضي، ينشئ Visual Studio Code مشروع تطبيق منطقي يستند إلى مجموعة الملحقات (Node.js)، وليس مستندا إلى حزمة NuGet (.NET). إذا كنت تحتاج إلى مشروع تطبيق منطقي يستند إلى حزمة NuGet (.NET)، على سبيل المثال، لتمكين تأليف الموصل المضمن، يجب تحويل مشروعك من مجموعة عناصر ملحقة (Node.js) إلى NuGet المستندة إلى حزمة (.NET).

هام

يعد هذا الإجراء هو عملية أحادية الاتجاه لا يمكنك التراجع عنها.

  1. في جزء Explorer، في جذر المشروع، حرك مؤشر الماوس فوق أي منطقة فارغة أسفل جميع الملفات والمجلدات الأخرى، وافتح القائمة المختصرة، وحدد Convert to NuGet-based Logic App project.

    تظهر لقطة الشاشة جزء المستكشف مع فتح القائمة المختصرة للمشروع من منطقة فارغة في نافذة المشروع.

  2. عندما تظهر المطالبة، أكد تحويل المشروع.

فعل تأليف الموصل المدمج

يمكنك إنشاء موصلات مضمّنة خاصة بك لأي خدمة تحتاج إليها عن طريق استخدام إطار عمل قابلية توسعة Azure Logic Apps أحادي المستأجر. على غرار الموصلات المضمنة مثل Azure Service Bus و SQL Server، تتيح هذه الموصلات إنتاجية أعلى ومعدل نقل منخفض واتصال محلي وتعمل محليًا في نفس العملية مثل وقت تشغيل Azure Logic Apps للمستأجر الفردي.

تتوفر إمكانية التأليف حالياً فقط في Visual Studio Code، ولكن لا يتم تمكينها افتراضياً. لإنشاء هذه الموصلات، اتبع الخطوات التالية:

  1. إذا لم تكن قد قمت بالفعل، فحول مشروعك من حزمة الملحقات المستندة إلى (Node.js) إلى حزمة NuGet المستندة إلى (.NET).

  2. راجع واتبع الخطوات الواردة في المقالة، Azure Logic Apps Running Anywhere - إمكانية توسعة الموصل المضمن.

إضافة بيانات اصطناعية مخصصة إلى مشروعك

في سير عمل التطبيق المنطقي، بعض الموصلات لها تبعيات على البيانات الاصطناعية مثل الخرائط أو المخططات أو التجميعات. في Visual Studio Code، يمكنك تحميل هذه البيانات الاصطناعية إلى مشروع تطبيق المنطق الخاص بك، على غرار كيفية تحميل هذه البيانات الاصطناعية في مدخل Microsoft Azure من خلال قائمة موارد تطبيق المنطق ضمن Artifacts، على سبيل المثال:

تظهر لقطة الشاشة مدخل Microsoft Azure وقائمة موارد تطبيق المنطق القياسي مع تمييز قسم Artifacts.

إضافة خرائط إلى مشروعك

لإضافة خرائط إلى مشروعك، في التسلسل الهرمي لمشروعك، قم بتوسيع Artifacts>Maps، وهو المجلد الذي يمكنك وضع الخرائط فيه.

تظهر لقطة الشاشة التسلسل الهرمي لمشروع Visual Studio Code مع توسيع مجلدات Artifacts و Maps.

إضافة مخططات إلى مشروعك

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

تظهر لقطة الشاشة التسلسل الهرمي لمشروع Visual Studio Code مع توسيع مجلدات Artifacts و Schemas.

إضافة تجميعات إلى مشروعك

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

نوع التجميع ‏‏الوصف
تجميع العميل/SDK (.NET Framework) يوفر نوع التجميع هذا تخزين العميل ونشر SDK المخصص ل .NET Framework. على سبيل المثال، يستخدم موصل SAP المضمن هذه التجميعات لتحميل ملفات DLL غير القابلة لإعادة توزيع SAP NCo.

تأكد من إضافة هذه التجميعات إلى المجلد التالي: \lib\builtinOperationSdks\net472
تجميع العميل/SDK (Java) يوفر نوع التجميع هذا تخزينا وتوزيع SDK مخصصا ل Java. على سبيل المثال، يستخدم موصل JDBC المضمن ملفات JAR هذه للعثور على برامج تشغيل JDBC لقواعد البيانات الارتباطية المخصصة (RDBs).

تأكد من إضافة هذه التجميعات إلى المجلد التالي: \lib\builtinOperationSdks\JAR
التجميع المخصص (.NET Framework) يوفر نوع التجميع هذا تخزين ونشر DLLs المخصصة. على سبيل المثال، تستخدم عملية Transform XML هذه التجميعات لوظائف التحويل المخصصة المطلوبة أثناء تحويل XML.

تأكد من إضافة هذه التجميعات إلى المجلد التالي: \lib\custom\net472

توضح الصورة التالية مكان وضع كل نوع تجميع في مشروعك:

تظهر لقطة الشاشة Visual Studio Code ومشروع logic app ومكان تحميل التجميعات.

لمزيد من المعلومات حول تحميل التجميعات إلى مورد تطبيق المنطق في مدخل Microsoft Azure، راجع إضافة تجميعات مرجعية.

ترحيل المشاريع المستندة إلى NuGet لاستخدام تجميعات "lib\*"

هام

هذه المهمة مطلوبة فقط لمشاريع التطبيق المنطقي المستندة إلى NuGet.

إذا قمت بإنشاء مشروع تطبيق المنطق الخاص بك عندما لم يكن دعم التجميعات متوفرا لسير عمل تطبيق المنطق القياسي، يمكنك إضافة الأسطر التالية إلى <ملف project-name.csproj> للعمل مع المشاريع التي تستخدم التجميعات:

  <ItemGroup>
    <LibDirectory Include="$(MSBuildProjectDirectory)\lib\**\*"/>
  </ItemGroup>
  <Target Name="CopyDynamicLibraries" AfterTargets="_GenerateFunctionsExtensionsMetadataPostPublish">
    <Copy SourceFiles="@(LibDirectory)" DestinationFiles="@(LibDirectory->'$(MSBuildProjectDirectory)\$(PublishUrl)\lib\%(RecursiveDir)%(Filename)%(Extension)')"/>
  </Target>

هام

بالنسبة لمشروع يعمل على Linux أو MacOS، تأكد من تحديث فاصل الدليل. على سبيل المثال، راجع الصورة التالية التي تعرض التعليمات البرمجية السابقة المضافة إلى <ملف project-name.csproj>.

تظهر لقطة الشاشة التجميعات التي تم ترحيلها والرمز المضاف في ملف CSPROJ.

افتح ملف تعريف سير العمل في المصمم

  1. قم بتوسيع مجلد مشروع سير العمل، المسمى Stateful-Workflow في هذا المثال، وافتح ملف workflow.json .

  2. افتح القائمة المختصرة لملف workflow.json، وحدد Open Designer.

    تظهر لقطة الشاشة جزء المستكشف، workflow.json القائمة المختصرة للملفات، وتحديد Open Designer.

  3. بعد فتح قائمة تمكين الموصلات في Azure، حدد استخدام الموصلات من Azure، والتي تنطبق على جميع الموصلات المدارة أو "المشتركة"، والتي تتم استضافتها وتشغيلها في Azure مقابل الموصلات المضمنة أو الأصلية أو "داخل التطبيق"، والتي تعمل مباشرة مع وقت تشغيل Azure Logic Apps.

    تظهر لقطة الشاشة جزء المستكشف، وافتح القائمة المسماة تمكين الموصلات في Azure، والخيار المحدد لاستخدام الموصلات من Azure.

    إشعار

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

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

    تظهر لقطة الشاشة جزء المستكشف مع قائمة تسمى تحديد اشتراك واشتراك محدد.

  5. بعد فتح قائمة مجموعات الموارد، حدد إنشاء مجموعة موارد جديدة.

    تظهر لقطة الشاشة جزء Explorer مع قائمة مجموعات الموارد والخيار المحدد لإنشاء مجموعة موارد جديدة.

  6. أدخل اسمًا لمجموعة الموارد، واضغط على Enter. يستخدم هذا المثال Fabrikam-Workflows-RG.

    تظهر لقطة الشاشة جزء المستكشف ومربع اسم مجموعة الموارد.

  7. من قائمة المواقع، حدد منطقة Azure لاستخدامها عند إنشاء مجموعة الموارد وموارد. يستخدم هذا المثال منطقة وسط غرب الولايات المتحدة الأمريكية.

    لقطة شاشة تعرض جزء المستكشف مع قائمة المواقع وتحديد «منطقة وسط غرب الولايات المتحدة الأمريكية».

    بعد القيام بتنفيذ هذه الخطوة، يفتح Visual Studio Code مصمم سير العمل.

    إشعار

    عندما يبدأ Visual Studio Code في API وقت تصميم سير العمل، قد تتلقى رسالة مفادها أن بدء التشغيل قد يستغرق بضع ثوانٍ. يمكنك تجاهل هذه الرسالة أو تحديد OK.

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

    بعد ظهور المصمم، تظهر مطالبة إضافة مشغل على المصمم.

  8. على المصمم، حدد Add a trigger، الذي يفتح جزء Add a trigger ومعرض يعرض جميع الموصلات التي تحتوي على مشغلات لتحديدها.

    تظهر لقطة الشاشة مصمم سير العمل والمطالبة المحددة المسماة إضافة مشغل ومعرض الموصلات مع المشغلات.

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

أضف مشغل وإجراءات

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

هام

لتشغيل سير عمل يستخدم مشغلا أو إجراءات مستندة إلى خطاف الويب محليا، مثل مشغل أو إجراء HTTP Webhook المضمن، يلزم تمكين هذه الإمكانية من خلالإعداد إعادة توجيه عنوان URL لرد الاتصال الخاص بخطاف الويب.

يستخدم سير العمل في هذا المثال المشغل والإجراءات التالية:

إضافة مشغل الطلب

  1. على مصمم سير العمل، في جزء إضافة مشغل ، افتح قائمة وقت التشغيل، وحدد In-App بحيث يمكنك عرض مشغلات الموصل المضمنة المتوفرة فقط.

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

    تظهر لقطة الشاشة مصمم سير العمل، وإضافة جزء مشغل، والمشغل المحدد المسمى عند تلقي طلب HTTP.

    عندما يظهر المشغل على المصمم، يفتح جزء معلومات المشغل ويعرض معلمات المشغل وإعداداته والمهام الأخرى ذات الصلة.

    تظهر لقطة الشاشة جزء المعلومات للمشغل المسمى عند تلقي طلب HTTP.

    تلميح

    إذا لم يظهر جزء المعلومات، فتأكد من تحديد المشغل على المصمم.

  3. احفظ سير العمل الخاص بك. في شريط أدوات المصمم، حدد "Save".

إذا كنت بحاجة إلى حذف عنصر من المصمم، فاتبع هذه الخطوات لحذف العناصر من المصمم.

إضافة الإجراء Office 365 Outlook

  1. على المصمم، ضمن مشغل الطلب، حدد علامة الجمع (+) >إضافة إجراء.

  2. في جزء Add an action الذي يفتح، من قائمة Runtime ، حدد Shared بحيث يمكنك عرض إجراءات الموصل المدارة المتوفرة فقط.

  3. ابحث عن إجراء موصل Office 365 Outlook المدار المسمى إرسال بريد إلكتروني (V2) باستخدام مربع البحث، وأضف هذا الإجراء إلى سير العمل. لمزيد من المعلومات، راجع إنشاء سير عمل باستخدام مشغل وإجراءات.

    تظهر لقطة الشاشة مصمم سير العمل وجزء إضافة إجراء مع إجراء Office 365 Outlook المحدد المسمى إرسال بريد إلكتروني.

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

    تظهر لقطة الشاشة الإجراء المسمى إرسال بريد إلكتروني (V2) مع زر تسجيل الدخول المحدد.

  5. اتبع المطالبات اللاحقة لتحديد حسابك والسماح بالوصول والسماح بالعودة إلى Visual Studio Code.

    إشعار

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

    1. عند ظهور مطالبة Microsoft، حدد حساب المستخدم ل Office 365 Outlook، ثم حدد السماح بالوصول.

    2. عندما يطالب Azure Logic Apps بفتح ارتباط Visual Studio Code، حدد Open.

      تظهر لقطة الشاشة مطالبة بفتح ارتباط ل Visual Studio Code.

    3. عندما يطالب Visual Studio Code بفتح أدوات Microsoft Azure، حدد فتح.

      تظهر لقطة الشاشة مطالبة بفتح أدوات Microsoft Azure.

    تلميح

    لتخطي مثل هذه المطالبات المستقبلية، حدد الخيارات التالية عند ظهور المطالبات المقترنة:

    • إذن فتح ارتباط ل Visual Studio Code: حدد السماح دائما logic-apis-westcentralus.consent.azure-apim.net بفتح ارتباطات من هذا النوع في التطبيق المقترن. يتغير هذا المجال استنادا إلى منطقة Azure التي حددتها لمورد تطبيق المنطق الخاص بك.

    • إذن فتح أدوات Microsoft Azure: حدد عدم الطلب مرة أخرى لهذا الملحق.

    بعد أن يقوم Visual Studio Code بإنشاء الاتصال الخاص بك، تظهر بعض الموصلات الرسالة التي تفيد بأن الاتصال سيكون صالحا لمدة {n} من الأيام فقط. ينطبق هذا الحد الزمني فقط على المدة أثناء تأليف سير عمل تطبيق المنطق في Visual Studio Code. بعد النشر، لم يعد هذا الحد ينطبق لأنه يمكن مصادقة سير العمل في وقت التشغيل باستخدام الهوية المدارة المعينة من قبل النظام التي تم تمكينها تلقائيا. تختلف هذه الهوية المُدارة عن بيانات اعتماد المصادقة أو سلسلة الاتصال التي تستخدمها عند إنشاء اتصال. في حالة تعطيل هذه الهوية المُدارة المعينة من جانب النظام، فلن تعمل الاتصالات في وقت التشغيل.

  6. على المصمم، في حالة عدم ظهور إجراء إرسال بريد إلكتروني محددا، فحدد ذلك الإجراء.

  7. في جزء معلومات الإجراء، في علامة التبويب Parameters ، قم بتوفير المعلومات المطلوبة للإجراء، على سبيل المثال:

    لقطة شاشة تعرض معلومات حول إجراء Office 365 Outlook المسمى إرسال بريد إلكتروني.

    الخاصية المطلوب قيمة ‏‏الوصف
    إلى ‏‏نعم‬ <your-email-address> مستلم البريد الإلكتروني، والذي يمكن أن يكون عنوان بريدك الإلكتروني لأغراض الاختبار. يستخدم هذا المثال البريد الإلكتروني الوهمي، sophia.owen@fabrikam.com.
    الموضوع ‏‏نعم‬ رسالة بريد إلكتروني من مثال سير العمل عنوان البريد الإلكتروني
    نص الرسالة ‏‏نعم‬ مرحبا من مثال سير العمل الخاص بك! محتوى نص البريد الإلكتروني

    إشعار

    إذا قمت بإجراء أي تغييرات على علامة التبويب اختبار ، فتأكد من تحديد حفظ لتنفيذ هذه التغييرات قبل تبديل علامات التبويب أو تغيير التركيز إلى المصمم. خلاف ذلك، لن يحتفظ Visual Studio Code بالتغييرات الخاصة بك.

  8. احفظ سير العمل الخاص بك. في شريط المصمم، حدد Save.

فعل خطافات الويب قيد التشغيل محليًا

عند استخدام مشغل أو إجراء يستند إلى خطاف الويب، مثل HTTP Webhook، مع سير عمل تطبيق منطقي قيد التشغيل في Azure، يشترك وقت تشغيل Azure Logic Apps في نقطة نهاية الخدمة عن طريق إنشاء عنوان URL لرد الاتصال وتسجيله باستخدام نقطة النهاية هذه. بعد ذلك، ينتظر المشغل أو الإجراء حتى تقوم نقطة نهاية الخدمة باستدعاء عنوان URL. ومع ذلك، عندما تعمل في Visual Studio Code، يبدأ عنوان URL لرد الاتصال الذي أنشئ من خلال http://localhost:7071/.... يعد هذا عنوان URL لخادم المضيف المحلي الخاص بك، وهو خاص لذا لا يمكن لنقطة نهاية الخدمة استدعاء عنوان URL هذا.

لتشغيل المشغلات والإجراءات المستندة إلى خطاف الويب محليًا في Visual Studio Code، تحتاج إلى إعداد عنوان URL عام يعرض خادم المضيف المحلي الخاص بك ويعيد توجيه المكالمات بشكل آمن من نقطة نهاية الخدمة إلى عنوان URL لرد الاتصال عبر الويب. بإمكانك استخدام خدمة إعادة توجيه وأداة مثل ngrok، والتي تفتح نفق HTTP إلى منفذ المضيف المحلي الخاص بك، أو يمكنك استخدام الأداة المكافئة الخاصة بك.

إعداد إعادة توجيه الاتصال عن طريق استخدام ngrok

  1. انتقل إلى موقع ngrok على الويب. إما التسجيل للحصول على حساب جديد أو تسجيل الدخول إلى حسابك، إذا كان لديك حساب بالفعل.

  2. احصل على الرمز المميز للمصادقة الشخصية، والذي يحتاجه عميل ngrok للاتصال بالوصول إلى الحساب الخاص بك ومصادقة الوصول إليه.

    1. للعثور على صفحة الرمز المميز للمصادقة، في قائمة لوحة معلومات حسابك، قم بتوسيع Authentication، وحدد Your Authtoken.

    2. من مربع Your Authtoken، انسخ الرمز المميز إلى موقع آمن.

  3. من ngrokصفحة تنزيل أو لوحة معلومات حسابك، نزّل إصدار ngrok الذي تريده، واستخرج ملف .zip. للمزيد من المعلومات، راجع الخطوة 1: إلغاء ضغط التثبيت.

  4. على جهاز الكمبيوتر الخاص بك، افتح أداة موجه الأوامر. استعرض وصولا إلى الموقع حيث يوجد لديك ملف ngrok.exe.

  5. وصل عميل ngrok بحساب ngrok الخاص بك عن طريق تشغيل الأمر الموضح أدناه. للمزيد من المعلومات، راجع الخطوة 2: توصيل الحساب الخاص بك.

    ngrok authtoken <your_auth_token>

  6. افتح نفق HTTP إلى منفذ المضيف المحلي 7071 من خلال تشغيل الأمر التالي. للمزيد من المعلومات، راجع الخطوة 3: شغله.

    ngrok http 7071

  7. من الإخراج، ابحث عن السطر الموضح أدناه:

    http://<domain>.ngrok.io -> http://localhost:7071

  8. انسخ عنوان URL الذي يشتمل على هذا التنسيق واحفظه: http://<domain>.ngrok.io

أعد عنوان URL لإعادة التوجيه في إعدادات التطبيق الخاص بك

  1. في Visual Studio Code، على المصمم، أضف المشغل أو الإجراء المستند إلى خطاف الويب الذي تريد استخدامه.

    يستمر هذا المثال مع مشغل HTTP + Webhook .

  2. عندما تظهر المطالبة لموقع نقطة نهاية المضيف، أدخل عنوان URL لإعادة التوجيه (إعادة التوجيه) الذي أنشأته مسبقًا.

    إشعار

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

    لإظهار المطالبة، على مستوى جذر المشروع، افتح القائمة المختصرة لملف local.settings.json ، وحدد Configure Webhook Redirect Endpoint. تظهر المطالبة الآن حتى تتمكن من تقديم عنوان URL لإعادة التوجيه.

    يضيف Visual Studio Code عنوان URL لإعادة التوجيه إلى ملف local.settings.json في المجلد الجذر للمشروع الخاص بك. في Values الكائن، تظهر الخاصية المسماة Workflows.WebhookRedirectHostUri الآن وتعين إلى عنوان URL لإعادة التوجيه، على سبيل المثال:

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "FUNCTIONS_V2_COMPATIBILITY_MODE": "true",
          <...>
          "Workflows.WebhookRedirectHostUri": "http://xxxXXXXxxxXXX.ngrok.io",
          <...>
       }
    }
    

    إشعار

    في السابق، كانت القيمة الافتراضية لإعداد FUNCTIONS_WORKER_RUNTIME هي node. الآن، dotnet هي القيمة الافتراضية لجميع تطبيقات المنطق القياسية الجديدة والموجودة، حتى بالنسبة للتطبيقات التي لها قيمة مختلفة. يجب ألا يؤثر هذا التغيير على وقت تشغيل سير العمل الخاص بك، ويجب أن يعمل كل شيء بالطريقة نفسها كما كان من قبل. لمزيد من المعلومات، راجع إعداد تطبيق FUNCTIONS_WORKER_RUNTIME.

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

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

إشعار

بعد أن يبدأ سير العمل الخاص بك في العمل، قد تعرض نافذة المحطة الطرفية أخطاء مثل هذا المثال:

message='Http request failed with unhandled exception of type 'InvalidOperationException' and message: 'System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.'

في هذه الحالة، افتح الملف local.settings.json في المجلد الجذر للمشروع الخاص بك، وتأكد من تعيين الخاصية إلى true:

"FUNCTIONS_V2_COMPATIBILITY_MODE": "true"

تحكم نقاط التوقف من أجل التصحيح

قبل تشغيل سير عمل logic app واختباره عن طريق بدء جلسة تصحيح الأخطاء، يمكنك تعيين نقاط التوقف داخل ملف workflow.json لكل سير عمل. لا يلزم أي إعداد آخر.

في هذا الوقت، تدعم نقاط التوقف فقط للإجراءات، وليس المشغلات. يحتوي كل تعريف إجراء على مواقع نقاط التوقف هذه:

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

  • اضبط نقطة نهاية على السطر الذي يظهر قوس إغلاق متعرج للإجراء (}). عندما تصل نقطة التوقف هذه أثناء جلسة التصحيح، بإمكانك مراجعة نتائج الإجراء قبل انتهاء تشغيل الإجراء.

لإضافة نقطة توقف، اتبع الخطوات الموضحة أدناه:

  1. افتح ملف workflow.json لسير العمل الذي ترغب في تصحيحه.

  2. في السطر الذي تريد تعيين نقطة التوقف فيه، في العمود الأيسر، حدد داخل هذا العمود. لإزالة نقطة توقف، حدد نقطة التوقف هذه.

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

    إشعار

    في حالة عدم ظهور طريقة العرض Run تلقائيًا، فاضغط على Ctrl+Shift+D.

  3. لمراجعة المعلومات المتاحة عند الوصول إلى نقطة توقف، في طريقة العرض تشغيل، افحص جزء Variables.

  4. لمتابعة تنفيذ سير العمل، في شريط أدوات تتبع الأخطاء، حدد Continue (زر التشغيل).

بإمكانك إضافة وإزالة نقاط التوقف في أي وقت أثناء تشغيل سير العمل. ومع ذلك، في حالة تحديث ملف workflow.json بعد بدء التشغيل، فلن تحدث نقاط التوقف تلقائيا. لتحديث نقاط التوقف، أعد تشغيل logic app.

للحصول على معلومات عامة، راجع Breakpoints - Visual Studio Code.

يرجي التشغيل والاختبار والتصحيح محليًا

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

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

  2. إذا كان محاكي Azurite قيد التشغيل بالفعل، فتابع إلى الخطوة التالية. وإلا، فتأكد من بدء تشغيل المحاكي قبل تشغيل سير العمل:

    1. في Visual Studio Code، من القائمة View ، حدد Command Palette.

    2. بعد ظهور لوحة الأوامر، أدخل Azurite: Start.

    لمزيد من المعلومات حول أوامر Azurite، راجع وثائق ملحق Azurite في Visual Studio Code.

  3. في شريط نشاط Visual Studio Code، افتح قائمة Run، وتأكد من تحديد Start Debugging (F5).

    تفتح نافذة Terminal بحيث بإمكانك مراجعة جلسة تصحيح الأخطاء.

    إشعار

    في حالة تلقيك الخطأ، «يوجد خطأ بعد تشغيل preLaunchTask «generateDebugSymbols، راجع قسم استكشاف الأخطاء وإصلاحها، فشل بدء جلسة تصحيح الأخطاء.

  4. الآن، ابحث عن عنوان URL لرد الاتصال لنقطة النهاية على مشغل الطلب .

    1. أعد فتح جزء المستكشف حتى تتمكن من عرض المشروع الخاص بك.

    2. من القائمة المختصرة لملف workflow.json، حدد Overview.

      تظهر لقطة الشاشة جزء المستكشف، workflow.json القائمة المختصرة للملف مع خيار محدد، نظرة عامة.

    3. ابحث عن قيمة عنوان URL لرد الاتصال، والتي تبدو مشابهة ل URL هذا لمثال مشغل الطلب :

      http://localhost:7071/api/<workflow-name>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>

      تظهر لقطة الشاشة صفحة نظرة عامة على سير العمل مع عنوان URL لرد الاتصال.

    4. انسخ قيمة خاصية عنوان URL لرد الاتصال واحفظها.

  5. لاختبار عنوان URL لرد الاتصال وتشغيل سير العمل، أرسل طلب HTTP إلى عنوان URL، بما في ذلك الأسلوب الذي يتوقعه مشغل الطلب ، باستخدام أداة طلب HTTP والتعليمات الخاصة به.

    يستخدم هذا المثال أسلوب GET مع عنوان URL المنسخ، والذي يبدو مثل النموذج التالي:

    GET http://localhost:7071/api/Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>

    عند تشغيل المشغل، يتم تشغيل سير عمل المثال وإرسال بريد إلكتروني يبدو مشابهًا لهذا المثال:

    تظهر لقطة الشاشة بريد Outlook الإلكتروني كما هو موضح في المثال.

  6. في Visual Studio Code، يمكنك الرجوع إلى صفحة نظرة عامة على سير العمل.

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

    تلميح

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

    لقطة شاشة تعرض صفحة نظرة عامة على سير العمل مع حالة التشغيل والمحفوظات

    يوضح الجدول التالي الحالات النهائية المحتملة التي يمكن أن تتضمنها كل عملية سير عمل وتظهر في Visual Studio Code:

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

    تلميح: إذا قمت بإعداد تسجيل التشخيص، يمكنك الحصول على معلومات حول أي أحداث تقييد تحدث.

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

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

    جار الانتظار لم يبدأ التشغيل أو تم إيقافه مؤقتًا، على سبيل المثال، بسبب مثيل سير عمل سابق لا يزال قيد التشغيل.
  7. لمراجعة حالات كل خطوة في تشغيل معين ومدخلات ومخرجات الخطوة، حدد زر علامات الحذف (...) لهذا التشغيل، وحدد إظهار التشغيل.

    تظهر لقطة الشاشة صف محفوظات تشغيل سير العمل مع زر علامات الحذف المحددة وإظهار التشغيل.

    يفتح Visual Studio Code عرض المراقبة ويظهر حالة كل خطوة في التشغيل.

    تظهر لقطة الشاشة كل خطوة في تشغيل سير العمل وحالتها.

    إشعار

    إذا فشل تشغيل وظهرت خطوة في طريقة عرض المراقبة الخطأ 400 طلب غير صالح، فقد تنتج هذه المشكلة عن اسم مشغل أطول أو اسم إجراء يتسبب في تجاوز معرف المورد الموحد الأساسي (URI) حد الأحرف الافتراضي. للمزيد من المعلومات، راجع «400 Bad Request».

    يوضح الجدول التالي الحالات المحتملة التي يمكن أن يكون لكل إجراء من إجراءات سير العمل ويظهر في Visual Studio Code:

    حالة الإجراء ‏‏الوصف
    متوقفة توقف الإجراء أو لم ينته بسبب مشاكل خارجية، على سبيل المثال، انقطاع النظام أو انتهاء اشتراك Azure.
    تم الإلغاء كان الإجراء قيد التشغيل ولكن تلقى طلبًا للإلغاء.
    فاشل فشل الإجراء.
    قيد التشغيل الإجراء قيد التشغيل حاليًا.
    تخطي تم تخطي الإجراء بسبب فشل الإجراء السابق مباشرةً. يتضمن الإجراء على runAfter شرط يتطلب انتهاء الإجراء السابق بنجاح قبل تشغيل الإجراء الحالي.
    نجحت نجح الإجراء.
    نجح مع إعادة المحاولة نجح الإجراء ولكن فقط بعد إعادة المحاولة مرة واحدة أو أكثر. لمراجعة محفوظات إعادة المحاولة، في طريقة عرض تفاصيل محفوظات التشغيل، حدد هذا الإجراء حتى تتمكن من عرض المدخلات والمخرجات.
    انتهت المهلة توقف الإجراء بسبب حد المهلة المحدد بواسطة إعدادات هذا الإجراء.
    جار الانتظار ينطبق على إجراء الإخطار على الويب الذي ينتظر طلبًا واردًا من المتصل.
  8. لمراجعة المدخلات والمخرجات لكل خطوة، حدد الخطوة التي تريد فحصها. لمزيد من المراجعة للمدخلات والمخرجات الأولية لتلك الخطوة، حدد Show raw inputs أو Show raw outputs.

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

  9. لإيقاف جلسة تصحيح الأخطاء، في القائمة Run، حدد إيقاف تصحيح الأخطاء (Shift + F5).

إرجاع استجابة

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

  1. في مصمم سير العمل، ضمن إجراء إرسال بريد إلكتروني ، حدد علامة الجمع (+) >إضافة إجراء.

    يفتح جزء Add an action بحيث يمكنك تحديد الإجراء التالي.

  2. في جزء إضافة إجراء ، من قائمة وقت التشغيل، حدد In-App. ابحث عن إجراء الاستجابة وأضفه.

    بعد ظهور إجراء الاستجابة على المصمم، يتم فتح جزء تفاصيل الإجراء تلقائيا.

    تظهر لقطة الشاشة مصمم سير العمل وجزء معلومات الاستجابة.

  3. في علامة التبويب Parameters، وفر المعلومات المطلوبة للدالة التي تريد الاتصال بها.

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

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

    2. في قائمة المحتوى الديناميكي، ضمن Send an email، حدد Body.

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

      عند الانتهاء، يتم الآن تعيين الخاصية Body لإجراء الاستجابة إلى قيمة إخراج النص الأساسي لإجراء Body.

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

  4. في شريط المصمم، حدد Save.

أعد اختبار logic app الخاص بك

بعد إجراء تحديثات logic app الخاص بك، يمكنك تشغيل اختبار آخر عن طريق إعادة تشغيل مصحح الأخطاء في Visual Studio وإرسال طلب آخر لتشغيل logic app المحدث، على غرار الخطوات الواردة في تشغيل واختبار وتصحيح الأخطاء محليا.

  1. في شريط نشاط Visual Studio Code، افتح قائمة Run، وتأكد من تحديد Start Debugging (F5).

  2. في Postman أو في الأداة الخاصة بك لإنشاء الطلبات وإرسالها، أرسل طلبًا آخر لبدء سير عملك.

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

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

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

  4. لإيقاف جلسة تصحيح الأخطاء، في القائمة Run، حدد إيقاف تصحيح الأخطاء (Shift + F5).

البحث عن أسماء المجالات للوصول إلى جدار الحماية

قبل استخدام وتشغيل سير عمل logic app في مدخل Microsoft Azure، إذا كانت بيئتك تحتوي على متطلبات شبكة صارمة أو جدران حماية تحد من نسبة استخدام الشبكة، فيلزم عليك إعداد أذونات لأي مشغل أو اتصالات إجراء موجودة في سير العمل.

للعثور على أسماء المجالات المؤهلة بالكامل (FQDNs) للاتصالات، اتبع الخطوات التالية:

  1. في مشروع تطبيق المنطق، افتح ملف connections.json، الذي أنشئ بعد إضافة المشغل أو الإجراء الأول المستند إلى الاتصال إلى سير العمل الخاص بك، وابحث عن الكائنmanagedApiConnections.

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

    يشمل ملف connections.json هذا المثال على اتصالين واتصال AS2 واتصال Office 365 بهذه connectionRuntimeUrl القيم:

    • AS2: "connectionRuntimeUrl": https://9d51d1ffc9f77572.00.common.logic-{Azure-region}.azure-apihub.net/apim/as2/11d3fec26c87435a80737460c85f42ba

    • Office 365: "connectionRuntimeUrl": https://9d51d1ffc9f77572.00.common.logic-{Azure-region}.azure-apihub.net/apim/office365/668073340efe481192096ac27e7d467f

    {
       "managedApiConnections": {
          "as2": {
             "api": {
                "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/as2"
             },
             "connection": {
                "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Web/connections/{connection-resource-name}"
             },
             "connectionRuntimeUrl": https://9d51d1ffc9f77572.00.common.logic-{Azure-region}.azure-apihub.net/apim/as2/11d3fec26c87435a80737460c85f42ba,
             "authentication": {
                "type":"ManagedServiceIdentity"
             }
          },
          "office365": {
             "api": {
                "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/office365"
             },
             "connection": {
                "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Web/connections/{connection-resource-name}"
             },
             "connectionRuntimeUrl": https://9d51d1ffc9f77572.00.common.logic-{Azure-region}.azure-apihub.net/apim/office365/668073340efe481192096ac27e7d467f,
             "authentication": {
                "type":"ManagedServiceIdentity"
             }
          }
       }
    }
    

نشر في Azure

من Visual Studio Code، يمكنك نشر مشروعك مباشرة إلى Azure لنشر مورد تطبيق المنطق القياسي. يمكنك نشر logic app كمورد جديد، والذي ينشئ تلقائيا أي موارد ضرورية، مثل حساب Azure Storage، على غرار متطلبات تطبيق الوظائف. أو يمكنك نشر تطبيق المنطق الخاص بك إلى مورد تطبيق منطق قياسي تم نشره مسبقا، والذي يحل محل تطبيق المنطق هذا.

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

النشر إلى مورد تطبيق منطق قياسي جديد

  1. في شريط نشاط Visual Studio Code، حدد أيقونة Azure لفتح نافذة Azure.

  2. في نافذة Azure ، على شريط أدوات قسم مساحة العمل، من قائمة Azure Logic Apps ، حدد Deploy to Logic App.

    تظهر لقطة الشاشة نافذة Azure مع شريط أدوات مساحة العمل وقائمة اختصار Azure Logic Apps مع تحديد Deploy to Logic App.

  3. إذا طُلب منك ذلك، فحدد اشتراك Azure لاستخدامه لتوزيع تطبيقك المنطقي.

  4. من القائمة التي يفتحها Visual Studio Code، حدد من هذه الخيارات:

    • أنشئ Logic App جديد (قياسي) في Azure (سريع)
    • أنشئ تطبيق Logic جديد (قياسي) في Azure Advanced
    • مورد Logic App (قياسي) نشر مسبقا، إن وجد

    يستمر هذا المثال في أنشئ Logic App (قياسي) جديد في Azure Advanced.

    تظهر لقطة الشاشة قائمة خيارات النشر والخيار المحدد، إنشاء Logic App جديد (قياسي) في Azure Advanced.

  5. لإنشاء مورد تطبيق منطق قياسي جديد، اتبع الخطوات التالية:

    1. عندما يُطلب منك، أدخل اسماً فريداً عالمياً logic app الجديد، وهو الاسم الذي يجب استخدامه لمورد Logic App (قياسي). يستخدم هذا المثال Fabrikam-Workflows-App.

      تظهر لقطة الشاشة مطالبة بتوفير اسم لتطبيق المنطق الجديد لإنشائه.

    2. حدد خطة استضافة logic app الجديد الخاص بك. إما إنشاء اسم لخطتك، أو تحديد خطة موجودة (خطط App Service المستندة إلى Windows فقط). يحدد هذا المثال إنشاء خطة خدمة تطبيق جديدة.

      لقطة شاشة تعرض جزء

    3. أدخل اسماً لخطة الاستضافة الخاصة بك، ثم حدد فئة أسعار لخطتك المحددة.

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

    4. للحصول على الأداء الأمثل، حدد نفس مجموعة الموارد للمشروع الخاص بك للاستخدام.

      إشعار

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

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

      لقطة شاشة تعرض جزء

    6. إذا كانت إعدادات الإنشاء والتوزيع لتطبيقك المنطقي تدعم استخدام Application Insights، يمكنك اختياريًا تمكين تسجيل التشخيصات وتتبعها لتطبيق المنطق الخاص بك. يمكنك القيام بذلك إما عند استخدام logic app الخاص بك من Visual Studio Code أو بعد الاستخدام. تحتاج إلى مثيل Application Insights، ولكن يمكنك إنشاء هذا المورد إما مقدمًا، عند إنشاء logic app الخاص بك، أو بعد التوزيع.

      لتمكين التسجيل والتتبع الآن، اتبع الخطوات الموضحة أدناه:

      1. حدد إما مورد Application Insights موجود أو إنشاء مورد Application Insights جديد.

      2. في مدخل Microsoft Azure، انتقل إلى مورد Application Insights.

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

      4. في Visual Studio Code، في المجلد الجذر المشروع الخاص بك، افتح الملف local.settings.json.

      5. في Values الكائن، أضف الخاصية APPINSIGHTS_INSTRUMENTATIONKEY، ثم عين القيمة إلى مفتاح الأجهزة، على سبيل المثال:

        {
           "IsEncrypted": false,
           "Values": {
              "AzureWebJobsStorage": "UseDevelopmentStorage=true",
              "FUNCTIONS_WORKER_RUNTIME": "dotnet",
              "APPINSIGHTS_INSTRUMENTATIONKEY": <instrumentation-key>
           }
        }
        

        تلميح

        يمكنك التحقق مما إذا كان اسم المشغل والإجراء يظهران بشكل صحيح في مثيل Application Insights.

        1. في مدخل Microsoft Azure، انتقل إلى مورد Application Insights.

        2. في قائمة الموارد، ضمن Investigate، حدد Application map.

        3. راجع أسماء العمليات التي تظهر في الخريطة.

        يمكن أن تظهر بعض الطلبات الواردة من المشغلات المضمنة كتكرار في خريطة التطبيق. بدلاً من استخدام WorkflowName.ActionName التنسيق، تستخدم هذه التكرارات اسم سير العمل كاسم العملية وتنشأ من مضيف Azure Functions.

      6. بعد ذلك، يمكنك ضبط مستوى الخطورة اختياريًا لبيانات التتبع التي يجمعها logic app الخاص بك ويرسلها إلى مثيل Application Insights.

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

        • نشاط الخدمة، مثل البدء والإيقاف والأخطاء.
        • وظائف ونشاط المرسل.
        • نشاط سير العمل، مثل المشغل، والعمل، والتشغيل.
        • نشاط طلب تخزين، مثل النجاح أو الفشل.
        • نشاط طلب HTTP، مثل الوارد، والصادر، والنجاح، والفشل.
        • أي تتبعات تطوير، مثل رسائل الخاصة بالتصحيح.

        يعين كل نوع حدث على مستوى الخطورة. على سبيل المثال، Trace يلتقط المستوى الرسائل الأكثر تفصيلا، بينما Information يلتقط المستوى النشاط العام في سير العمل، مثل وقت بدء logic app وسير العمل والمشغل والإجراءات وإيقافها. يوضح هذا الجدول مستويات الخطورة وأنواع التتبع الخاصة بها:

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

        - عندما يبدأ وينتهي المشغل أو الإجراء أو التشغيل.
        - عندما يبدأ logic app الخاص بك أو ينتهي.

        Trace السجلات التي تحتوي على الرسائل الأكثر تفصيلاً، على سبيل المثال، طلبات التخزين أو نشاط المرسل، بالإضافة إلى جميع الرسائل المتعلقة بنشاط تنفيذ سير العمل.
        تحذير السجلات التي تبرز حالة غير طبيعية في logic app ولكنها لا تمنع تشغيلها.

        لتعيين مستوى الخطورة، على مستوى جذر المشروع، افتح ملف host.json، وابحث عن logging الكائن. يتحكم هذا الكائن في تصفية السجل لجميع مهام سير العمل في logic app الخاص بك ويتبع تخطيط ASP.NET Core لتصفية نوع السجل.

        {
           "version": "2.0",
           "logging": {
              "applicationInsights": {
                 "samplingExcludedTypes": "Request",
                 "samplingSettings": {
                    "isEnabled": true
                 }
              }
           }
        }
        

        إذا كان loggingالعنصر لا يحتوي على logLevelعنصر يتضمن الخاصية، أضف Host.Triggers.Workflow تلك العناصر. عين الخاصية إلى مستوى الخطورة لنوع التتبع الذي تريده، على سبيل المثال:

        {
           "version": "2.0",
           "logging": {
              "applicationInsights": {
                 "samplingExcludedTypes": "Request",
                 "samplingSettings": {
                    "isEnabled": true
                 }
              },
              "logLevel": {
                 "Host.Triggers.Workflow": "Information"
              }
           }
        }
        

    عند الانتهاء من خطوات الاستخدام يبدأ Visual Studio Code في إنشاء الموارد اللازمة لنشر logic app.

  6. لمراجعة عملية الاستخدام ومراقبتها، في القائمة View، حدد Output. من قائمة شريط أدوات نافذة الإخراج، حدد Azure Logic Apps.

    تظهر لقطة الشاشة نافذة الإخراج مع تحديد Azure Logic Apps في قائمة شريط الأدوات جنبا إلى جنب مع تقدم التوزيع وحالاته.

    عند انتهاء Visual Studio Code من استخدام logic app على Azure، تظهر الرسالة التالية:

    تظهر لقطة الشاشة رسالة تفيد باكتمال النشر إلى Azure بنجاح.

    تهانينا، logic app الخاص بك يعمل الآن في Azure ويتم تمكينه افتراضيًا.

بعد ذلك، يمكنك معرفة كيفية تنفيذ هذه المهام:

أضف سير عمل فارغًا إلى المشروع

يمكن أن يكون لديك العديد من مهام سير العمل في مشروع logic app الخاص بك. لإضافة سير عمل فارغ إلى المشروع الخاص بك، اتبع الخطوات التالية:

  1. في شريط نشاط التعليمات البرمجية الخاص بـ Visual Studio، حدد أيقونة Azure.

  2. في نافذة Azure ، على شريط أدوات قسم مساحة العمل، من قائمة Azure Logic Apps ، حدد Create workflow.

  3. حدد نوع سير العمل الذي ترغب إضافته: Stateful أو Stateless

  4. أدخل اسمًا لسير العمل الخاص بك.

عند الانتهاء، يظهر مجلد سير عمل جديد في المشروع الخاص بك مع ملف workflow.json لتعريف سير العمل.

إدارة logic apps المستخدم في Visual Studio Code

في Visual Studio Code، يمكنك عرض جميع تطبيقات المنطق المنشورة في اشتراك Azure، سواء كانت موارد Consumption أو Standard logic app، وتحديد المهام التي تساعدك على إدارة تطبيقات المنطق هذه. ومع ذلك، للوصول إلى كلا النوعين من الموارد، تحتاج إلى كل من Azure Logic Apps (Consumption) وملحقات Azure Logic Apps (Standard) ل Visual Studio Code.

  1. في شريط نشاط التعليمات البرمجية الخاص بـ Visual Studio، حدد أيقونة Azure. في الموارد، قم بتوسيع اشتراكك، ثم قم بتوسيع Logic App، الذي يعرض جميع التطبيقات المنطقية المنشورة في Azure لهذا الاشتراك.

  2. افتح logic apps الذي تريد إدارته. من القائمة المختصرة logic app، حدد المهمة التي تريد القيام بها.

    على سبيل المثال، يمكنك تحديد مهام مثل إيقاف logic app المستخدم أو بدء تشغيله أو إعادة تشغيله أو حذفه. بإمكانك تعطيل سير عمل أو تمكينه باستخدام مدخل Microsoft Azure.

    إشعار

    يؤثر تطبيق logic app وحذف العمليات الخاصة به على حالات سير العمل بطرق مختلفة. للمزيد من المعلومات، راجع Considerations for stopping logic appsواعتبارات تعطيل مهام سير العمل.

    تظهر لقطة الشاشة قسم Visual Studio Code مع الموارد ومورد تطبيق المنطق المنشور.

  3. لعرض جميع مهام سير العمل في logic app، وسع logic app الخاص بك، ثم وسع عقدة Workflows.

  4. لعرض سير عمل معين، افتح القائمة المختصرة لسير العمل، وحدد Open in Designer، الذي يفتح سير العمل في وضع القراءة فقط.

    لتحرير سير العمل، يكون لديك هذه الخيارات:

    • في Visual Studio Code، افتح ملف workflow.json الخاص بمشروعك في مصمم سير العمل، وأجري عمليات التحرير الخاصة بك، ثم أعد استخدام logic app الخاص بك إلى Azure.

    • في مدخل Microsoft Azure، افتح logic app الخاص بك. بإمكانك بعد ذلك فتح سير العمل وتحريره وحفظه.

  5. لفتح logic app المستخدم في مدخل Microsoft Azure، افتح القائمة المختصرة لـ logic app، وحدد Open in Portal.

    يفتح مدخل Microsoft Azure في المستعرض الخاص بك، ويسجّل دخولك إلى المدخل تلقائيًا إذا قمت بتسجيل الدخول إلى Visual Studio Code، ويعرض logic app الخاص بك.

    تظهر لقطة الشاشة صفحة مدخل Azure لتطبيق المنطق الخاص بك في Visual Studio Code.

    يمكنك أيضًا تسجيل الدخول بشكل منفصل إلى مدخل Microsoft Azure، واستخدام مربع بحث المدخل للعثور على logic app الخاص بك، ثم تحديد logic app الخاص بك من قائمة النتائج.

    تظهر لقطة الشاشة مدخل Azure وشريط البحث مع نتائج البحث لتطبيق المنطق المنشور، والذي يظهر محددا.

اعتبارات إيقاف تطبيقات المنطق

يؤثر إيقاف تطبيق منطق على مثيلات سير العمل بالطرق التالية:

  • يلغي Azure Logic Apps جميع عمليات التشغيل قيد التقدم والمعلقة على الفور.

  • لا تنشئ Azure Logic Apps مثيلات سير عمل جديدة أو تقوم بتشغيلها.

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

    لإيقاف تشغيل المشغل على العناصر غير المعالجة منذ آخر تشغيل، امسح حالة المشغل قبل إعادة تشغيل logic app:

    1. في شريط نشاط Visual Studio Code، حدد أيقونة Azure لفتح نافذة Azure.

    2. في قسم الموارد ، قم بتوسيع اشتراكك، والذي يعرض جميع تطبيقات المنطق المنشورة لهذا الاشتراك.

    3. قم بتوسيع logic app الخاص بك، ثم وسع العقدة التي تسمى Workflows.

    4. افتح سير عمل، وقم بتحرير أي جزء من مشغل سير العمل هذا.

    5. احفظ تغييراتك. تُعيد هذه الخطوة تعيين الحالة الحالية للمشغل.

    6. كرر ذلك لكل سير عمل.

    7. عند الانتهاء من ذلك، أعد تشغيل تطبيق المنطق.

اعتبارات لحذف logic apps

يؤثر حذف التطبيق المنطقي على مثيلات سير العمل بالطرق التالية:

  • تُلغي تطبيقات Azure Logic عمليات التشغيل قيد التقدم والمعلقة على الفور، ولكنها لا تشغل مهام التنظيف على وحدة التخزين التي يستخدمها التطبيق.

  • لا تنشئ Azure Logic Apps مثيلات سير عمل جديدة أو تقوم بتشغيلها.

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

تحكم في logic apps المستخدمة في المدخل

بعد نشر تطبيق منطقي إلى مدخل Microsoft Azure من Visual Studio Code، يمكنك عرض جميع تطبيقات المنطق المنشورة الموجودة في اشتراك Azure، سواء كانت موارد Consumption أو Standard logic app. حاليًا، ينظم كل نوع مورد وإدارته كفئات منفصلة في Azure. للعثور على تطبيقات المنطق القياسية، اتبع الخطوات التالية:

  1. في مربع البحث في مدخل Microsoft Azure، أدخل logic apps. عندما تظهر عند ظهور قائمة النتائج، ضمن Services، حدد Logic apps.

    تظهر لقطة الشاشة مربع بحث مدخل Microsoft Azure مع تطبيقات المنطق كنص بحث.

  2. في جزء "تطبيقات المنطق"، حدد تطبيق المنطق الذي وزّعته من Visual Studio Code.

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

    يفتح مدخل Microsoft Azure صفحة الموارد الفردية الخاصة بـ logic app المحدد.

    تظهر لقطة الشاشة مدخل Microsoft Azure وصفحة مورد تطبيق المنطق الخاص بك.

  3. لعرض مهام سير العمل في هذا logic app، في قائمة logic app، حدد Workflows.

    يوضح جزء Workflows جميع مهام سير العمل في logic app الحالي. يوضح هذا المثال سير العمل الذي أنشأته في Visual Studio Code.

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

  4. لعرض سير عمل، في جزء Workflows، حدد سير العمل هذا.

    يفتح جزء سير العمل ويعرض المزيد من المعلومات والمهام التي بإمكانك تنفيذها في سير العمل هذا.

    على سبيل المثال، لكي تعرض الخطوات في سير العمل، حدد Designer.

    تظهر لقطة الشاشة جزء نظرة عامة على سير العمل المحدد، بينما تعرض قائمة سير العمل أمر

    يفتح مصمم سير العمل ويعرض سير العمل الذي أنشأته في Visual Studio Code. بإمكانك الآن إجراء تغييرات على سير العمل هذا في مدخل Microsoft Azure.

    تظهر لقطة الشاشة مصمم سير العمل وسير العمل المنشور من Visual Studio Code.

أضف سير عمل آخر في المدخل

من خلال مدخل Microsoft Azure، يمكنك إضافة مهام سير عمل فارغة إلى مورد تطبيق منطقي قياسي قمت بنشره من Visual Studio Code وإنشاء مهام سير العمل هذه في مدخل Microsoft Azure.

  1. في مدخل Microsoft Azure، حدد مورد تطبيق المنطق القياسي المنشور.

  2. في قائمة مورد تطبيق المنطق، حدد Workflows. في جزء Workflows، حدد Add.

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

  3. في الجزء الخاص بـ New workflow، أدخل اسما لسير العمل. حدد إما Stateful أو Stateless > Create.

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

    تظهر لقطة الشاشة سير العمل المحدد مع خيارات الإدارة والمراجعة.

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

    تظهر لقطة الشاشة مصمم سير العمل وسير العمل الفارغ.

تمكين محفوظات التشغيل لسير العمل عديم الحالة

لتصحيح أخطاء سير عمل عديم الحالة بسهولة أكبر، يمكنك تمكين محفوظات التشغيل لسير العمل هذا، ثم تعطيل محفوظات التشغيل عند الانتهاء. اتبع هذه الخطوات لـ Visual Studio Code، أو إذا كنت تعمل في مدخل Microsoft Azure، فشاهد إنشاء مهام سير عمل تستند إلى مستأجر واحد في مدخل Microsoft Azure.

  1. في مشروع Visual Studio Code، على مستوى المجلد الجذر، افتح ملف local.settings.json .

  2. أضف الخاصية Workflows.{yourWorkflowName}.operationOptions ، واضبط القيمة على WithStatelessRunHistory، على سبيل المثال:

    Windows

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "Workflows.{yourWorkflowName}.OperationOptions": "WithStatelessRunHistory"
       }
    }
    

    macOS أو Linux

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=fabrikamstorageacct; \
              AccountKey=<access-key>;EndpointSuffix=core.windows.net",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "Workflows.{yourWorkflowName}.OperationOptions": "WithStatelessRunHistory"
       }
    }
    
  3. في مجلد المشروع المسمى workflow-designtime، افتح ملف local.settings.json ، وقم بإجراء نفس التغيير.

  4. لتعطيل محفوظات التشغيل عند الانتهاء، قم إما بتعيين الخاصية Workflows.{yourWorkflowName}.OperationOptions إلى None، أو احذف الخاصية وقيمتها.

تمكين عرض المراقبة في مدخل Microsoft Azure

بعد استخدام مورد Logic App (قياسي) من Visual Studio Code إلى Azure، يمكنك مراجعة أي محفوظات تشغيل وتفاصيل متاحة لسير عمل في هذا المورد باستخدام مدخل Microsoft Azure وتجربة Monitor لسير العمل هذا. ومع ذلك، عليك أولا تمكين إمكانية عرض Monitor على مورد logic app هذا.

  1. في مدخل Microsoft Azure، افتح مورد تطبيق المنطق القياسي.

  2. في قائمة مورد تطبيق المنطق، ضمن API، حدد CORS.

  3. في جزء CORS، ضمن Allowed Origins، أضف حرف بدل (*).

  4. عند الانتهاء، في شريط أدوات CORS، حدد حفظ.

    تظهر لقطة الشاشة مدخل Microsoft Azure مع مورد تطبيق المنطق القياسي المنشور. في قائمة الموارد، يتم تحديد CORS مع تعيين إدخال جديد للأصول المسموح بها على حرف البدل * .

تمكين Application Insights أو فتحه بعد التوزيع

أثناء تنفيذ سير العمل، يصدر logic app التتبع عن بُعد مع أحداث أخرى. يمكنك استخدام بيانات تتبع الاستخدام هذه للحصول على رؤية أفضل لمدى تشغيل سير العمل الخاص بك وكيفية عمل وقت تشغيل Logic Apps بطرق مختلفة. يمكنك مراقبة سير العمل باستخدام Application Insights، والذي يوفر بيانات تتبع الاستخدام في الوقت الفعلي تقريبًا (المقاييس المباشرة). يمكن أن تساعدك هذه الإمكانية في التحقق من حالات الفشل ومشاكل الأداء بسهولة أكبر عند استخدام هذه البيانات لتشخيص المشكلات وإعداد التنبيهات وإنشاء المخططات.

إذا كانت إعدادات الإنشاء والتوزيع لتطبيقك المنطقي تدعم استخدام Application Insights، يمكنك اختياريًا تمكين تسجيل التشخيصات وتتبعها لتطبيق المنطق الخاص بك. يمكنك القيام بذلك إما عند استخدام logic app الخاص بك من Visual Studio Code أو بعد الاستخدام. تحتاج إلى مثيل Application Insights، ولكن يمكنك إنشاء هذا المورد إما مقدمًا، عند إنشاء logic app الخاص بك، أو بعد التوزيع.

لتمكين Application Insights على logic app منشور أو لمراجعة بيانات Application Insights عند تمكينها بالفعل، اتبع الخطوات الموضحة أدناه:

  1. في مدخل Microsoft Azure، ابحث عن تطبيق المنطق المنشور.

  2. في قائمة logic app، ضمن الإعدادات، حدد Application Insights.

  3. إذا لم يتم تمكين Application Insights، في جزء Application Insights، حدد تشغيل Application Insights. بعد تحديث الجزء، الموجود في الأسفل، حدد Apply.

    إذا تم تمكين Insights التطبيق، في جزء Application Insights، حدد عرض بيانات Application Insights.

بعد فتح Application Insights، يمكنك مراجعة مقاييس مختلفة لتطبيق المنطق الخاص بك. لمزيد من المعلومات، راجع هذه الموضوعات:

حذف العناصر من المصمم

لحذف عنصر في سير العمل من المصمم، اتبع أيا من الخطوات التالية:

  • حدد العنصر، وافتح القائمة المختصرة للعنصر (Shift+F10)، وحدد حذف. للتأكيد، حدد «OK».

  • حدد العنصر، واضغط على مفتاح الحذف. للتأكيد، حدد «OK».

  • حدد العنصر بحيث يفتح جزء التفاصيل لهذا العنصر. في الزاوية العلوية اليسرى من الجزء، افتح قائمة علامات الحذف (...)، وحدد حذف. للتأكيد، حدد «OK».

    تظهر لقطة الشاشة عنصرا محددا على المصمم مع جزء المعلومات المفتوح بالإضافة إلى زر علامات الحذف المحددة والأمر

    تلميح

    إذا لم تكن قائمة علامات الحذف مرئية، فوسع Visual Studio بحيث تعرض جزء التفاصيل زر علامات الحذف (...) في الزاوية العلوية اليمني.

اكتشاف الأخطاء والمشاكل وإصلاحها

إخفاق المصمم في الفتح

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

  1. في Visual Studio Code، افتح نافذة الإخراج. من القائمة ⁧⁩View⁧⁩، حدد ⁧⁩Output⁧⁩.

  2. من القائمة الموجودة في شريط عنوان نافذة الإخراج، حدد Azure Logic Apps (Standard) بحيث يمكنك مراجعة الإخراج من الملحق، على سبيل المثال:

    لقطة شاشة تعرض نافذة الإخراج مع تحديد «Azure Logic Apps».

  3. تأكد من مراجعة الإخراج وتحقق مما إذا كانت رسالة الخطأ هذه تظهر:

    A host error has occurred during startup operation '{operationID}'.
    System.Private.CoreLib: The file 'C:\Users\{userName}\AppData\Local\Temp\Functions\
    ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows\1.1.7\bin\
    DurableTask.AzureStorage.dll' already exists.
    Value cannot be null. (Parameter 'provider')
    Application is shutting down...
    Initialization cancellation requested by runtime.
    Stopping host...
    Host shutdown completed.
    

لحل هذا الخطأ، احذف المجلد ExtensionBundles في هذا الموقع ...\المستخدمين {اسم المستخدم الخاص بك}\AppData\Local\Temp\Functions\ExtensionBundles، وأعد محاولة فتح ملف workflow.json في المصمم.

المشغلات والإجراءات الجديدة مفقودة من منتقي المصمم لسير العمل الذي تم إنشاؤه مسبقًا

يدعم Azure Logic Apps أحادي المستأجر الإجراءات المضمنة لعمليات وظائف Azure والعمليات السائلة وعمليات XML، مثل التحقق من صحة XML وتحويل XML. ومع ذلك، بالنسبة للتطبيقات المنطقية التي أنشأت مسبقًا، يمكن أن لا تظهر هذه الإجراءات في منتقي المصمم لتحديد ما إذا كان Visual Studio Code يستخدم إصدارًا قديمًا من حزمة الملحقاتMicrosoft.Azure.Functions.ExtensionBundle.Workflows.

أيضا، لا يظهر موصل Azure Function Operations والإجراءات في منتقي المصمم ما لم تمكن أو تحدد استخدام الموصلات من Azure عند إنشاء logic app الخاص بك. إذا لم تمكن الموصلات التي استخدمت في Azure في وقت إنشاء التطبيق، فيمكنك تمكينها من المشروع الخاص بك في Visual Studio Code. افتح القائمة المختصرة workflow.json، تأكد من تحديد Use Connectors من Azure.

لإصلاح الحزمة القديمة، اتبع هذه الخطوات لحذف الحزمة القديمة، مما يجعل Visual Studio Code يحدث حزمة الملحقات تلقائيًا إلى أحدث إصدار.

إشعار

ينطبق هذا الحل فقط على logic apps التي تنشئها وتنشرها باستخدام Visual Studio Code مع ملحق Azure Logic Apps (Standard)، وليس logic apps التي أنشأتها باستخدام مدخل Microsoft Azure. تأكد أن المشغلات والإجراءات المدعومة مفقودة من المصمم في مدخل Microsoft Azure.

  1. احفظ أي عمل لا تريد أن تفقده، وأغلق Visual Studio.

  2. على جهاز الكمبيوتر الخاص بك، استعرض المجلد التالي، الذي يحتوي على مجلدات ذات إصدارات للحزمة الحالية:

    ...\Users\{your-username}\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows

  3. احذف مجلد الإصدار للحزمة السابقة، على سبيل المثال، في حالة كان لديك مجلد للإصدار 1.1.3، فاحذف هذا المجلد.

  4. الآن، استعرض للوصول إلى المجلد الموضح أدناه الذي يحتوي على مجلدات ذات إصدارات لحزمة NuGet المطلوبة:

    ...\Users\{your-username}\.nuget\packages\microsoft.azure.workflows.webjobs.extension

  5. احذف مجلد الإصدار للحزمة السابقة.

  6. أعد فتح Visual Studio Code والمشروع الخاص بك وملف workflow.json في المصمم.

تتضح المشغلات والإجراءات المفقودة الآن في المصمم.

يظهر «400 طلب غير صالح» على مشغل أو إجراء

في حالة فشل التشغيل، وفحص التشغيل في طريقة عرض المراقبة، فيمكن أن يظهر هذا الخطأ على مشغل أو إجراء له اسم أطول، مما يتسبب في تجاوز معرّف الموارد المنتظم (URI) الأساسي حد الأحرف الافتراضي.

لحل هذه المشكلة وضبط URI الأطول، حرر UrlSegmentMaxCountوUrlSegmentMaxLength مفتاحي التسجيل على الكمبيوتر باتباع الخطوات أدناه. توصف القيم الافتراضية لهذا المفتاح في هذا الموضوع، Http.sys إعدادات التسجيل لنظام التشغيل Windows.

هام

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

  1. على الكمبيوتر الخاص بك، افتح نافذة Run، ثم شغل regedit الأمر الذي يفتح محرر التسجيل.

  2. في مربع التحكم في حساب المستخدم، حدد Yes للسماح بالتغييرات التي أجريتها على الكمبيوتر الخاص بك.

  3. في الجزء الأيسر ضمن Computer، وسع العقد على طول المسار، HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters، ثم حدد Parameters.

  4. في الجزء الأيمن، ابحث عن مفتاحي التسجيل UrlSegmentMaxCount وUrlSegmentMaxLength.

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

    1. من القائمة المختصرة Parameters، حدد New>DWORD (32 بت) Value.

    2. في مربع التحرير الذي يظهر، أدخل UrlSegmentMaxCount كاسم خاص بالمفتاح الجديد.

    3. افتح القائمة المختصرة للمفتاح الجديد، وحدد Modify.

    4. في المربع Edit String الذي يظهر، أدخل قيمة مفتاح بيانات القيمة التي تريدها بتنسيق سداسي عشري أو عشري. على سبيل المثال، 400 فيما يتعلق بالرقم السداسي العشري يعادل 1024 الرقم العشري.

    5. لإضافة UrlSegmentMaxLength قيمة المفتاح، تأكد من تكرار هذه الخطوات.

    بعد زيادة هذه القيم الأساسية أو إضافتها، يشبه محرر التسجيل مثل هذا المثال:

    لقطة شاشة تظهر محرر التسجيل.

  6. عندما تكون جاهزًا، أعد تشغيل الكمبيوتر حتى تسري التغييرات.

فشل جلسة التصحيح في البدء

عند محاولة بدء جلسة تصحيح الأخطاء، تحصل على الخطأ، «يوجد خطأ بعد تشغيل preLaunchTask createDebugSymbols». لحل هذه المشكلة، حرر ملف tasks.json في المشروع الخاص بك لتخطي إنشاء الرموز.

  1. في المشروع الخاص بك، وسع المجلد المسمى .vscode، وافتح ملف tasks.json.

  2. في المهمة الموضحة أدناه احذف السطر، "dependsOn: "generateDebugSymbols"، جنبا إلى جنب مع الفاصلة التي تنتهي السطر السابق، على سبيل المثال:

    قبل:

     {
       "type": "func",
       "command": "host start",
       "problemMatcher": "$func-watch",
       "isBackground": true,
       "dependsOn": "generateDebugSymbols"
     }
    

    بعد:

     {
       "type": "func",
       "command": "host start",
       "problemMatcher": "$func-watch",
       "isBackground": true
     }
    

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

نود أن نسمع منك عن التجارب الخاصة بك مع ملحق Azure Logic Apps (Standard)!