استكشاف الأخطاء وإصلاحها وتشخيص حالات فشل سير العمل في Azure Logic Apps
ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)
يُنشئ سير عمل تطبيقك المنطقي معلومات يمكن أن تساعدك في تشخيص المشكلات وتصحيحها في تطبيقك. يمكنك تشخيص سير العمل عن طريق مراجعة المدخلات والمخرجات والمعلومات الأخرى لكل خطوة في سير العمل باستخدام مدخل Microsoft Azure. أو يمكنك إضافة بعض الخطوات إلى سير عمل لتصحيح أخطاء وقت التشغيل.
تحقق من تاريخ الزناد
تبدأ كل عملية تشغيل لسير العمل بمشغل، يتم تنشيطه وفقاً لجدول أو انتظار طلب أو حدث وارد. يسرد سجل المشغل جميع محاولات المشغل التي قام بها سير عملك ومعلومات بشأن المدخلات والمخرجات لكل محاولة تشغيل. إذا لم ينطلق المشغل، فجرّب الخطوات التالية.
للتحقق من حالة المشغل في تطبيق الاستهلاك، راجع سجل التشغيل. لعرض مزيد من المعلومات بشأن محاولة التشغيل، حدد هذا الحدث المشغل، على سبيل المثال:
تحقق من مدخلات المشغل لتأكيد ظهورها بالشكل الذي تتوقعه. في جزء المحفوظات، ضمن ارتباط المدخلات، حدد الارتباط الذي يعرض جزء المدخلات.
تتضمن مدخلات المشغل البيانات التي يتوقعها المشغل ويتطلبها لبدء سير العمل. يمكن أن تساعدك مراجعة هذه المدخلات في تحديد ما إذا كانت مدخلات المشغل صحيحة وما إذا كان الشرط قد تم الوفاء به بحيث يمكن متابعة سير العمل.
تحقق من مخرجات المشغلات، إن وجدت، لتأكيد ظهورها بالشكل الذي تتوقعه. في جزء المحفوظات، ضمن ارتباط المخرجات، حدد الارتباط الذي يعرض جزء المخرجات.
تتضمن مخرجات المشغّل البيانات التي ينقلها المشغّل إلى الخطوة التالية في سير عملك. يمكن أن تساعدك مراجعة هذه المخرجات في تحديد ما إذا كانت القيم الصحيحة أو المتوقعة التي تم تمريرها إلى الخطوة التالية في سير عملك.
على سبيل المثال، تشير رسالة خطأ إلى أنه لم يتم العثور على موجز RSS:
تلميح
إذا وجدت أي محتوى لا تعرفه، فتعرف على المزيد بشأن أنواع المحتوى المختلفة فيAzure Logic Apps.
تحقق من محفوظات تشغيل سير العمل
في كل مرة يتم فيها تشغيل المشغل، تقوم Azure Logic Apps بإنشاء مثيل سير عمل وتشغيل هذا المثيل. إذا فشل التشغيل، فجرّب الخطوات التالية حتى تتمكن من مراجعة ما حدث خلال ذلك التشغيل. يمكنك مراجعة الحالة والمدخلات والمخرجات لكل خطوة في سير العمل.
للتحقق من حالة تشغيل سير العمل في تطبيق منطق الاستهلاك، راجع سجل التشغيل. لعرض مزيد من المعلومات بشأن التشغيل الفاشل، بما في ذلك جميع الخطوات في ذلك التشغيل في حالتها، حدد التشغيل الفاشل.
بعد ظهور جميع الخطوات في التشغيل، حدد كل خطوة لتوسيع أشكالها.
راجع المدخلات والمخرجات وأي رسائل خطأ للخطوة الفاشلة.
على سبيل المثال، تُظهر لقطة الشاشة التالية مخرجات إجراء RSS الفاشل.
إجراء تصحيح وقت التشغيل
للمساعدة في تصحيح الأخطاء، يمكنك إضافة خطوات تشخيصية إلى سير عمل تطبيق منطقي، جنباً إلى جنب مع مراجعة المشغل وسجل التشغيل. على سبيل المثال، يمكنك إضافة خطوات تستخدم خدمة Webhook Tester، حتى تتمكن من فحص طلبات HTTP وتحديد حجمها وشكلها وتنسيقها بدقة.
في المتصفح، انتقل إلى موقع Webhook Tester وانسخ عنوان URL الفريد الذي تم إنشاؤه.
في تطبيقك المنطقي، أضف إجراء HTTP POST مع محتوى الجسم الذي تريد اختباره، على سبيل المثال، تعبير أو إخراج خطوة أخرى.
الصق عنوان URL الخاص بك من Webhook Tester في إجراء HTTP POST.
لمراجعة كيفية قيام Azure Logic Apps بإنشاء طلب وتشكيله، قم بتشغيل سير عمل تطبيق المنطق. يمكنك بعد ذلك زيارة موقع Webhook Tester للحصول على مزيد من المعلومات.
الأداء - الأسئلة المتداولة (FAQ)
لماذا مدة تشغيل سير العمل أطول من مجموع جميع مدد إجراءات سير العمل؟
توجد جدولة النفقات العامة عند تشغيل الإجراءات، بينما يمكن أن يحدث وقت الانتظار بين الإجراءات بسبب تحميل نظام الواجهة الخلفية. تتضمن مدة تشغيل سير العمل أوقات الجدولة وأوقات الانتظار هذه مع مجموع جميع مدد الإجراء.
عادة ما يكتمل سير العمل الخاص بي في غضون 10 ثوان. ولكن، في بعض الأحيان، قد يستغرق إكماله وقتًا أطول بكثير. كيف يمكنني التأكد من انتهاء سير العمل دائمًا في غضون 10 ثوان؟
لا يوجد ضمان SLA عند زمن الانتقال.
تعمل مهام سير عمل الاستهلاك على Azure Logic Apps متعددة المستأجرين، لذلك قد تؤثر أحمال عمل العملاء الآخرين سلبًا على أداء سير العمل الخاص بك.
للحصول على أداء أكثر قابلية للتنبؤ، قد تفكر في إنشاء مهام سير عمل قياسية، والتي تعمل في Azure Logic Apps أحادية المستأجر. سيكون لديك المزيد من التحكم لتوسيع نطاق الأداء رأسيًا أو أفقيًا لتحسين الأداء.
تنتهي أوقات الإجراء بعد دقيقتين. كيف يمكنني زيادة قيمة المهلة؟
لا يمكن تغيير قيمة مهلة الإجراء ويتم إصلاحها في دقيقتين. إذا كنت تستخدم إجراء HTTP، وكنت تملك الخدمة التي تم استدعاؤها بواسطة إجراء HTTP، يمكنك تغيير الخدمة لتجنب المهلة التي تبلغ دقيقتين باستخدام النمط غير المتزامن. لمزيد من المعلومات، راجع تنفيذ المهام طويلة الأمد باستخدام نمط إجراء عملية تحقق.
المشاكل الشائعة - التطبيقات المنطقية القياسي
البيانات الاصطناعية لا يمكن الوصول إليها في حساب تخزين Azure
تخزن التطبيقات المنطقية القياسي جميع البيانات الاصطناعية في حساب تخزين Azure. قد تحصل على الأخطاء التالية إذا لم يكن من الممكن الوصول إلى هذه البيانات الاصطناعية. على سبيل المثال، قد لا يمكن الوصول إلى حساب التخزين نفسه، أو أن حساب التخزين خلف جدار حماية ولكن لم يتم إعداد نقطة نهاية خاصة لاستخدام خدمات التخزين.
موقع مدخل Microsoft Azure | خطأ |
---|---|
جزء النظرة العامة | - System.private.corelib: تم رفض الوصول إلى المسار 'C: home site wwwroot hostj.son - Azure.Storage.Blobs: هذا الطلب غير مخول لإجراء هذه العملية |
جزء مهام سير العمل | - لا يمكن الوصول إلى وقت تشغيل المضيف. تفاصيل الخطأ، التعليمة البرمجية: "BadRequest"، الرسالة: "Encountered an error (InternalServerError) from host runtime." - لا يمكن الوصول إلى وقت تشغيل المضيف. تفاصيل الخطأ، التعليمة البرمجية: "BadRequest"، الرسالة: "حدث خطأ (ServiceUnavailable) من وقت تشغيل المضيف." - لا يمكن الوصول إلى وقت تشغيل المضيف. تفاصيل الخطأ، التعليمة البرمجية: "BadRequest"، الرسالة: "حدث خطأ (BadGateway) من وقت تشغيل المضيف." |
خلال إنشاء سير العمل وتنفيذه | - فشل حفظ سير العمل - خطأ في المصمم: GetCallFailed. عمليات الجلب الفاشلة - فشل استدعاء ajaxExtended |
خيارات استكشاف الأخطاء وإصلاحها
تتضمن القائمة التالية الأسباب المحتملة لهذه الأخطاء وخطوات للمساعدة في استكشاف الأخطاء وإصلاحها.
بالنسبة لحساب التخزين العام، تحقق من الوصول إلى حساب التخزين بالطرق التالية:
تحقق من اتصال حساب التخزين باستخدام Azure Storage Explorer.
في إعدادات تطبيق مورد التطبيق المنطقي، تأكد من سلسلة اتصال حساب التخزين في إعدادات التطبيق، AzureWebJobsStorage وWEBSITE_CONTENTAZUREFILECONNECTIONSTRING. للحصول على مزيد من المعلومات، انظر إعدادات المضيف والتطبيق لتطبيقات المنطق في Azure Logic Apps للمستأجر الواحد.
إذا فشل الاتصال، فتحقق مما إذا كان مفتاح توقيع الوصول المشترك (SAS) في سلسلة الاتصال هو الأحدث.
هام
عندما يكون لديك معلومات حساسة، مثل سلسلة الاتصال التي تتضمن أسماء المستخدمين وكلمات المرور، تأكد من استخدام تدفق المصادقة الأكثر أمانا المتوفرة. على سبيل المثال، في مهام سير عمل تطبيق المنطق القياسي، أنواع البيانات الآمنة، مثل
securestring
وsecureobject
، غير مدعومة. توصي Microsoft بمصادقة الوصول إلى موارد Azure بهوية مدارة عندما يكون ذلك ممكنا، وتعيين دور له أقل امتياز ضروري.إذا كانت هذه الإمكانية غير متوفرة، فتأكد من تأمين سلسلة الاتصال من خلال تدابير أخرى، مثل
Azure Key Vault، والذي يمكنك استخدامه مع إعدادات التطبيق. يمكنك بعد ذلكالعودة مباشرة إلى سلاسل آمنة، مثل سلاسل الاتصال والمفاتيح. على غرار قوالب ARM، حيث يمكنك تحديد متغيرات البيئة في وقت التوزيع، يمكنك تحديد إعدادات التطبيق ضمن تعريف سير عمل التطبيق المنطقي. يمكنك بعد ذلك تسجيل قيم البنية الأساسية التي تم إنشاؤها ديناميكياً، مثل نقاط نهاية الاتصال وسلاسل التخزين والمزيد. لمزيد من المعلومات، راجع أنواع التطبيقات النظام الأساسي للهويات في Microsoft.
بالنسبة إلى حساب التخزين المحمي بجدار حماية، تحقق من الوصول إلى حساب التخزين بالطرق التالية:
إذا تم تمكين قيود جدار الحماية على حساب التخزين، فتحقق مما إذا كان قد تم إعداد نقاط النهاية الخاصة لخدمات تخزين Blob وFile وTable وQueue.
تحقق من اتصال حساب التخزين باستخدام Azure Storage Explorer.
إذا وجدت مشاكل في الاتصال، فتابع الخطوات التالية:
في نفس الشبكة الظاهرية المدمجة مع التطبيق المنطقي الخاص بك، قم بإنشاء جهاز ظاهري Azure، والذي يمكنك وضعه في شبكة فرعية مختلفة.
من موجه الأوامر، قم بتشغيل nslookup للتحقق من أن خدمات التخزين Blob وFile وTable وQueue تتحلل إلى عناوين IP المتوقعة.
بناء الجملة:
nslookup [StorageaccountHostName] [OptionalDNSServer]
النقطة الثنائية الكبيرة:
nslookup {StorageaccountName}.blob.core.windows.net
الملف:
nslookup {StorageaccountName}.file.core.windows.net
الجدول:
nslookup {StorageaccountName}.table.core.windows.net
قائمة الانتظار:
nslookup {StorageaccountName}.queue.core.windows.net
إذا كانت خدمة التخزين تشتمل على نقطة نهاية خدمة، فإن الخدمة تنتقل إلى عنوان IP عام.
إذا كانت خدمة التخزين تشتمل على نقطة نهاية خاصة، فإن الخدمة تنتقل إلى عناوين IP الخاصة لوحدة التحكم في واجهة الشبكة (NIC).
إذا تم حل استعلامات خادم اسم المجال (DNS) السابقة بنجاح، فقم بتشغيل الأمرين psping أو tcpping للتحقق من الاتصال بحساب التخزين عبر المنفذ 443:
بناء الجملة:
psping [StorageaccountHostName] [Port] [OptionalDNSServer]
النقطة الثنائية الكبيرة:
psping {StorageaccountName}.blob.core.windows.net:443
الملف:
psping {StorageaccountName}.file.core.windows.net:443
الجدول:
psping {StorageaccountName}.table.core.windows.net:443
قائمة الانتظار:
psping {StorageaccountName}.queue.core.windows.net:443
إذا كانت كل خدمة تخزين قابلة للحل من جهاز Azure الظاهري، فابحث عن DNS الذي يستخدمه الجهاز الظاهري للحل.
اضبط إعداد تطبيق WEBSITE_DNS_SERVER لتطبيقك المنطقي على DNS، وتأكد من أن DNS يعمل بنجاح.
تأكد من إعداد تكامل VNet بشكل صحيح مع الشبكة الظاهرية والشبكة الفرعية المناسبة في التطبيق المنطقي القياسي.
إذا كنت تستخدم مناطق Azure DNS الخاصة لخدمات نقاط النهاية الخاصة لحساب التخزين الخاص بك، فتحقق من إنشاء ارتباط شبكة ظاهرية للشبكة الظاهرية المدمجة لتطبيق المنطق.
لمزيد من المعلومات، راجع توزيع التطبيق المنطقي القياسي على حساب تخزين خلف جدار حماية باستخدام الخدمة أو نقاط النهاية الخاصة.