سياسة إعادة ضبط الحصة

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

الموضوع

استخدِمها لإجراء تعديل ديناميكي على العدد المتبقي من الطلبات التي تسمح بها سياسة الحصة المستهدفة. يمكنك عادةً استخدام هذه السياسة لخفض عدد الحصص الحالية ضمن سياسة الحصة المستهدَفة، بدلاً من انتظار إعادة ضبط عدد الحصص.

على سبيل المثال، تفرض سياسة الحصة المستهدفة قيودًا على المطوّرين بـ 1000 طلب في الأسبوع. وبحلول اليوم الثاني من الأسبوع، يكون المطوِّر قد وصل إلى هذا الحدّ الأقصى. يمكن استخدام سياسة إعادة ضبط الحصة لطرح 500 من عدّاد الحصص للسماح بإرسال 500 طلب إضافي لبقية الأسبوع. وفي نهاية الأسبوع، تتم إعادة ضبط سياسة الحصة، ويعود مطوِّر البرامج إلى 1,000 طلب لهذا الأسبوع.

راجِع سياسة الحصة للاطّلاع على مزيد من المعلومات حول سياسة الحصة. يمكنك أيضًا الاطّلاع على هذه المشاركة في "المنتدى" حول استخدام سياسة إعادة ضبط الحصة.

عيّنات

توضح نماذج رمز السياسة هذه كيفية إعادة ضبط عدّادات الحصص:

إعادة ضبط العدّاد التلقائي

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

تحدد سياسة إعادة ضبط الحصة سياسة الحصة المستهدفة باستخدام السمة name للعلامة <حصة>. في المثال أعلاه، سياسة MyDataPolicy هي الهدف.

تتطلّب جميع سياسات إعادة ضبط الحصص تعديل العلامة <identifier> لتحديد العدّاد في سياسة الحصص لكي يتم تعديلها. يكون لسياسة الحصة عدّاد واحد تلقائيًا، ما لم تكن سياسة الحصة تتضمّن علامة <identifier> أيضًا. في هذا المثال، لا تستخدم سياسة الحصة المستهدفة العلامة <identifier>، لذا يمكنك تحديد سمة name على أنّها _default.

ويحدّد عنصر <Allow> القيمة المستخدَمة لخفض عدد الحصة الحالية في السياسة الهدف. في هذا المثال، ينخفض عدد الحصص بمقدار 100، ما يسمح بوصول 100 طلب إضافي إلى سياسة الحصة المستهدفة. عند إعادة ضبط سياسة الحصة المستهدفة، يتم تجاهل هذا التغيير.

في ما يلي تعريف سياسة الحصة المستهدفة:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

استخدام مرجع

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

في هذا المثال، يتم ضبط اسم سياسة الحصة المستهدفة والتغيير في عدد حصتها كعناوين في الطلب. يمكنك بعد ذلك الإشارة إلى متغيّرات التدفق التي تحتوي على هذه القيم في سياسة إعادة ضبط الحصة.

تحديد المعرّف

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

إذا كانت سياسة الحصة المستهدَفة تحدّد العلامة <identifier>، يمكنك عندئذٍ تحديد القيمة نفسها لعلامة <identifier> في سياسة إعادة ضبط الحصة لتعديل عدد حصص معيّن. لاحِظ كيف تتطابق العلامة <identifier> في سياسة الحصة المستهدفة أدناه مع القيمة المحدّدة في سياسة إعادة ضبط الحصة:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

مرجع العنصر

يصف مرجع العنصر عناصر وسمات سياسة إعادة ضبط الحصة.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

سمات <Resetحصة>

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

يوضِّح الجدول التالي السمات الشائعة لجميع العناصر الرئيسية للسياسة:

السمة الوصف تلقائي التواجد في المنزل
name

الاسم الداخلي للسياسة وقد تحتوي قيمة السمة name على أحرف وأرقام ومسافات وواصلات وشرطات سفلية ونقاط. لا يمكن أن تتجاوز هذه القيمة 255 حرفًا.

ويمكنك اختياريًا استخدام العنصر <DisplayName> لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف للغة طبيعية.

لا ينطبق مطلوبة
continueOnError

اضبط القيمة على false لعرض رسالة خطأ عند تعذُّر تنفيذ السياسة. وهو سلوك متوقّع لمعظم السياسات.

اضبط القيمة على true لمواصلة تنفيذ التدفق حتى بعد تعذُّر تنفيذ السياسة.

false إجراء اختياري
enabled

اضبط القيمة على true لفرض السياسة.

اضبط القيمة على false من أجل إيقاف السياسة. ولن يتم فرض السياسة حتى إذا ظلت مرتبطة بمسار.

صحيح إجراء اختياري
async

