PythonScript নীতি স্থাপনার ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

InvalidResourceUrlFormat

ত্রুটি বার্তা

এজ UI বা এজ ম্যানেজমেন্ট API-এর মাধ্যমে একটি API প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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.

উদাহরণ স্ক্রিনশট

কারণ

PythonScript নীতির <ResourceURL> বা <IncludeURL> উপাদানের মধ্যে নির্দিষ্ট করা রিসোর্স URL-এর বিন্যাস যদি অবৈধ হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

সঠিক বিন্যাসটি নীচে দেখানো হয়েছে:

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

উদাহরণস্বরূপ, যদি <ResourceURL> উপাদানটি নীচে দেখানো হিসাবে নির্দিষ্ট করা হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয় কারণ এটি প্রয়োজনীয় প্যাটার্ন অনুসরণ করে না:

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

রোগ নির্ণয়

  1. PythonScript নীতিতে ব্যবহৃত অবৈধ সম্পদ URL বিন্যাস সনাক্ত করুন। আপনি ত্রুটি বার্তা থেকে এই তথ্য খুঁজে পেতে পারেন. উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, অবৈধ সম্পদ URL বিন্যাস হল py:myscript.py :

    Invalid resource url format. Resource url is py:myscript.py.
    
  2. নির্দিষ্ট API প্রক্সিতে সমস্ত পাইথনস্ক্রিপ্ট নীতি পরীক্ষা করুন যেখানে ব্যর্থতা ঘটেছে। যদি কোনো PythonScript নীতি থাকে যেখানে <ResourceURL> বা <IncludeURL> এলিমেন্টে উল্লিখিত রিসোর্স ইউআরএল উপরের ধাপ #1-এ চিহ্নিত অবৈধ এন্ট্রির সাথে মেলে, তাহলে সেটিই ত্রুটির কারণ।

    উদাহরণ স্বরূপ, নিম্নলিখিত নীতি 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 হিসাবে নির্দিষ্ট করা হয়েছে, যা অবৈধ, API প্রক্সির স্থাপনা ত্রুটির সাথে ব্যর্থ হয়:

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

রেজোলিউশন

PythonScript নীতির <ResourceURL> এলিমেন্টে উল্লেখ করা রিসোর্স ইউআরএল ফর্ম্যাটটি বৈধ কিনা তা নিশ্চিত করুন। যেমন:

<?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

ত্রুটি বার্তা

এজ UI বা এজ ম্যানেজমেন্ট API-এর মাধ্যমে একটি API প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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 ফাইলকে উল্লেখ করে যা বিদ্যমান নেই, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। আপনি যদি আপনার স্থানীয় মেশিন থেকে একটি প্রক্সি বান্ডেল স্থাপন করেন, তাহলে PythonScript সোর্স ফাইলগুলি অবশ্যই /apiproxy/resources/py (এপিআই প্রক্সি স্কোপে) এর অধীনে সংরক্ষণ করতে হবে।

এজ UI-তে, পাইথনস্ক্রিপ্ট সোর্স ফাইলগুলি API প্রক্সি এডিটরের নেভিগেটর ফলকের স্ক্রিপ্ট বিভাগে py-এর অধীনে প্রদর্শিত হয় যা নীচে দেখানো হয়েছে:

আপনি সংস্থা এবং পরিবেশ স্তরের সংগ্রহস্থলগুলিতে সংস্থান ফাইলগুলি সংরক্ষণ করতে পারেন (উদাহরণস্বরূপ, একটি org বা env-এ সমস্ত প্রক্সির জন্য পাইথনস্ক্রিপ্ট কোড উপলব্ধ করতে)। যদি নীতিতে নির্দিষ্ট করা কোনো রিসোর্স ফাইল খুঁজে না পাওয়া যায়, তাহলে এই ত্রুটিটি ঘটে।

রোগ নির্ণয়

  1. PythonScript নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে এবং অবৈধ সম্পদ URL রেফারেন্স। আপনি ত্রুটি বার্তা থেকে এই তথ্য খুঁজে পেতে পারেন. উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম হল Python_script এবং অবৈধ সংস্থান URL রেফারেন্স হল py://myscript.py :

    Invalid resource url ref py://myscript.py in policy Python_script in myorg
    
  2. ব্যর্থ পাইথনস্ক্রিপ্ট নীতিতে উল্লেখ করা রিসোর্স ইউআরএল রেফারেন্স ত্রুটি বার্তায় চিহ্নিত মানের সাথে মেলে (উপরে ধাপ #1)। উদাহরণস্বরূপ, নিম্নলিখিত নীতিটি py://myscript.py হিসাবে রিসোর্স URL রেফারেন্স নির্দিষ্ট করে, যা ত্রুটি বার্তায় যা আছে তার সাথে মেলে:

    <?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 ফাইলে চিহ্নিত ফাইলটি নির্দিষ্ট API প্রক্সি বান্ডেলের অংশ কিনা বা সংস্থা বা পরিবেশের সুযোগে বিদ্যমান কিনা তা পরীক্ষা করুন।

    1. ফাইলটি নির্দিষ্ট API প্রক্সি বান্ডেলের অংশ কিনা তা পরীক্ষা করতে, নীচের ধাপগুলির মধ্যে একটি অনুসরণ করুন:
      1. এজ UI-তে, এই ফাইলটি API প্রক্সির স্ক্রিপ্ট বিভাগে আছে কিনা তা পরীক্ষা করুন।
      2. API প্রক্সি বান্ডেল ডাউনলোড করুন এবং ফাইলটি বিদ্যমান থাকলে অনুসন্ধান করুন।
    2. যদি ফাইলটি নির্দিষ্ট API প্রক্সি বান্ডেলের অংশ না হয়, তাহলে এটি প্রতিষ্ঠান বা পরিবেশ স্তরে বিদ্যমান কিনা তা পরীক্ষা করুন। আপনি এই তদন্তের জন্য রিসোর্স ফাইল API ব্যবহার করতে পারেন।

    যদি ফাইলটি API প্রক্সি, সংস্থা বা পরিবেশ স্তরে বিদ্যমান না থাকে, তাহলে এটি ত্রুটির কারণ।

    উপরের উদাহরণে, অবৈধ PythonScript ফাইলের নাম হল myscript.py। নীচের স্ক্রিনশটে, লক্ষ্য করুন যে নীতিতে একটি সংস্থান URL হিসাবে নির্দিষ্ট করা ফাইলটি স্ক্রিপ্ট বিভাগে প্রদর্শিত হয় না৷ এছাড়াও ফাইলটি সংস্থা বা পরিবেশ স্তরে বিদ্যমান নেই। অতএব, API প্রক্সির স্থাপনা ত্রুটির সাথে ব্যর্থ হয়:

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

রেজোলিউশন

নিশ্চিত করুন যে PythonScript ফাইলগুলি <ResourceURL> এবং <IncludeURL> উপাদানগুলিতে নির্দিষ্ট করা একটি বৈধ ফাইলকে নির্দেশ করে যা API প্রক্সি, সংস্থা বা পরিবেশ স্তরে বিদ্যমান।

উপরে দেখানো উদাহরণ PythonScript নীতি সংশোধন করতে, API প্রক্সি বান্ডেলে myscript.py ফাইলটি যোগ করুন। নীচের স্ক্রিনশটে আপনি দেখতে পাচ্ছেন যে <ResourceURL> এবং <IncludeURL> উপাদানগুলিতে নির্দিষ্ট PythonScript ফাইলগুলি API প্রক্সি বান্ডেলের স্ক্রিপ্ট বিভাগে দৃশ্যমান: