Kebijakan ResetQuota

Anda melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Apa

Gunakan untuk mengubah jumlah permintaan yang tersisa secara dinamis yang diizinkan oleh kebijakan Kuota target. Biasanya, Anda menggunakan kebijakan ini untuk mengurangi jumlah kuota saat ini dari kebijakan Kuota target daripada 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 dari penghitung kuota mereka guna mengizinkan 500 permintaan tambahan untuk sisa minggu ini. Pada akhir minggu, kebijakan Kuota akan 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.

Contoh

Contoh kode kebijakan ini mengilustrasikan 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 nama tag <Quota>. Dalam contoh di atas, kebijakan MyQuotaPolicy adalah targetnya.

Semua kebijakan Reset Kuota memerlukan tag <Identifier> untuk menentukan penghitung dalam kebijakan Kuota yang akan diupdate. Secara default, kebijakan Kuota memiliki satu penghitung, kecuali jika kebijakan Kuota juga menyertakan 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 mengizinkan 100 permintaan lagi ke kebijakan Kuota target. Saat kebijakan Kuota target direset, perubahan ini akan dihapus.

Di bawah ini 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 jumlah kuotanya, sebagai header dalam permintaan. Kemudian, Anda dapat mereferensikan variabel alur yang berisi nilai ini 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 ke tag <Identifier> dari kebijakan Reset Kuota untuk mengupdate jumlah kuota tertentu. Perhatikan bagaimana tag <Identifier> dalam kebijakan Kuota target di bawah ini cocok dengan nilai yang ditentukan ke 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 Kuota.

<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 umum 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 natural language yang berbeda.

T/A Wajib
continueOnError

Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Diharapkan untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur dapat dilanjutkan bahkan setelah kebijakan gagal.

salah Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan ini tidak akan ditegakkan meskipun tetap terikat pada alur.

true Opsional
async

Atribut ini tidak digunakan lagi.

salah Tidak digunakan lagi

&lt;DisplayName&gt; elemen

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

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan menjadi data

Ketersediaan Opsional
Jenis String

Elemen <Quota>

Mengidentifikasi kebijakan Kuota target yang penghitungnya harus diupdate.

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

Atribut

Atribut Deskripsi Default Ketersediaan
nama

Menentukan nama kebijakan Kuota target.

T/A Opsional
ref Variabel alur yang berisi nama kebijakan Kuota target. Jika keduanya ref dan name ditentukan, maka ref akan diprioritaskan. Jika ref tidak dapat diselesaikan saat runtime, nama 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
Ketersediaan: Wajib
Jenis: String

Atribut

Atribut Deskripsi Default Ketersediaan
nama

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

T/A Opsional
ref

flow variable yang berisi nama ID hitungan dalam kebijakan Kuota target. Jika ref dan name ditentukan, maka ref akan diprioritaskan. Jika ref tidak dapat diselesaikan saat runtime, nama 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
Ketersediaan: Wajib
Jenis: Bilangan bulat

Atribut

Atribut Deskripsi Default Ketersediaan
ref

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

T/A Opsional

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

Menentukan class yang penghitung Kuotanya akan diupdate. Untuk mengetahui informasi selengkapnya tentang penggunaan class dengan kebijakan Kuota, lihat Kebijakan kuota.

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

Atribut

Atribut Deskripsi Default Ketersediaan
ref

Referensi ke variabel alur yang berisi class kuota yang akan diupdate.

T/A Opsional

Referensi error

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Edge 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 Perbaiki
policies.resetquota.InvalidRLPolicy 500 Kebijakan Kuota yang ditentukan dalam elemen <Quota> kebijakan Reset Quota tidak ditetapkan dalam proxy API, sehingga tidak tersedia selama alur tersebut. 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 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 Perbaiki
InvalidCount Jika nilai jumlah yang ditentukan dalam elemen <Allow> Kebijakan Kuota Reset bukan bilangan bulat, deployment proxy API akan gagal.

Skema

Topik terkait

Kebijakan kuota