คุณกำลังดูเอกสารประกอบของ 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>
นโยบายการรีเซ็ตโควต้าจะระบุนโยบายโควต้าเป้าหมายโดยใช้แอตทริบิวต์ name ของแท็ก <Quota> ในตัวอย่างด้านบน นโยบาย MyQuotaPolicy เป็นเป้าหมาย
นโยบายการรีเซ็ตโควต้าทั้งหมดกำหนดให้แท็ก <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 async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
ตารางต่อไปนี้อธิบายแอตทริบิวต์ที่ใช้ร่วมกันในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
name |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มีข้อมูล | จำเป็น |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
false | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
false | เลิกใช้ |
องค์ประกอบ <DisplayName>
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายในเครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติที่แตกต่างออกไป
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มีข้อมูล หากคุณไม่ใส่องค์ประกอบนี้ ระบบจะใช้ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
Type | สตริง |
องค์ประกอบ <โควต้า>
ระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับ
<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
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
อ้างอิง |
การอ้างอิงตัวแปรโฟลว์ที่มีคลาสโควต้าที่จะอัปเดต |
ไม่มีข้อมูล | ไม่บังคับ |
การอ้างอิงข้อผิดพลาด
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | นโยบายโควต้าที่ระบุในองค์ประกอบ <Quota> ของนโยบายการรีเซ็ตโควต้าไม่ได้กำหนดในพร็อกซี API จึงไม่พร้อมใช้งานระหว่างขั้นตอน องค์ประกอบ <Quota> เป็นองค์ประกอบที่จำเป็นและระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับผ่านนโยบายการรีเซ็ตโควต้า |
build |
policies.resetquota.FailedToResolveAllowCountRef |
ไม่มีข้อมูล | การอ้างอิงไปยังตัวแปรที่มีจำนวนที่อนุญาตในองค์ประกอบ <Allow> ของนโยบายไม่สามารถแปลงเป็นค่าได้ องค์ประกอบนี้เป็นสิ่งที่จำเป็นและระบุจำนวนที่จะลดตัวนับโควต้า |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | ระบบจับคู่ตัวแปรที่แอตทริบิวต์ ref อ้างอิงในองค์ประกอบ <Quota> ไม่ได้ |
build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCount |
หากค่าการนับที่ระบุในองค์ประกอบ <Allow> ของนโยบายการรีเซ็ตโควต้าไม่ใช่จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ
|
build |