تحديد وحلّ المشاكل المتعلقة بنشر سياسة PythonScript

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

InvalidResourceUrlFormat

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ هذه:

Error Deploying Revision revision_number to environment
Invalid resource url format. Resource url is invalid_URL.

مثال على رسالة الخطأ

Error Deploying Revision 2 to prod
Invalid resource url format. Resource url is py:myscript.py.

مثال للقطة شاشة

السبب

إذا كان تنسيق عنوان URL للمورد المحدّد في <ResourceURL> أو العنصر <IncludeURL> في سياسة PythonScript غير صالح، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

ويظهر التنسيق الصحيح كما هو موضّح أدناه:

<ResourceURL>py://file_name.py</ResourceURL>
<IncludeURL>py://file_name.py</IncludeURL>

على سبيل المثال، إذا تم تحديد العنصر <ResourceURL> كما هو موضّح أدناه، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات لأنّه لا يتّبع النمط المطلوب:

<ResourceURL>py:myscript.py</ResourceURL>

التشخيص

  1. حدِّد تنسيق عنوان URL للمورد غير الصالح والمستخدَم في سياسة PythonScript. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون تنسيق عنوان URL للمورد غير الصالح هو py:myscript.py:

    Invalid resource url format. Resource url is py:myscript.py.
    
  2. افحص جميع سياسات PythonScript في الخادم الوكيل لواجهة برمجة التطبيقات المحدَّد الذي حدث به الخطأ. إذا كانت هناك أي سياسة PythonScript يتطابق فيها عنوان URL للمورد المحدّد في <ResourceURL> أو العنصر <IncludeURL> مع الإدخال غير الصالح المحدّد في الخطوة رقم 1 أعلاه، يكون سبب الخطأ هو سبب الخطأ.

    على سبيل المثال، تحدِّد السياسة التالية عنوان URL للمورد على أنّه py:myscript.py، والذي يتطابق مع ما هو مذكور في رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Script async="false" continueOnError="false" enabled="true" timeLimit="200" name="py-TotalVariable">
        <DisplayName>py-TotalVariable</DisplayName>
        <Properties/>
        <ResourceURL>py:myscript.py</ResourceURL>
    </Script>
    

    بما أنّه تم تحديد عنوان URL للمورد على أنّه py:myscript.py، وهو عنوان غير صالح، تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات مع ظهور الخطأ:

    Invalid resource url format. Resource url is py:myscript.py.
    

درجة الدقّة

تأكّد من صلاحية تنسيق عنوان URL للمورد المحدّد في العنصر <ResourceURL> في سياسة PythonScript. مثلاً:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Script async="false" continueOnError="false" enabled="true" timeLimit="200" name="py-TotalVariable">
    <DisplayName>py-TotalVariable</DisplayName>
    <Properties/>
    <ResourceURL>py://myscript.py</ResourceURL>
</Script>

InvalidResourceUrlReference

رسالة الخطأ

يتعذّر نشر خادم وكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ هذه:

Error Deploying Revision revision_number to environment
Invalid resource url ref invalid_reference in policy policy_name in org_name

مثال على رسالة الخطأ

Error Deploying Revision 2 to prod
Invalid resource url ref py://myscript.py in policy Python_script in myorg

مثال للقطة شاشة

السبب

إذا كان العنصران <ResourceURL> و<IncludeURL> يشيران إلى ملف PythonScript غير متوفر، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. إذا كنت تنشر حزمة خادم وكيل من جهازك المحلي، حينئذٍ يجب تخزين ملفات المصدر PythonScript ضمن /apiproxy/resources/py(على نطاق الخادم الوكيل لواجهة برمجة التطبيقات).

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

يمكنك أيضًا تخزين ملفات الموارد في المستودعات على مستوى المؤسسة والبيئة (لإتاحة رمز PythonScript لجميع الخوادم الوكيلة في مؤسسة أو بيئة، مثلاً). يحدث هذا الخطأ إذا تعذَّر العثور على أي ملفات موارد تم تحديدها في السياسة.

التشخيص

  1. حدِّد سياسة PythonScript حيث حدث الخطأ ومرجع عنوان URL للمورد غير الصالح. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو Python_script ومرجع عنوان URL للمورد غير الصالح هو py://myscript.py:

    Invalid resource url ref py://myscript.py in policy Python_script in myorg
    
  2. تحقق من أن مرجع عنوان URL للمورد المحدد في سياسة PythonScript الفاشلة يتطابق مع القيمة المحددة في رسالة الخطأ (الخطوة رقم 1 أعلاه). على سبيل المثال، تحدِّد السياسة التالية مرجع عنوان URL للمورد على أنّه py://myscript.py، والذي يتطابق مع ما هو مذكور في رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Script async="false" continueOnError="false" enabled="true" name="Python_script">
        <DisplayName>Python-1</DisplayName>
        <Properties/>
        <ResourceURL>py://myscript.py</ResourceURL>
    </Script>
    
  3. تحقَّق مما إذا كان الملف المحدّد في الخطوة رقم 1 جزءًا من حزمة الخادم الوكيل لواجهة برمجة التطبيقات المحدّدة، أو متوفّر على نطاق المؤسسة أو البيئة.

    1. للتحقّق مما إذا كان الملف جزءًا من حزمة الخادم الوكيل لواجهة برمجة التطبيقات، اتّبِع إحدى الخطوات التالية:
      1. في واجهة مستخدم Edge، تحقَّق مما إذا كان هذا الملف في قسم "النصوص البرمجية" في الخادم الوكيل لواجهة برمجة التطبيقات.
      2. نزِّل حزمة الخادم الوكيل لواجهة برمجة التطبيقات وابحث عن الملف إذا كان متوفرًا.
    2. إذا لم يكن الملف جزءًا من حزمة الخادم الوكيل لواجهة برمجة التطبيقات، تحقَّق مما إذا كان متوفرًا على مستوى المؤسسة أو البيئة. يمكنك استخدام واجهة برمجة تطبيقات ملفات الموارد لهذا التحقيق.

    إذا لم يكن الملف متوفّرًا على مستوى الخادم الوكيل لواجهة برمجة التطبيقات أو مستوى المؤسسة أو البيئة، يكون هذا هو سبب الخطأ.

    في المثال أعلاه، اسم ملف PythonScript غير صالح هو myscript.py. في لقطة الشاشة أدناه، يُرجى ملاحظة أنّ الملف المحدَّد كعنوان URL لمورد في السياسة لا يظهر في قسم "النصوص البرمجية". علاوةً على ذلك، فإن الملف غير موجود على مستوى المؤسسة أو البيئة. ولذلك، يفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات مع ظهور الخطأ:

    Invalid resource url ref py://myscript.py in policy Python_script in myorg
    

درجة الدقّة

يُرجى التأكّد من أنّ ملفات PythonScript المحدّدة في العنصرَين <ResourceURL> و<IncludeURL> تشير إلى ملف صالح متوفّر على مستوى الخادم الوكيل لواجهة برمجة التطبيقات أو المؤسسة أو البيئة.

لتصحيح مثال سياسة PythonScript المعروضة أعلاه، أضِف الملف myscript.py إلى حزمة الخادم الوكيل لواجهة برمجة التطبيقات. في لقطة الشاشة أدناه، يمكنك رؤية أن ملفات PythonScript المحددة في العنصرين <ResourceURL> و<IncludeURL> ظاهرة في قسم "النصوص البرمجية" من حزمة الخادم الوكيل لواجهة برمجة التطبيقات: