Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Apa
Gunakan untuk mengubah secara dinamis jumlah permintaan yang tersisa yang diizinkan oleh kebijakan Kuota target. Anda biasanya menggunakan kebijakan ini untuk mengurangi jumlah kuota saat ini dari kebijakan Kuota target, bukan menunggu jumlah kuota direset.
Misalnya, kebijakan Kuota target membatasi developer hingga 1.000 permintaan per minggu. Pada hari kedua minggu ini, developer telah mencapai batas ini. Gunakan kebijakan Reset Kuota untuk mengurangi 500 dari penghitung kuota mereka guna mengizinkan 500 permintaan tambahan selama sisa minggu. Pada akhir minggu, kebijakan Kuota akan direset, dan developer kembali ke 1.000 permintaan untuk minggu tersebut.
Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.
Lihat Kebijakan kuota untuk mengetahui informasi selengkapnya tentang Kebijakan kuota. Lihat juga postingan komunitas ini tentang penggunaan kebijakan Reset Kuota.
Sampel
Contoh kode kebijakan ini menggambarkan cara mereset penghitung kuota:
Mereset 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>. Pada contoh di atas, kebijakan MyQuotaPolicy adalah target.
Semua kebijakan Reset Kuota memerlukan tag <Identifier> untuk menentukan penghitung di kebijakan Kuota yang akan diperbarui. 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 sebanyak 100, untuk mengizinkan 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 pada jumlah kuotanya, sebagai header dalam permintaan. Kemudian, Anda dapat mereferensikan variabel alur yang berisi nilai-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 memperbarui jumlah kuota tertentu. Perhatikan bagaimana tag <Identifier> dalam kebijakan kuota target di bawah cocok dengan nilai yang ditentukan untuk 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 | Kehadiran |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
T/A | Wajib |
continueOnError |
Tetapkan ke Tetapkan ke |
false | Opsional |
enabled |
Tetapkan ke Tetapkan ke |
benar | Opsional |
async |
Atribut ini tidak digunakan lagi. |
false | Tidak digunakan lagi |
Elemen <DisplayName>
Gunakan selain atribut name
untuk melabeli kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
---|---|
Kehadiran | Opsional |
Jenis | 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 |
Jenis: | T/A |
Atribut
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
nama |
Menentukan nama kebijakan Kuota target. |
T/A | Opsional |
ref | Variabel alur yang berisi nama kebijakan Kuota target. Jika ref dan name ditentukan, ref akan diprioritaskan. Jika ref tidak di-resolve 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 |
Jenis: | String |
Atribut
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
nama |
Menentukan nama ID jumlah di kebijakan Kuota target. Untuk kebijakan Kuota yang tidak menggunakan tag <Identifier>, tentukan _default. |
T/A | Opsional |
ref |
Variabel alur yang berisi nama ID jumlah dalam kebijakan Kuota target. Jika ref dan name ditentukan, ref akan diprioritaskan. Jika ref tidak di-resolve saat runtime, 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 |
Jenis: | Bilangan bulat |
Atribut
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
ref |
Variabel alur yang berisi perubahan pada jumlah kuota dalam kebijakan Kuota target. |
T/A | Opsional |
Elemen <Quota>/<Identifier>/<Class>
Menentukan class yang penghitung Kuota-nya diperbarui. 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 |
Kehadiran: | Opsional |
Jenis: | T/A |
Atribut
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
ref |
Referensi ke variabel alur yang berisi class kuota yang akan diperbarui. |
T/A | Opsional |
Referensi error
Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dieksekusi.
Kode kerusakan | Status HTTP | Penyebab | Perbaiki |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
Kebijakan Quota yang ditentukan dalam elemen <Quota> dari kebijakan ResetQuota
tidak ditentukan di proxy API sehingga tidak tersedia selama alur. Elemen <Quota> wajib diisi dan mengidentifikasi kebijakan Quota target yang penghitungnya harus diperbarui melalui kebijakan ResetQuota . |
build |
policies.resetquota.FailedToResolveAllowCountRef |
T/A | Referensi ke variabel yang berisi jumlah izin di elemen <Allow> kebijakan tidak dapat di-resolve ke nilai. Elemen ini bersifat wajib dan menentukan jumlah
untuk mengurangi penghitung kuota. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
Variabel yang dirujuk oleh atribut ref dalam elemen <Quota>
tidak dapat di-resolve. |
build |
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 ResetQuota bukan bilangan bulat, deployment proxy API akan gagal.
|
build |