কোটা রানটাইম ত্রুটি সমস্যা সমাধান রিসেট করুন, কোটা রানটাইম ত্রুটি সমস্যা সমাধান পুনরায় সেট করুন

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

অবৈধআরএল পলিসি

ত্রুটি কোড

policies.resetquota.InvalidRLPolicy

ত্রুটি প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "Invalid rate limit policy quota_policy_name",
        "detail": {
            "errorcode": "policies.resetquota.InvalidRLPolicy"
        }
    }
}

উদাহরণ ত্রুটি বার্তা

{
    "fault": {
        "faultstring": "Invalid rate limit policy MyQuotaPolicy",
        "detail": {
            "errorcode": "policies.resetquota.InvalidRLPolicy"
        }
    }
}

কারণ

রিসেট কোটা নীতির <Quota> উপাদানে উল্লেখ করা কোটা নীতি API প্রক্সিতে সংজ্ঞায়িত না হলে এই ত্রুটি ঘটে। <Quota> উপাদানটি বাধ্যতামূলক এবং এটি লক্ষ্য কোটা নীতি চিহ্নিত করে যার কাউন্টার রিসেট কোটা নীতির মাধ্যমে আপডেট করা উচিত। এই লক্ষ্য কোটা নীতিটি একই API প্রক্সির মধ্যে তৈরি এবং সংজ্ঞায়িত করা আবশ্যক এবং প্রবাহের সময় উপলব্ধ থাকতে হবে।

উদাহরণ স্বরূপ, ধরা যাক <Quota> উপাদানটি নীচে দেখানো হিসাবে সংজ্ঞায়িত করা হয়েছে, কিন্তু যদি MyQuotaPolicy API প্রক্সিতে সংজ্ঞায়িত না হয় তবে আপনি উপরের ত্রুটিটি পাবেন।

<Quota name="MyQuotaPolicy">

রোগ নির্ণয়

  1. রিসেট কোটা নীতিতে উল্লেখিত অবৈধ কোটা নীতির নাম শনাক্ত করুন। আপনি ফল্টস্ট্রিং থেকে কোটা নীতির নাম খুঁজে পেতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত ফল্টস্ট্রিং-এ, কোটা নীতির নাম হল MyQuotaPolicy:

    "faultstring": "Invalid rate limit policy MyQuotaPolicy"
    
  2. API প্রক্সিতে যেখানে ব্যর্থতা ঘটেছে সেখানে প্রতিটি রিসেট কোটা নীতি পরীক্ষা করুন। নির্দিষ্ট রিসেট কোটা নীতি শনাক্ত করুন যেখানে বাধ্যতামূলক উপাদানের মধ্যে উল্লেখিত কোটা নীতি <Quota> উপরের ধাপ 1-এ চিহ্নিত নামের সাথে মিলে যায়।

    উদাহরণস্বরূপ, নিম্নলিখিত রিসেট কোটা নীতি MyQuotaPolicy নামে একটি কোটা নীতি নির্দিষ্ট করে, যা ফল্টস্ট্রিং-এ যা আছে তার সাথে মেলে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ResetQuota async="false" continueOnError="false" enabled="true" name="Reset_Quota_Demo">
        <DisplayName>Reset_Quota_Demo</DisplayName>
        <Properties/>
        <Quota name="MyQuotaPolicy">
           <Identifier name="identifierName" ref="request.header.identifier">
                <Allow>100</Allow>
            </Identifier>
        </Quota>
    </ResetQuota>
    
    
  3. এই কোটা নীতি একই API প্রক্সির মধ্যে তৈরি এবং সংজ্ঞায়িত করা হয়েছে কিনা তা নির্ধারণ করুন। যদি কোটা নীতি একই API প্রক্সির মধ্যে বিদ্যমান না থাকে, তাহলে এটি ত্রুটির কারণ।

    উপরে দেখানো উদাহরণে, কোটা নীতি MyQuotaPolicy রিসেট কোটা নীতি Reset_Quota_Demo কার্যকর করার আগে প্রবাহে বিদ্যমান থাকার কথা।

    যেহেতু কোটা নীতি MyQuotaPolicy প্রবাহে বিদ্যমান নেই, আপনি ত্রুটি কোড পাবেন:

"errorcode": "policies.resetquota.InvalidRLPolicy"

রেজোলিউশন

নিশ্চিত করুন যে <Quota> উপাদানে ঘোষিত কোটা নীতি API প্রক্সিতে সংজ্ঞায়িত করা হয়েছে। রিসেট কোটা নীতি কার্যকর হলে এই টার্গেট কোটা নীতিটি উপলব্ধ থাকতে হবে।

FailedToResolveAllowCountRef

ত্রুটি কোড

policies.resetquota.FailedToResolveAllowCountRef

ত্রুটি প্রতিক্রিয়া বডি

