يتم تلقى تعليمة برمجية خطأ عند الفشل في توزيع مورد Azure باستخدام قوالب إدارة الموارد Azure (قوالب ARM) أو ملفات Bicep. توضح هذه المقالة كيفية العثور على رموز الخطأ بحيث يمكنك استكشاف المشكلة وإصلاحها. لمزيد من المعلومات حول رموز الخطأ، يمكنك الاطلاع على أخطاء التوزيع الشائعة.
أنواع الأخطاء
هناك ثلاثة أنواع من الأخطاء المرتبطة بالنشر:
تظهر أخطاء التحقق من صحة البيانات قبل بدء عملية النشر وهي ناتجة عن أخطاء بناء الجملة في الملف. يمكن لمحرر التعليمات البرمجية مثل Visual Studio Code تحديد هذه الأخطاء.
تحدث أخطاء التحقق من صحة الاختبار المبدئي عند تشغيل أمر التوزيع دون توزيع الموارد. يتم العثور على هذه الأخطاء قبل بدء النشر. على سبيل المثال، إذا كانت قيمة معلمة غير صحيحة، يستطيع الاختبار المبدئي العثور على الخطأ.
أخطاء التوزيع تظهر أثناء عملية التوزيع ولا يمكن العثور عليها إلا بتقييم سير عملية التوزيع في بيئة Azure.
ومع كل خطا يظهر رمز خطأ مميز يستخدم لاستكشاف أخطاء النشر وإصلاحها. تظهر أخطاء التحقق من الصحة وأخطاء الاختبار المبدئي في سجل النشاط، ولكن لا تظهر في محفوظات التوزيع. لا يتم التحويل البرمجي لملف Bicep الذي يحتوي على أخطاء في بناء الجملة إلى JSON ولا يظهر في سجل النشاط.
يجري التحقق من صحة القوالب أثناء عملية التوزيع ثم يُعرض رموز الخطأ. يمكنك تحديد التحقق من الصحة وأخطاء الاختبار المبدئي قبل تشغيل التوزيع عن طريق تشغيل اختبارات التحقق من الصحة مع Azure PowerShell أو Azure CLI.
يمكن توزيع قالب ARM من المدخل. إذا كان القالب يحتوي على أخطاء في بناء الجملة، فسترى خطأ في التحقق من الصحة عند محاولة تشغيل التوزيع. لمزيد من المعلومات حول عمليات توزيع المدخل، يمكنك الاطلاع على توزيع الموارد من قالب مخصص.
يحاول المثال التالي توزيع حساب تخزين مع حدوث خطأ في التحقق من الصحة.
حدد الرسالة لمزيد من التفاصيل. يحتوي القالب على خطأ في بناء الجملة مع رمز الخطأInvalidTemplate. يُوضّح الملخص أن أحد التعبيرات ينقصه قوس إغلاق.
يعرض الإخراج رموز الخطأ مثل InvalidTemplateDeployment أو AccountNameInvalid التي يمكنك استخدامها لاستكشاف وإصلاح القالب.
بالنسبة لملف Bicep، يُظهر ناتج مشكلة التحقق من بناء الجملة خطأ في المُعامل.
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
للحصول على مزيد من المعلومات حول استكشاف الأخطاء وإصلاحها، استخدم الأمر تحديث الإصدار Bicep. يُظهر الإخراج رقم سطر الخطأ والعمود بين قوسين، ورسالة الخطأ.
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
نطاقات أخرى
هناك Azure PowerShell cmdlets للتحقق من صحة قوالب التوزيع للاشتراك ومجموعة الإدارة ونطاقات المستأجر.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
يعرض الإخراج رموز الخطأ مثل InvalidTemplateDeployment أو AccountNameInvalid التي يمكنك استخدامها لاستكشاف وإصلاح القالب.
بالنسبة إلى ملف Bicep، يُظهر الإخراج رقم كل سطر خطأ وعمود بين قوسين، ورسالة الخطأ.
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
نطاقات أخرى
هناك أوامر Azure CLI للتحقق من صحة قوالب التوزيع للاشتراك ومجموعة الإدارة ونطاقات المستأجر.
تُعالج العديد من العمليات لتوزيع مورد Azure. تحدث أخطاء التوزيع عند اجتياز عملية التحقق من الصحة ولكنها تفشل أثناء التوزيع. يمكنك عرض رسائل حول كل عملية توزيع وكل عملية توزيع لمجموعة موارد.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجع https://aka.ms/ContentUserFeedback.