นโยบายการรีเซ็ตโควต้า

คุณกำลังดูเอกสารประกอบ 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 เป็นเป้าหมาย

นโยบายการรีเซ็ตโควต้าทั้งหมดต้องใช้แท็ก &lt;Identifier&gt; เพื่อระบุพารามิเตอร์ ตัวนับในนโยบายโควต้าที่จะอัปเดต โดยค่าเริ่มต้น นโยบายโควต้าจะมีตัวนับเดียว เว้นแต่ว่านโยบายโควต้าจะมีแท็ก &lt;Identifier&gt; รวมอยู่ด้วย ในตัวอย่างนี้ นโยบายโควต้าเป้าหมายไม่ได้ใช้แท็ก &lt;Identifier&gt; คุณจึงระบุ แอตทริบิวต์ name เป็น _default

องค์ประกอบ &lt;Allow&gt; ระบุค่าที่ใช้ในการลดจำนวนโควต้าปัจจุบันในนโยบายเป้าหมาย ด้วยวิธีนี้ ตัวอย่างเช่น จำนวนโควต้าลดลง 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>

หากนโยบายโควต้าเป้าหมายระบุแท็ก &lt;Identifier&gt; คุณจะดำเนินการต่อไปนี้ได้ ระบุค่าเดียวกันลงในแท็ก &lt;Identifier&gt; ของโควต้าการรีเซ็ต นโยบายที่จะอัปเดตจำนวนโควต้าที่เฉพาะเจาะจง โปรดสังเกตว่าแท็ก &lt;Identifier&gt; ในปลายทาง นโยบายโควต้าด้านล่างตรงกับค่าที่ระบุไว้ในนโยบายการรีเซ็ตโควต้า

<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>

&lt;ResetQuota&gt; แอตทริบิวต์

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
name

ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ name สามารถ ประกอบด้วยตัวอักษร ตัวเลข การเว้นวรรค ขีดกลางสั้น ขีดล่าง และจุด ค่านี้ไม่สามารถ เกิน 255 อักขระ

(ไม่บังคับ) ใช้องค์ประกอบ <DisplayName> เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

ไม่มี ต้องระบุ
continueOnError

ตั้งค่าเป็น false เพื่อแสดงผลข้อผิดพลาดเมื่อนโยบายล้มเหลว เป็นเรื่องปกติ พฤติกรรมสำหรับนโยบายส่วนใหญ่

ตั้งค่าเป็น true เพื่อให้ดำเนินการตามขั้นตอนได้อย่างต่อเนื่องแม้จะมีนโยบายแล้วก็ตาม ล้มเหลว

เท็จ ไม่บังคับ
enabled

ตั้งค่าเป็น true เพื่อบังคับใช้นโยบาย

ตั้งค่าเป็น false เพื่อปิดนโยบาย นโยบายจะไม่ บังคับใช้ แม้ว่าจะยังคงแนบกับขั้นตอน

จริง ไม่บังคับ
async

แอตทริบิวต์นี้เลิกใช้งานแล้ว

เท็จ เลิกใช้

&lt;DisplayName&gt; องค์ประกอบ

ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น

ไม่มี

หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ name ของนโยบายจะเป็น

การมีบุคคลอยู่ ไม่บังคับ
ประเภท สตริง

&lt;Quota&gt; องค์ประกอบ

ระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับ

<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 ไม่มี ไม่บังคับ

&lt;Quota&gt;/&lt;Identifier&gt; องค์ประกอบ

ตัวแปรที่ใช้ระบุตัวนับแบบไม่ซ้ำหากนโยบายโควต้าเป้าหมายระบุ แท็ก &lt;Identifier&gt;

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
ค่าเริ่มต้น: ไม่มี
การตรวจหาบุคคล: ต้องระบุ
ประเภท: สตริง

Attributes

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
ชื่อ

ระบุชื่อตัวระบุจำนวนในนโยบายโควต้าเป้าหมาย เพื่อขอโควต้า นโยบายที่ไม่ได้ใช้แท็ก &lt;Identifier&gt; ให้ระบุ _default

ไม่มี ไม่บังคับ
อ้างอิง

ตัวแปรโฟลว์ที่มีชื่อของตัวระบุจํานวนในโควต้าเป้าหมาย ถ้ามีการระบุทั้ง ref และ name ไว้ ref ก็จะมีลำดับความสำคัญสูงสุด หาก ref ไม่แปลค่า รันไทม์แล้วจะใช้ name

ไม่มี ไม่บังคับ

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Allow&gt; องค์ประกอบ

ระบุจำนวนที่จะลดตัวนับโควต้า คุณต้องระบุ &lt;Allow&gt; มิฉะนั้นนโยบายจะไม่ แก้ไขโควต้า

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
ค่าเริ่มต้น: ไม่มี
การตรวจหาบุคคล: ต้องระบุ
ประเภท: จำนวนเต็ม

Attributes

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
อ้างอิง

ตัวแปรโฟลว์ที่มีการเปลี่ยนแปลงจำนวนโควต้าในนโยบายโควต้าเป้าหมาย

ไม่มี ไม่บังคับ

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Class&gt; องค์ประกอบ

ระบุคลาสที่อัปเดตตัวนับโควต้า สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ชั้นเรียนกับ นโยบายโควต้า โปรดดูโควต้า

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
ค่าเริ่มต้น: ไม่มี
การตรวจหาบุคคล: ไม่บังคับ
ประเภท: ไม่มี

Attributes

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
อ้างอิง

การอ้างอิงไปยังตัวแปรโฟลว์ที่มีคลาสโควต้าที่จะอัปเดต

ไม่มี ไม่บังคับ

ข้อมูลอ้างอิงข้อผิดพลาด

ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด

ข้อผิดพลาดเกี่ยวกับรันไทม์

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน

รหัสข้อผิดพลาด สถานะ HTTP สาเหตุ แก้ไข
policies.resetquota.InvalidRLPolicy 500 นโยบายโควต้าที่ระบุในองค์ประกอบ <Quota> ของนโยบายการรีเซ็ตโควต้าไม่ได้กำหนดในพร็อกซี API จึงไม่พร้อมใช้งานระหว่างขั้นตอน องค์ประกอบ <Quota> เป็นองค์ประกอบที่จำเป็นและระบุนโยบายโควต้าเป้าหมายที่ควรอัปเดตตัวนับผ่านนโยบายการรีเซ็ตโควต้า
policies.resetquota.FailedToResolveAllowCountRef ไม่มีข้อมูล การอ้างอิงไปยังตัวแปรที่มีจำนวนที่อนุญาตในองค์ประกอบ <Allow> ของนโยบายไม่สามารถแปลงเป็นค่าได้ องค์ประกอบนี้เป็นสิ่งที่จำเป็นและระบุจำนวนที่จะลดตัวนับโควต้า
policies.resetquota.FailedToResolveRLPolicy 500 ระบบจับคู่ตัวแปรที่แอตทริบิวต์ ref อ้างอิงในองค์ประกอบ <Quota> ไม่ได้

ข้อผิดพลาดในการทำให้ใช้งานได้

ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
InvalidCount หากค่าการนับที่ระบุในองค์ประกอบ <Allow> ของนโยบายการรีเซ็ตโควต้าไม่ใช่จำนวนเต็ม การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ

สคีมา

หัวข้อที่เกี่ยวข้อง

นโยบายโควต้า