Failed to resolve allow count reference reference_name for identifier identifier_name
in ResetQuotaStepDefinition:policy_name;API Proxy:proxy_name;Revision:
revision_number;Environment:env_name;Organization:org_name

উদাহরণ ত্রুটি বার্তা

Failed to resolve allow count reference request.header.allowcount for identifier
identifierName in ResetQuotaStepDefinition:ResetQuota;API Proxy:Reset_Quota;
Revision:10;Environment:test;Organization:demo

ক্লায়েন্টের কাছে ফিরে আসা ত্রুটিটি সহজভাবে হবে: policies.ratelimit.QuotaViolation

কারণ

নীতির <Allow> এলিমেন্টে মঞ্জুরি গণনা ধারণকারী ভেরিয়েবলের রেফারেন্স একটি মান সমাধান করা না গেলে এই ত্রুটি ঘটে। এই উপাদানটি বাধ্যতামূলক এবং কোটা কাউন্টার হ্রাস করার পরিমাণ নির্দিষ্ট করে৷

রোগ নির্ণয়

  1. রিসেট কোটা নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে এবং রেফারেন্স ভেরিয়েবলের নাম যা সমাধান করা যাবে না। আপনি ত্রুটি প্রতিক্রিয়া এই আইটেম উভয় খুঁজে পেতে পারেন.

    উদাহরণস্বরূপ, নিম্নলিখিত ফল্টস্ট্রিং-এ, নীতির নাম হল ResetQuota এবং রেফারেন্স হল request.header.allowcount :

    Failed to resolve allow count reference request.header.allowcount for identifier
    identifierName in ResetQuotaStepDefinition:ResetQuota;API Proxy:Reset_Quota;
    Revision:10;Environment:test;Organization:demo
    
  2. ব্যর্থ রিসেট কোটা নীতি XML-এ, যাচাই করুন যে ব্যবহৃত রেফারেন্স ভেরিয়েবলের নাম ত্রুটি প্রতিক্রিয়াতে চিহ্নিত রেফারেন্স নামের সাথে মেলে (উপরের ধাপ 1)।

    উদাহরণস্বরূপ, নিম্নলিখিত নীতিটি রেফারেন্স নামের request.header.allowcount সহ উপাদান সেট করে, যা ত্রুটির সাথে মেলে:

    <ResetQuota async="false" continueOnError="false" enabled="true" name="ResetQuota">
        <DisplayName>ResetQuota</DisplayName>
        <Properties/>
        <Quota name="MyQuotaPolicy">
            <Identifier name="identifierName">
                <Allow ref="request.header.allowcount"/>
            </Identifier>
        </Quota>
    </ResetQuota>
    
  3. রেফারেন্স ভেরিয়েবলটি যে প্রবাহে রিসেট কোটা নীতি কার্যকর করে তাতে সংজ্ঞায়িত এবং উপলব্ধ কিনা তা নির্ধারণ করুন।

  4. যদি পরিবর্তনশীল হয়:

    1. সুযোগের বাইরে (নির্দিষ্ট প্রবাহে উপলব্ধ নয় যেখানে নীতিটি কার্যকর করা হচ্ছে) বা
    2. সমাধান করা যাবে না (সংজ্ঞায়িত করা হয় না)

    তাহলে এটি ত্রুটির কারণ।

    উপরে দেখানো উদাহরণে, <Allow> উপাদানে অনুমোদিত গণনার মান অনুমিত হয় অনুমিত হয় যে অনুমান করা হয় নামক অনুরোধ শিরোনাম থেকে পুনরুদ্ধার করা হয়। যাইহোক, এজ request.header.allowcount সমাধান করতে অক্ষম। API অনুরোধের অংশ হিসাবে শিরোনাম অনুমোদিত গণনা পাস না হলে এটি ঘটে।

    এখানে একটি নমুনা API অনুরোধ যা অনুরোধের অংশ হিসাবে শিরোনাম অনুমোদিত গণনা পাস করে না:

    curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json"
    

    কারণ অনুরোধের অংশ হিসাবে শিরোনাম অনুমোদিত সংখ্যাটি পাস করা হয়নি, উপরের রিসেট কোটা নীতিতে <Allow> উপাদানটিতে ব্যবহৃত পরিবর্তনশীল request.header.allowcount টি অনির্ধারিত এবং তাই সমাধান করা যাবে না। সুতরাং আপনি ত্রুটি প্রতিক্রিয়া পাবেন:

    Failed to resolve allow count reference request.header.allowcount for identifier
    identifierName in ResetQuotaStepDefinition:ResetQuota;API Proxy:Reset_Quota;
    Revision:10;Environment:test;Organization:demo
    

রেজোলিউশন

নিশ্চিত করুন যে <Allow> উপাদানে উল্লেখ করা ভেরিয়েবলটি বিদ্যমান/ সংজ্ঞায়িত এবং নির্দিষ্ট প্রবাহে উপলব্ধ, যেখানে রিসেট কোটা নীতি কার্যকর হয়।

