คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล

อะไร
ใช้เพื่อแก้ไขจํานวนคําขอที่เหลือซึ่งนโยบายโควต้าเป้าหมายอนุญาตแบบไดนามิก โดยปกติแล้ว คุณจะใช้นโยบายนี้เพื่อลดจำนวนโควต้าปัจจุบันของนโยบายโควต้าเป้าหมาย แทนที่จะต้องรอให้รีเซ็ตจำนวนโควต้า
เช่น นโยบายโควต้าเป้าหมายจำกัดคำขอนักพัฒนาแอปไว้ที่ 1, 000 รายการต่อสัปดาห์ โดย วันที่ 2 ของสัปดาห์ นักพัฒนาแอปก็ถึงขีดจำกัดนี้แล้ว ใช้นโยบายรีเซ็ตโควต้า ให้ลบ 500 ออกจากตัวนับโควต้าเพื่อให้คำขอเพิ่มได้อีก 500 รายการสำหรับส่วนที่เหลือของ ทั้งสัปดาห์ เมื่อสิ้นสุดสัปดาห์ ระบบจะรีเซ็ตนโยบายโควต้าและนักพัฒนาแอปจะกลับสู่ 1,000 รายการ ประจำสัปดาห์
โปรดดูนโยบายโควต้าสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ นโยบายโควต้า โปรดดูที่นี่ด้วย โพสต์ชุมชนเกี่ยวกับการใช้นโยบายรีเซ็ตโควต้า
ตัวอย่าง
ตัวอย่างโค้ดนโยบายเหล่านี้แสดงวิธีรีเซ็ตตัวนับโควต้า
รีเซ็ตตัวนับเริ่มต้น
<ResetQuota name="resetQuota"> <Quota name="MyQuotaPolicy"> <Identifier name="_default"> <Allow>100</Allow> </Identifier> </Quota> </ResetQuota>
นโยบายการรีเซ็ตโควต้าจะระบุนโยบายโควต้าเป้าหมายโดยใช้แอตทริบิวต์ชื่อของแท็ก <โควต้า> ในตัวอย่างด้านบน นโยบาย MyBidPolicy เป็นเป้าหมาย
นโยบายการรีเซ็ตโควต้าทั้งหมดต้องใช้แท็ก <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>
<ResetQuota> แอตทริบิวต์
<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
name |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มี | ต้องระบุ |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
เท็จ | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
เท็จ | เลิกใช้ |
<DisplayName> องค์ประกอบ
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มี หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
ประเภท | สตริง |
<Quota> องค์ประกอบ
ระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับ
<Quota name="quotaName" ref="request.header.quotapolicy"> <Identifier name="identifierName" ref="request.header.identifier"> <Allow>100</Allow> </Identifier> </Quota>
ค่าเริ่มต้น: | ไม่มี |
การตรวจหาบุคคล: | ต้องระบุ |
ประเภท: | ไม่มี |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
ชื่อ |
ระบุชื่อนโยบายโควต้าเป้าหมาย |
ไม่มี | ไม่บังคับ |
อ้างอิง | ตัวแปรโฟลว์ที่มีชื่อของนโยบายโควต้าเป้าหมาย ถ้า มีการระบุทั้ง ref และ name ref ก็จะมีลำดับความสำคัญสูงสุด หาก ref มี ไม่แปลค่าขณะรันไทม์ ระบบจะใช้ name | ไม่มี | ไม่บังคับ |
<Quota>/<Identifier> องค์ประกอบ
ตัวแปรที่ใช้ระบุตัวนับแบบไม่ซ้ำหากนโยบายโควต้าเป้าหมายระบุ แท็ก <Identifier>
<Quota name="quotaName"> <Identifier name="identifierName" ref="request.header.identifier"> <Allow>100</Allow> </Identifier> </Quota>
ค่าเริ่มต้น: | ไม่มี |
การตรวจหาบุคคล: | ต้องระบุ |
ประเภท: | สตริง |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
ชื่อ |
ระบุชื่อตัวระบุจำนวนในนโยบายโควต้าเป้าหมาย เพื่อขอโควต้า นโยบายที่ไม่ได้ใช้แท็ก <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>
ค่าเริ่มต้น: | ไม่มี |
การตรวจหาบุคคล: | ต้องระบุ |
ประเภท: | จำนวนเต็ม |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
อ้างอิง |
ตัวแปรโฟลว์ที่มีการเปลี่ยนแปลงจำนวนโควต้าในนโยบายโควต้าเป้าหมาย |
ไม่มี | ไม่บังคับ |
<Quota>/<Identifier>/<Class> องค์ประกอบ
ระบุคลาสที่อัปเดตตัวนับโควต้า สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ชั้นเรียนกับ นโยบายโควต้า โปรดดูโควต้า
<Identifier name="_default"> <Class ref="request.header.classIdentifier"> <Allow>200</Allow> </Class> </Identifier>
ค่าเริ่มต้น: | ไม่มี |
การตรวจหาบุคคล: | ไม่บังคับ |
ประเภท: | ไม่มี |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
อ้างอิง |
การอ้างอิงไปยังตัวแปรโฟลว์ที่มีคลาสโควต้าที่จะอัปเดต |
ไม่มี | ไม่บังคับ |
ข้อมูลอ้างอิงข้อผิดพลาด
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | The Quota policy specified in the <Quota> element of the Reset Quota policy
is not defined in the API proxy and thus is not available during the flow. The <Quota>
element is mandatory and identifies the target Quota policy whose counter should be updated
through the Reset Quota policy. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | The reference to the variable containing the allow count in the <Allow> element
of the policy cannot be resolved to a value. This element is mandatory and specifies the amount
to decrease the quota counter. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | The variable referenced by the ref attribute in the <Quota> element
cannot be resolved. |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidCount |
If the count value specified in the <Allow> element of the Reset Quota Policy is not an integer,
then the deployment of the API proxy fails.
|
build |