درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
چه
برای اصلاح پویا تعداد درخواستهای باقیمانده مجاز توسط خطمشی «سهمیه» هدف استفاده کنید. معمولاً از این خطمشی برای کاهش تعداد سهمیه فعلی خطمشی «سهمیه» هدف استفاده میکنید بهجای اینکه منتظر بمانید تعداد سهمیه بازنشانی شود.
برای مثال، خطمشی «سهمیه هدف» توسعهدهنده را به ۱۰۰۰ درخواست در هفته محدود میکند. توسعهدهنده تا دومین روز هفته به این حد مجاز میرسد. از خطمشی «بازنشانی سهمیه» استفاده کنید تا ۵۰۰ از شمارنده سهمیه آنها کم کنید و ۵۰۰ درخواست دیگر برای باقی هفته مجاز کنید. در پایان هفته، «خطمشی سهمیه» بازنشانی میشود و توسعهدهنده دوباره میتواند ۱۰۰۰ درخواست در هفته داشته باشد.
برای اطلاعات بیشتر درباره خطمشی سهمیه، خطمشی سهمیه را ببینید. همچنین این پست انجمن را درباره استفاده از خطمشی «بازنشانی سهمیه» ببینید.
نمونهها
این نمونههای کد خطمشی نشان میدهند که چگونه شمارندههای سهمیه را بازنشانی کنید:
بازنشانی شمارشگر پیشفرض
<ResetQuota name="resetQuota">
<Quota name="MyQuotaPolicy">
<Identifier name="_default">
<Allow>100</Allow>
</Identifier>
</Quota>
</ResetQuota>خطمشی «بازنشانی سهمیه» خطمشی «سهمیه» هدف را بااستفاده از مشخصه نام برچسب <Quota> مشخص میکند. در مثال بالا، خطمشی MyQuotaPolicy هدف است.
همه خطمشیهای «بازنشانی سهمیه» به برچسب <Identifier> نیاز دارند تا شمارنده را در خطمشی «سهمیه» برای بهروزرسانی مشخص کنند. بهطور پیشفرض، خطمشی «سهمیه» یک شمارنده دارد، مگر اینکه خطمشی «سهمیه» برچسب <Identifier> را نیز داشته باشد. در این مثال، خطمشی هدف «سهمیه» از برچسب <Identifier> استفاده نمیکند، بنابراین ویژگی name را بهعنوان _default مشخص میکنید.
عنصر <Allow> مقدار استفادهشده برای کاهش تعداد سهمیه فعلی در خطمشی هدف را مشخص میکند. در این مثال، تعداد سهمیه ۱۰۰ واحد کاهش مییابد تا ۱۰۰ درخواست دیگر برای خطمشی «سهمیه» هدف مجاز شود. وقتی خطمشی «سهمیه» هدف بازنشانی شود، این تغییر کنار گذاشته میشود.
در زیر تعریف خطمشی سهمیه هدف نشان داده شده است:
<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>ویژگیهای <ResetQuota>
<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
جدول زیر ویژگی هایی را توصیف می کند که برای همه عناصر اصلی خط مشی مشترک هستند:
| صفت | توضیحات | پیش فرض | حضور |
|---|---|---|---|
name | نام داخلی سیاست. مقدار مشخصه در صورت تمایل، از عنصر | N/A | مورد نیاز |
continueOnError | برای بازگرداندن خطا در صورت شکست خط مشی، روی روی | نادرست | اختیاری |
enabled | برای اجرای خط مشی روی برای خاموش کردن خط مشی، روی | درست است | اختیاری |
async | این ویژگی منسوخ شده است. | نادرست | منسوخ شده است |
عنصر <DisplayName>
علاوه بر ویژگی name برای برچسبگذاری خطمشی در ویرایشگر پروکسی رابط کاربری مدیریت با نامی متفاوت و به زبان طبیعی، از آن استفاده کنید.
<DisplayName>Policy Display Name</DisplayName>
| پیش فرض | N/A اگر این عنصر را حذف کنید، از مقدار ویژگی |
|---|---|
| حضور | اختیاری |
| تایپ کنید | رشته |
عنصر <Quota>
خطمشی «سهمیه» هدفی را که شمارندهاش باید بهروز شود شناسایی میکند.
<Quota name="quotaName" ref="request.header.quotapolicy">
<Identifier name="identifierName" ref="request.header.identifier">
<Allow>100</Allow>
</Identifier>
</Quota>| پیشفرض: | موجود نیست |
| حضور: | الزامی |
| نوع: | موجود نیست |
مشخصهها
| مشخصه | شرح | پیشفرض | حضور |
|---|---|---|---|
| نام |
نام خطمشی «سهمیه» هدف را مشخص میکند. |
موجود نیست | اختیاری |
| مرجع | متغیر جریانی که حاوی نام خطمشی هدف «سهمیه» است. اگر هم ref و هم name مشخص شده باشند، ref اولویت دارد. اگر ref در زمان اجرا حل نشود، از name استفاده میشود. | موجود نیست | اختیاری |
عنصر <Quota>/<Identifier>
متغیری که برای شناسایی یکتای شمارنده استفاده میشود اگر خطمشی «سهمیه» هدف برچسب <Identifier> را مشخص کند.
<Quota name="quotaName">
<Identifier name="identifierName" ref="request.header.identifier">
<Allow>100</Allow>
</Identifier>
</Quota>| پیشفرض: | موجود نیست |
| حضور: | الزامی |
| نوع: | رشته |
مشخصهها
| مشخصه | شرح | پیشفرض | حضور |
|---|---|---|---|
| نام |
نام شناسه شمارش را در خطمشی هدف «سهمیه» مشخص میکند. برای خطمشی «سهمیه» که از برچسب <Identifier> استفاده نمیکند، _default را مشخص کنید. |
موجود نیست | اختیاری |
| مرجع |
متغیر جریانی که حاوی نام شناسه شمارش در خطمشی هدف «سهمیه» است. اگر هم ref و هم name مشخص شده باشند، ref اولویت دارد. اگر ref در زمان اجرا حل نشود، از name استفاده میشود. |
موجود نیست | اختیاری |
عنصر <Quota>/<Identifier>/<Allow>
مقدار کاهش شمارنده سهمیه را مشخص میکند. باید <Allow> را مشخص کنید، درغیراینصورت، خطمشی سهمیه را اصلاح نمیکند.
<Identifier name="identifierName" ref="request.header.identifier"> <Allow ref="request.header.allowquota">100</Allow> </Identifier>
| پیشفرض: | موجود نیست |
| حضور: | الزامی |
| نوع: | عدد صحیح |
مشخصهها
| مشخصه | شرح | پیشفرض | حضور |
|---|---|---|---|
| مرجع |
متغیر جریانی که حاوی تغییر در تعداد سهمیه در «خطمشی سهمیه» هدف است. |
موجود نیست | اختیاری |
عنصر <Quota>/<Identifier>/<Class>
کلاسی را که شمارنده «سهمیه» برای آن بهروزرسانی میشود مشخص میکند. برای اطلاعات بیشتر درباره استفاده از کلاس با خطمشی سهمیه، خطمشی سهمیه را ببینید.
<Identifier name="_default">
<Class ref="request.header.classIdentifier">
<Allow>200</Allow>
</Class>
</Identifier>| پیشفرض: | موجود نیست |
| حضور: | اختیاری |
| نوع: | موجود نیست |
مشخصهها
| مشخصه | شرح | پیشفرض | حضور |
|---|---|---|---|
| مرجع |
مرجع متغیر جریانی که حاوی کلاس سهمیه برای بهروزرسانی است. |
موجود نیست | اختیاری |
مرجع خطا
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
۵۰۰ | خطمشی «سهمیه» مشخصشده در عنصر <Quota> خطمشی «بازنشانی سهمیه»
در پراکسی API تعریف نشده است و بنابراین درطول جریان دردسترس نیست. عنصر <Quota>
الزامی است و خطمشی سهمیه هدف را که شمارنده آن باید ازطریق
خطمشی «بازنشانی سهمیه» بهروزرسانی شود مشخص میکند. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
موجود نیست | مرجع متغیر حاوی تعداد مجاز در عنصر <Allow>
خطمشی نمیتواند به مقدار تبدیل شود. این عنصر اجباری است و مقدار
کاهش شمارنده سهمیه را مشخص میکند. |
build |
policies.resetquota.FailedToResolveRLPolicy |
۵۰۰ | متغیر ارجاعدادهشده توسط مشخصه ref در عنصر <Quota>
قابلحل نیست. |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidCount |
اگر مقدار شمارش مشخصشده در عنصر <Allow> «خطمشی بازنشانی سهمیه» عدد صحیح نباشد،
استقرار پراکسی API ناموفق خواهد بود.
|
build |