উপরে দেখানো উদাহরণটি সংশোধন করতে, আপনি নিম্নে দেখানো হিসাবে অনুমিত গণনা শিরোনাম অন্তর্ভুক্ত করার অনুরোধটি সংশোধন করতে পারেন:

curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json" -H "allowcount:30"

FailedToResolverRLPolicy

ত্রুটি কোড

policies.resetquota.FailedToResolveRLPolicy

ত্রুটি প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "Failed to resolve rate limit policy",
        "detail": {
            "errorcode": "policies.resetquota.FailedToResolveRLPolicy"
        }
    }
}

উদাহরণ ত্রুটি বার্তা

{
    "fault": {
        "faultstring": "Failed to resolve rate limit policy",
        "detail": {
            "errorcode": "policies.resetquota.FailedToResolveRLPolicy"
        }
    }
}

কারণ

এই ত্রুটিটি ঘটে যদি <Quota> উপাদানে ref অ্যাট্রিবিউট দ্বারা উল্লেখ করা পরিবর্তনশীলটি সমাধান করা না যায়।

উদাহরণস্বরূপ, যদি ref অ্যাট্রিবিউটটি <Quota> এলিমেন্টে request.header.quotapolicy হিসেবে সেট করা থাকে কিন্তু API প্রক্সি ফ্লোতে উপলভ্য না থাকে, তাহলে আপনি উপরের ত্রুটিটি পাবেন।

<Quota ref="request.header.quotapolicy">

রোগ নির্ণয়

  1. এপিআই প্রক্সিতে প্রতিটি রিসেট কোটা নীতি পরীক্ষা করুন যেখানে ব্যর্থতা ঘটেছে এবং রিসেট কোটা নীতি চিহ্নিত করুন যেখানে <Quota> উপাদানে উল্লেখিত রেফারেন্স ভেরিয়েবলের নাম সঠিকভাবে সমাধান করা যাবে না।

  2. ভেরিয়েবলটি সংজ্ঞায়িত করা হয়েছে এবং যে প্রবাহে রিসেট কোটা নীতি কার্যকর করা হয় সেখানে উপলব্ধ কিনা তা নির্ধারণ করুন।

  3. যদি পরিবর্তনশীল হয়:

    1. সুযোগের বাইরে (নির্দিষ্ট প্রবাহে উপলব্ধ নয় যেখানে নীতি কার্যকর হয়) বা
    2. সমাধান করা যাবে না (সংজ্ঞায়িত করা হয় না)

    তাহলে এটি ত্রুটির কারণ।

    নীচে দেখানো উদাহরণে, টার্গেট কোটা নীতির নাম কোটাপলিসি নামের অনুরোধ শিরোনাম থেকে পুনরুদ্ধার করার কথা। যাইহোক, Edge request.header.quotapolicy সমাধান করতে অক্ষম। API অনুরোধের অংশ হিসাবে হেডার কোটাপলিসি পাস না হলে এটি ঘটে।

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ResetQuota async="false" continueOnError="false" enabled="true" name="Reset_Quota_Demo">
        <DisplayName>Reset_Quota_Demo</DisplayName>
        <Properties/>
        <Quota ref="request.header.quotapolicy">
            <Identifier name="identifierName" ref="request.header.identifier">
                <Allow>100</Allow>
            </Identifier>
        </Quota>
    </ResetQuota>
    

    এখানে একটি নমুনা API অনুরোধ যা অনুরোধের অংশ হিসাবে হেডার কোটাপলিসি পাস করে না:

    curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json"
    

    যেহেতু হেডার কোটাপলিসি অনুরোধের অংশ হিসাবে পাস করা হয়নি, তাই উপরের রিসেট কোটা নীতিতে <Quota> উপাদানে ব্যবহৃত রেফারেন্স request.header.quotapolicy অনির্ধারিত এবং সমাধান করা যাবে না। ফলস্বরূপ, আপনি ত্রুটি প্রতিক্রিয়া পাবেন:

    "errorcode": "policies.resetquota.FailedToResolveRLPolicy"
    

রেজোলিউশন

নিশ্চিত করুন যে <Quota> এলিমেন্টে উল্লেখ করা অ্যাট্রিবিউট ref রানটাইমে সমাধান হয় এবং নির্দিষ্ট প্রবাহে পাওয়া যায়, যেখানে কোটা রিসেট নীতি কার্যকর হয়।

উপরে দেখানো উদাহরণটি সংশোধন করতে, আপনি কোটাপলিসি শিরোনামটি নীচে দেখানো হিসাবে অন্তর্ভুক্ত করার অনুরোধটি সংশোধন করতে পারেন:

curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json" -H "quotapolicy:MyQuotaPolicy"