تم إيقاف هذه السمة نهائيًا.

false منهي العمل به

العنصر <DisplayName>

استخدِم هذه السمة بالإضافة إلى السمة name لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف بلغة طبيعية.

<DisplayName>Policy Display Name</DisplayName>
تلقائي

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم استخدام قيمة السمة name الخاصة بالسياسة.

التواجد في المنزل إجراء اختياري
Type سلسلة

عنصر <حصة>

تحدد سياسة الحصة المستهدفة التي يجب تعديل عدّادها.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
الخيار التلقائي: لا ينطبق
الحضور: مطلوبة
النوع: لا ينطبق

السمات

السمة الوصف تلقائي التواجد في المنزل
اسم

تُحدِّد هذه السياسة اسم سياسة الحصة المستهدَفة.

لا ينطبق إجراء اختياري
المرجع متغيّر تدفق يحتوي على اسم سياسة الحصة المستهدَفة. في حال تحديد كل من ref وname، تُمنح الأولوية ref. إذا لم يتم حل ref في وقت التشغيل، يتم استخدام name. لا ينطبق إجراء اختياري

عنصر <حصة>/<معرّف>

يشير ذلك المصطلح إلى المتغيّر الذي يُستخدَم لتحديد العدّاد بشكل فريد إذا كانت سياسة الحصة المستهدَفة تحدّد العلامة <identifier>.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
الخيار التلقائي: لا ينطبق
الحضور: مطلوبة
النوع: سلسلة

السمات

السمة الوصف تلقائي التواجد في المنزل
اسم

تُحدِّد هذه السياسة اسم معرِّف العدد في سياسة الحصة المستهدَفة. بالنسبة إلى سياسة الحصص التي لا تستخدم العلامة <identifier>، حدِّد _default.

لا ينطبق إجراء اختياري
المرجع

متغيّر تدفق يحتوي على اسم معرّف العدد في سياسة الحصة المستهدَفة. إذا تم تحديد كل من ref وname، تُمنح الأولوية ref. إذا لم يتم حل ref في وقت التشغيل، يتم استخدام name.

لا ينطبق إجراء اختياري

العنصر <حصة>/<معرّف>/<السماح>

تحدِّد هذه السمة الكمية المطلوب تخفيضها في عدّاد الحصة. يجب تحديد <Allow>، وإلا لن تعدِّل السياسة الحصة.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
الخيار التلقائي: لا ينطبق
الحضور: مطلوبة
النوع: عدد صحيح

السمات

السمة الوصف تلقائي التواجد في المنزل
المرجع

متغيّر تدفق يتضمّن التغيير في عدد الحصة في سياسة الحصة المستهدَفة.

لا ينطبق إجراء اختياري

عنصر <حصة>/<معرّف>/<فئة>

تحدد الفئة التي يتم تعديل عدّاد الحصص لها. لمزيد من المعلومات حول استخدام الفئة مع سياسة الحصص، يمكنك الاطّلاع على سياسة الحصص.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
الخيار التلقائي: لا ينطبق
الحضور: إجراء اختياري
النوع: لا ينطبق

السمات

السمة الوصف تلقائي التواجد في المنزل
المرجع

إشارة إلى متغيّر التدفق الذي يحتوي على فئة الحصة المطلوب تعديلها

لا ينطبق إجراء اختياري

مرجع الخطأ

يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

أخطاء في وقت التشغيل

يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.

رمز الخطأ رموز حالة HTTP السبب إصلاح
policies.resetquota.InvalidRLPolicy 500 لم يتم تحديد سياسة الحصة المحدّدة في العنصر <Quota> ضمن سياسة إعادة ضبط الحصة في الخادم الوكيل لواجهة برمجة التطبيقات، وبالتالي لا تتوفّر أثناء العملية. العنصر <Quota> إلزامي ويحدّد سياسة الحصة المستهدفة التي يجب تعديل عدّادها من خلال سياسة إعادة ضبط الحصة.
policies.resetquota.FailedToResolveAllowCountRef لا ينطبق لا يمكن تحويل المرجع إلى المتغيّر الذي يتضمّن عدد المسموح به في العنصر <Allow> في السياسة إلى قيمة. هذا العنصر إلزامي ويحدد المبلغ المطلوب لخفض عدّاد الحصة.
policies.resetquota.FailedToResolveRLPolicy 500 لا يمكن حلّ المتغيّر الذي تشير إليه السمة ref في العنصر <Quota>.

أخطاء النشر

يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.

اسم الخطأ السبب إصلاح
InvalidCount إذا لم تكن قيمة العدد المحدّدة في العنصر <Allow> في "سياسة إعادة ضبط الحصص" عددًا صحيحًا، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

المخططات

مواضيع ذات صلة

سياسة الحصة