يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
InvalidRLPolicy
رمز الخطأ
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>
ضِمن سياسة إعادة ضبط الحصة في الخادم الوكيل لواجهة برمجة التطبيقات. العنصر <Quota>
إلزامي ويحدد سياسة الحصة المستهدفة التي يجب تعديل عدّادها من خلال سياسة إعادة ضبط الحصة. يجب إنشاء سياسة الحصة المستهدفة هذه وتحديدها ضمن نفس الخادم الوكيل لواجهة برمجة التطبيقات، ويجب أن تكون متاحة أثناء العملية.
على سبيل المثال، لنفترض أنّ العنصر <Quota>
محدّد كما هو موضّح أدناه، ولكن إذا لم يتم تحديد MyQuotaPolicy
في الخادم الوكيل لواجهة برمجة التطبيقات، سيظهر لك الخطأ أعلاه.
<Quota name="MyQuotaPolicy">
التشخيص
حدِّد اسم سياسة الحصة غير الصالح المحدّد في سياسة إعادة ضبط الحصة. يمكنك العثور على اسم سياسة الحصة من سلسلة الخطأ. على سبيل المثال، في سلسلة الخطأ التالية، يكون اسم سياسة الحصة هو
MyQuotaPolicy:
"faultstring": "Invalid rate limit policy MyQuotaPolicy"
يُرجى فحص كل سياسة من سياسات إعادة ضبط الحصص في الخادم الوكيل لواجهة برمجة التطبيقات التي حدثت فيها المشكلة. يجب تحديد "سياسة إعادة ضبط الحصة" المحدّدة التي تتطابق فيها سياسة الحصة المحدّدة ضمن العنصر الإلزامي
<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>
يمكنك تحديد ما إذا تم إنشاء وتحديد سياسة الحصة هذه داخل الخادم الوكيل نفسه لواجهة برمجة التطبيقات. إذا كانت سياسة الحصة غير موجودة ضمن الخادم الوكيل نفسه لواجهة برمجة التطبيقات، يكون هذا هو سبب الخطأ.
في المثال الموضّح أعلاه، من المفترض أن تتوفّر سياسة الحصة
MyQuotaPolicy
في العملية قبل تنفيذ سياسة إعادة ضبط الحصةReset_Quota_Demo
.بما أنّ سياسة الحصة
MyQuotaPolicy
غير متوفّرة في العملية، سيصلك رمز الخطأ:
"errorcode": "policies.resetquota.InvalidRLPolicy"
درجة الدقّة
تأكَّد من أنّ سياسة الحصة المحدَّدة في العنصر <Quota>
قد تم تحديدها في الخادم الوكيل لواجهة برمجة التطبيقات. يجب توفير سياسة الحصة المستهدفة هذه عند تنفيذ سياسة إعادة ضبط الحصة.
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>
في السياسة إلى قيمة. إنّ هذا العنصر إلزامي ويحدّد المبلغ الذي يجب تخفيضه في عدّاد الحصة.
التشخيص
حدِّد سياسة إعادة ضبط الحصة التي حدث فيها الخطأ واسم المتغيّر المرجعي الذي لا يمكن حلّه. يمكنك العثور على هذين العنصرين في استجابة الخطأ.
على سبيل المثال، في سلسلة الخطأ التالية، يكون اسم السياسة هو
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
في ملف 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>
حدد ما إذا كان تم تحديد المتغير المرجعي ويتوفر في التدفق الذي يتم فيه تنفيذ سياسة إعادة تعيين الحصة.
إذا كان المتغير إما:
- خارج النطاق (غير متاح في المسار المحدّد الذي يتم فيه تنفيذ السياسة) أو
- لا يمكن حلها (غير محددة)
فسيكون هذا هو سبب الخطأ.
في المثال المعروض أعلاه، من المفترض أن يتم استرداد قيمة العدد المسموح به في العنصر
<Allow>
من عنوان الطلب المسمى allowcount. ومع ذلك، يتعذّر على Edge حل request.header.allowcount. ويحدث ذلك في حال عدم تمرير العنوان allowcount كجزء من طلب البيانات من واجهة برمجة التطبيقات.في ما يلي نموذج لطلب بيانات من واجهة برمجة التطبيقات لا يتخطى العنوان allowcount كجزء من الطلب:
curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json"
نظرًا لعدم تمرير العنوان allowcount كجزء من الطلب، لن يتم تحديد المتغير request.header.allowcount المستخدَم في العنصر
<Allow>
في سياسة إعادة ضبط الحصص أعلاه، وبالتالي لا يمكن حلّه. لذلك ستتلقى استجابة الخطأ: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>
متوفّر أو محدّد ومتاح
في التدفق المحدّد، حيث يتم تنفيذ سياسة إعادة ضبط الحصة.
لتصحيح المثال الموضّح أعلاه، يمكنك تعديل الطلب لتضمين رأس allowcount كما هو موضَّح أدناه:
curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json" -H "allowcount:30"
FailedToResolveRLPolicy
رمز الخطأ
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"
}
}
}
السبب
يحدث هذا الخطأ إذا تعذّر حلّ المتغيّر الذي تشير إليه السمة ref
في العنصر <Quota>
.
على سبيل المثال، إذا تم ضبط السمة ref
على request.header.quotapolicy
في العنصر <Quota>
ولكنّها غير متاحة في مسار الخادم الوكيل لواجهة برمجة التطبيقات، سيظهر لك الخطأ أعلاه.
<Quota ref="request.header.quotapolicy">
التشخيص
يجب التحقّق من جميع سياسات إعادة ضبط الحصص في الخادم الوكيل لواجهة برمجة التطبيقات التي حدثت بها المشكلة وتحديد سياسة إعادة ضبط الحصة التي لا يمكن فيها مطابقة اسم المتغيّر المرجعي المحدَّد في العنصر
<Quota>
بشكل صحيح.يتم تحديد ما إذا كان المتغيّر محدّدًا ومتاحًا في التدفق الذي يتم فيه تنفيذ سياسة إعادة ضبط الحصة.
إذا كان المتغير إما:
- خارج النطاق (غير متاح في المسار المحدّد الذي يتم فيه تنفيذ السياسة) أو
- لا يمكن حلها (غير محددة)
فسيكون هذا هو سبب الخطأ.
في المثال المعروض أدناه، من المفترض أن يتم استرداد اسم سياسة الحصة المستهدفة من عنوان الطلب المسمى quotapolicy. ومع ذلك، يتعذّر على Edge حل request.header.quotapolicy. يحدث ذلك إذا لم يتم تمرير العنوان quotapolicy كجزء من طلب واجهة برمجة التطبيقات.
<?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>
إليك نموذج طلب من واجهة برمجة التطبيقات لا يتخطى العنوان quotapolicy كجزء من الطلب:
curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json"
نظرًا لعدم تمرير العنوان quotapolicy كجزء من الطلب، فإن المرجع request.header.quotapolicy المستخدَم في العنصر
<Quota>
في سياسة إعادة ضبط الحصص أعلاه غير معرَّف ولا يمكن حله. نتيجة لذلك، تتلقى استجابة الخطأ:"errorcode": "policies.resetquota.FailedToResolveRLPolicy"
درجة الدقّة
تأكَّد من أنّه يمكن حلّ السمة ref
المُشار إليها في العنصر <Quota>
في وقت التشغيل وأنّها متوفّرة في المسار المحدّد، حيث يتم تنفيذ سياسة إعادة ضبط الحصة.
لتصحيح المثال الموضح أعلاه، يمكنك تعديل الطلب لتضمين رأس quotapolicy كما هو موضح أدناه:
curl -v http://demo-eval-test.apigee.net/v1/reset_quota -H "Content-Type: application/json" -H "quotapolicy:MyQuotaPolicy"