Kebijakan ResetQuota

Anda sedang melihat dokumentasi Apigee Edge.
Lihat dokumentasi Apigee X.

Apa

Gunakan untuk mengubah secara dinamis jumlah permintaan yang tersisa yang diizinkan oleh kebijakan Kuota target. Biasanya, Anda menggunakan kebijakan ini untuk mengurangi jumlah kuota kebijakan Kuota target saat ini, bukan menunggu jumlah kuota direset.

Misalnya, kebijakan Kuota target membatasi developer hingga 1.000 permintaan per minggu. Pada hari kedua dalam seminggu, developer telah mencapai batas ini. Gunakan kebijakan Reset Kuota untuk mengurangi 500 kuota dari penghitung kuota guna mengizinkan 500 permintaan tambahan di sisa minggu ini. Pada akhir minggu, kebijakan Kuota direset, dan developer kembali ke 1.000 permintaan untuk minggu tersebut.

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

Sample

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 Kuota menentukan kebijakan Kuota target menggunakan atribut name dari tag <Quota>. Dalam contoh di atas, kebijakan MyQuotaPolicy adalah targetnya.

Semua kebijakan Kuota Reset mengharuskan tag <Identifier> menentukan penghitung dalam kebijakan Kuota yang akan diperbarui. Secara default, kebijakan Kuota memiliki satu penghitung, kecuali kebijakan Kuota juga mencakup tag <Identifier>. Dalam contoh ini, kebijakan Kuota target tidak menggunakan tag <Identifier>, sehingga Anda menentukan atribut name sebagai _default.

Elemen <Allow> menentukan nilai yang digunakan untuk mengurangi jumlah kuota saat ini pada kebijakan target. Dalam contoh ini, jumlah kuota dikurangi 100, untuk memungkinkan 100 permintaan lagi ke kebijakan Kuota target. 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 jumlah kuotanya, sebagai header dalam permintaan. Selanjutnya, Anda dapat mereferensikan variabel flow yang berisi nilai tersebut 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 <Identifier>, Anda dapat menentukan nilai yang sama untuk tag <Identifier> dalam kebijakan Reset Kuota untuk memperbarui jumlah kuota tertentu. Perhatikan cara tag <Identifier> dalam kebijakan Kuota target di bawah cocok dengan nilai yang ditentukan oleh 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 Kuota Reset.

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

Atribut <ResetQuota>

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

Secara opsional, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.

T/A Wajib
continueOnError

Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Hal ini wajar untuk sebagian besar kebijakan.

Tetapkan ke true agar eksekusi flow dapat dilanjutkan bahkan setelah kebijakan gagal.

false Opsional
enabled

Tetapkan ke true untuk menerapkan kebijakan.

Tetapkan ke false untuk menonaktifkan kebijakan. Kebijakan ini tidak akan diterapkan meskipun tetap dilampirkan ke flow.

benar Opsional
async

Atribut ini tidak digunakan lagi.

false Tidak digunakan lagi

Elemen <DisplayName>

Selain atribut name, beri label pada kebijakan di editor proxy UI pengelolaan dengan nama bahasa natural yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

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

Ketersediaan Opsional
Type String

Elemen <Quota>

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 diisi
Jenis: T/A

Atribut

Atribut Deskripsi Default Ketersediaan
nama

Menentukan nama kebijakan Kuota target.

T/A Opsional
Rujukan Variabel flow yang berisi nama kebijakan Kuota target. Jika ref dan name ditentukan, ref akan diprioritaskan. Jika ref tidak terselesaikan saat runtime, name akan digunakan. T/A Opsional

Elemen <Quota>/<Identifier>

Variabel yang digunakan untuk mengidentifikasi penghitung secara unik jika kebijakan Kuota target menentukan tag <Identifier>.

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

Atribut

Atribut Deskripsi Default Ketersediaan
nama

Menentukan nama ID jumlah di kebijakan Kuota target. Untuk kebijakan Kuota yang tidak menggunakan tag <Identifier>, tentukan _default.

T/A Opsional
Rujukan

Variabel flow yang berisi nama ID jumlah dalam kebijakan Kuota target. Jika ref dan name ditentukan, ref akan diprioritaskan. Jika ref tidak di-resolve pada runtime, maka name akan digunakan.

T/A Opsional

Elemen <Quota>/<Identifier>/<Allow>

Menentukan jumlah untuk mengurangi penghitung kuota. Anda harus menentukan <Allow>, 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 diisi
Jenis: Bilangan bulat

Atribut

Atribut Deskripsi Default Ketersediaan
Rujukan

Variabel alur yang berisi perubahan jumlah kuota di kebijakan Kuota target.

T/A Opsional

Elemen <Quota>/<Identifier>/<Class>

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

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

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

T/A Opsional

Referensi error

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

Error runtime

Error ini dapat terjadi saat kebijakan dijalankan.

Kode kesalahan Status HTTP Penyebab Perbaiki
policies.resetquota.InvalidRLPolicy 500 Kebijakan Kuota yang ditentukan dalam elemen <Quota> dari kebijakan Reset Kuota tidak ditentukan dalam proxy API sehingga tidak tersedia selama alur. Elemen <Quota> bersifat wajib dan mengidentifikasi kebijakan Kuota target yang penghitungnya harus diperbarui melalui kebijakan Reset Kuota.
policies.resetquota.FailedToResolveAllowCountRef T/A Referensi ke variabel yang berisi jumlah izin dalam elemen <Allow> kebijakan tidak dapat diselesaikan menjadi nilai. Elemen ini bersifat wajib dan menentukan jumlah untuk mengurangi penghitung kuota.
policies.resetquota.FailedToResolveRLPolicy 500 Variabel yang direferensikan oleh atribut ref dalam elemen <Quota> tidak dapat diselesaikan.

Error deployment

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

Nama error Penyebab Perbaiki
InvalidCount Jika nilai jumlah yang ditentukan dalam elemen <Allow> dalam Kebijakan Kuota Reset tidak berupa bilangan bulat, deployment proxy API akan gagal.

Skema

Topik terkait

Kebijakan kuota