شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
قالب آدرس منبع نامعتبر
پیام خطا
استقرار یک پروکسی API از طریق رابط کاربری 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 نامعتبر باشد، استقرار پروکسی API با شکست مواجه میشود.
فرمت صحیح به صورت زیر است:
<ResourceURL>py://file_name.py</ResourceURL> <IncludeURL>py://file_name.py</IncludeURL>
برای مثال، اگر عنصر <ResourceURL> مطابق شکل زیر مشخص شده باشد، پیادهسازی پروکسی API با شکست مواجه میشود زیرا از الگوی مورد نیاز پیروی نمیکند:
<ResourceURL>py:myscript.py</ResourceURL>
تشخیص
قالب نامعتبر URL منبع مورد استفاده در سیاست PythonScript را شناسایی کنید. میتوانید این اطلاعات را از پیام خطا پیدا کنید. برای مثال، در خطای زیر، قالب نامعتبر URL منبع
py:myscript.pyاست:Invalid resource url format. Resource url is py:myscript.py.
تمام سیاستهای پایتوناسکریپت را در API Proxy خاصی که خطا در آن رخ داده است، بررسی کنید. اگر سیاست پایتوناسکریپت وجود داشته باشد که در آن URL منبع مشخص شده در عنصر
<ResourceURL>یا<IncludeURL>با ورودی نامعتبر شناسایی شده در مرحله ۱ بالا مطابقت داشته باشد، علت خطا همین است.برای مثال، سیاست زیر آدرس منبع را
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>
از آنجایی که آدرس منبع به صورت
py:myscript.pyمشخص شده است که نامعتبر است، پیادهسازی API Proxy با خطای زیر با شکست مواجه میشود: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>
مرجع نامعتبرResourceUrl
پیام خطا
استقرار یک پروکسی API از طریق رابط کاربری 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> به یک فایل پایتوناسکریپت که وجود ندارد اشاره کنند، استقرار پروکسی API با شکست مواجه میشود. اگر در حال استقرار یک بسته پروکسی از دستگاه محلی خود هستید، فایلهای منبع پایتوناسکریپت باید در /apiproxy/resources/py (در محدوده پروکسی API) ذخیره شوند.
در رابط کاربری Edge، فایلهای منبع PythonScript در زیر py در بخش اسکریپتها از پنل Navigator ویرایشگر پروکسی API، مطابق شکل زیر ظاهر میشوند:

همچنین میتوانید فایلهای منبع را در مخازن سطح سازمان و محیط ذخیره کنید (برای مثال، برای اینکه کد پایتوناسکریپت برای همه پروکسیها در یک org یا env در دسترس باشد). اگر هیچ یک از فایلهای منبع مشخص شده در خطمشی پیدا نشوند، این خطا رخ میدهد.
تشخیص
خطمشی پایتوناسکریپت که خطا در آن رخ داده و مرجع نامعتبر URL منبع را شناسایی کنید. میتوانید این اطلاعات را از پیام خطا پیدا کنید. برای مثال، در خطای زیر، نام خطمشی
Python_scriptو مرجع نامعتبر URL منبعpy://myscript.pyاست:Invalid resource url ref py://myscript.py in policy Python_script in myorg
تأیید کنید که مرجع URL منبع مشخص شده در خطمشی پایتوناسکریپت ناموفق با مقدار مشخص شده در پیام خطا (مرحله ۱ در بالا) مطابقت دارد. برای مثال، خطمشی زیر مرجع 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>
بررسی کنید که آیا فایل شناساییشده در مرحله ۱ بخشی از بسته خاص API Proxy است یا در محدوده سازمان یا محیط وجود دارد.
- برای بررسی اینکه آیا فایل بخشی از بسته خاص API Proxy است، یکی از مراحل زیر را دنبال کنید:
- در رابط کاربری Edge، بررسی کنید که آیا این فایل در بخش اسکریپتهای پروکسی API وجود دارد یا خیر.
- بستهی API Proxy را دانلود کنید و بررسی کنید که آیا فایل وجود دارد یا خیر.
- اگر فایل بخشی از بستهی خاص API Proxy نیست، بررسی کنید که آیا در سطح سازمان یا محیط وجود دارد یا خیر. میتوانید از API فایلهای منبع برای این بررسی استفاده کنید.
اگر فایل در سطح پروکسی API، سازمان یا محیط وجود نداشته باشد، علت خطا همین است.
در مثال بالا، نام فایل نامعتبر پایتوناسکریپت myscript.py است. در تصویر زیر، توجه کنید که فایلی که به عنوان آدرس منبع در پالیسی مشخص شده است، در بخش اسکریپتها نمایش داده نمیشود. همچنین این فایل در سطح سازمان یا محیط وجود ندارد. بنابراین، استقرار API Proxy با خطای زیر با شکست مواجه میشود:
Invalid resource url ref py://myscript.py in policy Python_script in myorg
- برای بررسی اینکه آیا فایل بخشی از بسته خاص API Proxy است، یکی از مراحل زیر را دنبال کنید:

وضوح تصویر
اطمینان حاصل کنید که فایلهای پایتوناسکریپت مشخصشده در عناصر <ResourceURL> و <IncludeURL> به یک فایل معتبر که در سطح پروکسی API، سازمان یا محیط وجود دارد، اشاره میکنند.
برای اصلاح مثال مربوط به سیاست پایتوناسکریپت که در بالا نشان داده شده است، فایل myscript.py را به بستهی API Proxy اضافه کنید. در تصویر زیر میتوانید ببینید که فایلهای پایتوناسکریپت مشخص شده در عناصر <ResourceURL> و <IncludeURL> در بخش اسکریپتهای بستهی API Proxy قابل مشاهده هستند:
