شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
چه
برای تغییر پویای تعداد درخواستهای باقیمانده مجاز توسط سیاست سهمیه هدف استفاده میشود. شما معمولاً از این سیاست برای کاهش تعداد سهمیه فعلی سیاست سهمیه هدف استفاده میکنید، به جای اینکه منتظر تنظیم مجدد تعداد سهمیه باشید.
برای مثال، سیاست سهمیه هدف، یک توسعهدهنده را به ۱۰۰۰ درخواست در هفته محدود میکند. تا روز دوم هفته، توسعهدهنده به این محدودیت رسیده است. از سیاست تنظیم مجدد سهمیه برای کم کردن ۵۰۰ از شمارنده سهمیه او استفاده کنید تا ۵۰۰ درخواست اضافی برای بقیه هفته مجاز باشد. در پایان هفته، سیاست سهمیه بازنشانی میشود و توسعهدهنده به ۱۰۰۰ درخواست برای هفته برمیگردد.
برای اطلاعات بیشتر در مورد سیاست سهمیهبندی، به سیاست سهمیهبندی مراجعه کنید. همچنین به این پست انجمن در مورد استفاده از سیاست تنظیم مجدد سهمیهبندی مراجعه کنید.
نمونهها
این نمونههای کد سیاست، نحوهی تنظیم مجدد شمارندههای سهمیه را نشان میدهند:
تنظیم مجدد شمارنده پیشفرض
<ResetQuota name="resetQuota">
<Quota name="MyQuotaPolicy">
<Identifier name="_default">
<Allow>100</Allow>
</Identifier>
</Quota>
</ResetQuota>سیاست بازنشانی سهمیه، سیاست سهمیه هدف را با استفاده از ویژگی نام تگ <Quota> مشخص میکند. در مثال بالا، سیاست MyQuotaPolicy هدف است.
همه سیاستهای بازنشانی سهمیه برای مشخص کردن شمارنده در سیاست سهمیه جهت بهروزرسانی، به برچسب <Identifier> نیاز دارند. به طور پیشفرض، یک سیاست سهمیه دارای یک شمارنده واحد است، مگر اینکه سیاست سهمیه شامل برچسب <Identifier> نیز باشد. در این مثال، سیاست سهمیه هدف از برچسب <Identifier> استفاده نمیکند، بنابراین شما ویژگی نام را به صورت _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>| پیشفرض: | ناموجود |
| حضور: | اختیاری |
| نوع: | ناموجود |
ویژگیها
| ویژگی | توضیحات | پیشفرض | حضور |
|---|---|---|---|
| مرجع | ارجاع به متغیر جریانی که شامل کلاس quota برای بهروزرسانی است. | ناموجود | اختیاری |
مرجع خطا
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
| کد خطا | وضعیت HTTP | علت | ثابت |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy | 500 | خط مشی Quota مشخص شده در عنصر <Quota> خط مشی Reset Quota در پراکسی API تعریف نشده است و بنابراین در طول جریان در دسترس نیست. عنصر <Quota> اجباری است و خط مشی سهمیه هدف را مشخص می کند که شمارنده آن باید از طریق خط مشی Reset Quota به روز شود. | build |
policies.resetquota.FailedToResolveAllowCountRef | N/A | ارجاع به متغیر حاوی تعداد مجاز در عنصر <Allow> سیاست را نمی توان به مقدار تعیین کرد. این عنصر اجباری است و میزان کاهش سهمیه شمار را مشخص می کند. | build |
policies.resetquota.FailedToResolveRLPolicy | 500 | متغیر ارجاع شده توسط ویژگی ref در عنصر <Quota> قابل حل نیست. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
| نام خطا | علت | ثابت |
|---|---|---|
InvalidCount | اگر مقدار شمارش مشخص شده در عنصر <Allow> سیاست Reset Quota یک عدد صحیح نباشد، استقرار پراکسی API با شکست مواجه میشود. | build |