Kebijakan ResetQuota

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

ikon kebijakan

Apa

Gunakan untuk mengubah secara dinamis sisa jumlah permintaan yang diizinkan oleh kebijakan Kuota target. Anda biasanya menggunakan kebijakan ini untuk mengurangi jumlah kuota saat ini pada kebijakan Kuota target daripada menunggu hitungan kuota direset.

Misalnya, kebijakan Kuota target membatasi developer hingga 1.000 permintaan per minggu. Dengan hari kedua minggu ini, developer telah mencapai batas ini. Menggunakan kebijakan Reset Kuota mengurangi 500 dari penghitung kuota mereka untuk memungkinkan 500 permintaan tambahan untuk sisa dalam minggu tersebut. Di akhir minggu, kebijakan Kuota akan direset, dan developer kembali ke 1.000 permintaan untuk seminggu.

Kebijakan ini merupakan Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin menimbulkan biaya atau implikasi penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

Lihat Kebijakan kuota untuk informasi selengkapnya tentang kebijakan Kuota. Lihat juga ini postingan komunitas tentang penggunaan kebijakan Reset Kuota.

Sampel

Contoh kode kebijakan ini menggambarkan cara mereset penghitung kuota:

Reset Penghitung Default

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Kebijakan Reset Quota menentukan kebijakan Quota target menggunakan atribut name dari tag <Quota>. Pada contoh di atas, kebijakan MyQuotaPolicy adalah target.

Semua kebijakan Kuota Reset memerlukan tag &lt;Identifier&gt; untuk menentukan di kebijakan Quota untuk diperbarui. Secara {i>default<i}, kebijakan Kuota memiliki satu penghitung, kecuali jika kebijakan Kuota juga menyertakan tag &lt;Identifier&gt;. Dalam contoh ini, kebijakan Kuota target tidak menggunakan tag &lt;Identifier&gt;, jadi Anda menentukan atribut name sebagai _default.

Elemen &lt;Allow&gt; menentukan nilai yang digunakan untuk mengurangi jumlah kuota saat ini pada kebijakan target. Di sini misalnya, jumlah kuota dikurangi 100, untuk memungkinkan 100 permintaan lagi ke Kuota target lebih lanjut. Saat kebijakan Kuota target direset, perubahan ini akan dihapus.

Berikut adalah definisi kebijakan Kuota target:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Menggunakan Referensi

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

Dalam contoh ini, Anda meneruskan nama kebijakan Kuota target, dan perubahan pada kuotanya , sebagai header dalam permintaan. Anda kemudian dapat mereferensikan variabel alur yang berisi dalam kebijakan Reset Kuota.

Menentukan ID

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Jika kebijakan Kuota target menentukan tag &lt;Identifier&gt;, Anda dapat tentukan nilai yang sama ke tag &lt;Identifier&gt; dari Reset Quota kebijakan untuk memperbarui jumlah kuota tertentu. Perhatikan bagaimana tag &lt;Identifier&gt; pada target Kebijakan kuota di bawah cocok dengan nilai yang ditentukan dalam kebijakan Reset Kuota:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Referensi elemen

Referensi elemen menjelaskan elemen dan atribut kebijakan Reset 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; atribut

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

Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:

Atribut Deskripsi Default Kehadiran
name

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Atau, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

T/A Diperlukan
continueOnError

Setel ke false untuk menampilkan error jika kebijakan gagal. Ini adalah perilaku yang wajar untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur tetap berlanjut bahkan setelah kebijakan gagal. Lihat juga:

false Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap melekat pada alur.

true Opsional
async

Atribut ini sudah tidak digunakan lagi.

false Tidak digunakan lagi

Elemen <DisplayName>

Gunakan selain atribut name untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan digunakan.

Kehadiran Opsional
Jenis String

&lt;Quota&gt; elemen

Mengidentifikasi kebijakan Kuota target yang penghitungnya harus diperbarui.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Default: T/A
Kehadiran: Wajib
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
nama

Menentukan nama kebijakan Kuota target.

T/A Opsional
referensi Variabel flow yang berisi nama kebijakan Kuota target. Jika ref dan name ditetapkan, maka ref akan diprioritaskan. Jika ref berisi tidak di-resolve saat runtime, maka name akan digunakan. T/A Opsional

&lt;Quota&gt;/&lt;Identifier&gt; elemen

Variabel yang digunakan untuk mengidentifikasi penghitung secara unik jika kebijakan Kuota target menentukan tag &lt;Identifier&gt;.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Default: T/A
Kehadiran: Wajib
Jenis: String

Atribut

Atribut Deskripsi Default Kehadiran
nama

Menentukan nama ID jumlah dalam kebijakan Kuota target. Untuk Kuota kebijakan yang tidak menggunakan tag &lt;Identifier&gt;, tentukan _default.

T/A Opsional
referensi

Variabel flow yang berisi nama ID jumlah di Quota target lebih lanjut. Jika ref dan name ditetapkan, maka ref akan diprioritaskan. Jika ref tidak di-resolve di runtime, maka name akan digunakan.

T/A Opsional

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Allow&gt; elemen

Menentukan jumlah yang akan mengurangi penghitung kuota. Anda harus menentukan &lt;Allow&gt;. Jika tidak, kebijakan tidak akan mengubah kuota.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
Default: T/A
Kehadiran: Wajib
Jenis: Bilangan bulat

Atribut

Atribut Deskripsi Default Kehadiran
referensi

Variabel flow yang berisi perubahan pada jumlah kuota dalam kebijakan Kuota target.

T/A Opsional

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Class&gt; elemen

Menentukan class tempat penghitung Kuota diperbarui. Untuk informasi selengkapnya tentang penggunaan class dengan Kebijakan kuota, lihat Kuota kebijakan kami.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
Default: T/A
Kehadiran: Opsional
Jenis: T/A

Atribut

Atribut Deskripsi Default Kehadiran
referensi

Rujukan ke variabel flow yang berisi class kuota yang akan diperbarui.

T/A Opsional

Referensi error

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
policies.resetquota.InvalidRLPolicy 500 Kebijakan Quota yang ditentukan dalam elemen <Quota> kebijakan ResetQuota tidak ditentukan dalam proxy API sehingga tidak tersedia selama alur. Elemen <Quota> bersifat wajib dan mengidentifikasi kebijakan Quota target yang penghitungnya harus diperbarui melalui kebijakan ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef T/A Referensi ke variabel yang berisi jumlah izin dalam elemen <Allow> kebijakan tidak dapat di-resolve menjadi sebuah nilai. Elemen ini bersifat wajib dan menentukan jumlah pengurangan kuota.
policies.resetquota.FailedToResolveRLPolicy 500 Variabel yang direferensikan oleh atribut ref dalam elemen <Quota> tidak dapat di-resolve.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidCount Jika nilai jumlah yang ditentukan dalam elemen <Allow> Kebijakan ResetQuota bukan bilangan bulat, deployment proxy API akan gagal.

Skema

Topik terkait

Kebijakan kuota