คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
อะไร
ใช้เพื่อแก้ไขแบบไดนามิกซึ่งจำนวนคำขอที่เหลือที่นโยบายโควต้าเป้าหมายอนุญาต โดยปกติแล้วคุณจะใช้นโยบายนี้เพื่อลดจำนวนโควต้าปัจจุบันของนโยบายโควต้าเป้าหมาย แทนที่จะรอให้จำนวนโควต้ากลับมาเป็นค่าเริ่มต้น
ตัวอย่างเช่น นโยบายโควต้าเป้าหมายจำกัดนักพัฒนาแอปไว้ที่ 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>
<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>| ค่าเริ่มต้น: | ไม่มี |
| การมีบุคคลอยู่: | ต้องระบุ |
| ประเภท: | ไม่มี |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
|---|---|---|---|
| name |
ระบุชื่อของนโยบายโควต้าเป้าหมาย |
ไม่มี | ไม่บังคับ |
| ref | ตัวแปรโฟลว์ที่มีชื่อของนโยบายโควต้าเป้าหมาย หากระบุทั้ง ref และ name ระบบจะให้ความสำคัญกับ ref หาก ref ไม่ได้รับการแก้ไขในรันไทม์ ระบบจะใช้ name | ไม่มี | ไม่บังคับ |
องค์ประกอบ <Quota>/<Identifier>
ตัวแปรที่ใช้เพื่อระบุตัวนับที่ไม่ซ้ำกันถ้านโยบายโควต้าเป้าหมายระบุ แท็ก <Identifier>
<Quota name="quotaName">
<Identifier name="identifierName" ref="request.header.identifier">
<Allow>100</Allow>
</Identifier>
</Quota>| ค่าเริ่มต้น: | ไม่มี |
| การมีบุคคลอยู่: | ต้องระบุ |
| ประเภท: | สตริง |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
|---|---|---|---|
| name |
ระบุชื่อของตัวระบุการนับในนโยบายโควต้าเป้าหมาย สำหรับนโยบายโควต้าที่ไม่ได้ใช้แท็ก <Identifier> ให้ระบุ _default |
ไม่มี | ไม่บังคับ |
| ref |
ตัวแปรโฟลว์ที่มีชื่อของตัวระบุการนับในนโยบายโควต้าเป้าหมาย หากระบุทั้ง ref และ name ระบบจะให้ความสำคัญกับ ref หาก ref ไม่ได้รับการแก้ไขใน รันไทม์ ระบบจะใช้ name |
ไม่มี | ไม่บังคับ |
องค์ประกอบ <Quota>/<Identifier>/<Allow>
ระบุจำนวนที่จะลดตัวนับโควต้า คุณต้องระบุ <Allow> มิเช่นนั้น นโยบายจะไม่ แก้ไขโควต้า
<Identifier name="identifierName" ref="request.header.identifier"> <Allow ref="request.header.allowquota">100</Allow> </Identifier>
| ค่าเริ่มต้น: | ไม่มี |
| การมีบุคคลอยู่: | ต้องระบุ |
| ประเภท: | จำนวนเต็ม |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
|---|---|---|---|
| ref |
ตัวแปรโฟลว์ที่มีการเปลี่ยนแปลงจำนวนโควต้าในนโยบายโควต้าเป้าหมาย |
ไม่มี | ไม่บังคับ |
องค์ประกอบ <Quota>/<Identifier>/<Class>
ระบุคลาสที่จะอัปเดตตัวนับโควต้า ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้คลาสกับ นโยบายโควต้าได้ที่ นโยบาย โควต้า
<Identifier name="_default">
<Class ref="request.header.classIdentifier">
<Allow>200</Allow>
</Class>
</Identifier>| ค่าเริ่มต้น: | ไม่มี |
| การมีบุคคลอยู่: | ไม่บังคับ |
| ประเภท: | ไม่มี |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
|---|---|---|---|
| ref |
การอ้างอิงตัวแปรโฟลว์ที่มีคลาสโควต้าที่จะอัปเดต |
ไม่มี | ไม่บังคับ |
ข้อมูลอ้างอิงข้อผิดพลาด
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ 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 |