Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Pengantar
Topik ini menjelaskan cara menggunakan apigee-access
untuk mengakses layanan kuota Apigee Edge dari aplikasi Node.js. Dengan apigee-access, Anda dapat menerapkan dan
mereset nilai kuota.
Contoh
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({ identifier: 'Foo', allow: 10, timeUnit: 'hour' }, function(err, result) { console.log('Quota applied: %j', result); });
Metode
terapkan
Mengubah setelan pada objek Quota. Gunakan metode ini untuk menambah atau mengurangi kuota, mengubah interval waktu, dan membuat konfigurasi lainnya.
Penggunaan
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Contoh
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
Parameter
Metode apply() menggunakan dua parameter, objek dan fungsi:
(1) Parameter pertama adalah objek JSON dengan kolom berikut:
- identifier (string, wajib): ID unik bucket kuota. Dalam praktiknya, ID ini dapat berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib diisi): Berapa lama bucket kuota akan terakumulasi hingga direset. Nilai yang valid adalah "menit", "jam", "hari", "minggu", dan "bulan".
- allow (angka, wajib): Nilai maksimum untuk bucket kuota. Nilai ini akan digabungkan dengan nilai saat ini untuk menampilkan apakah kuota telah berhasil.
- interval (angka, opsional): Dikombinasikan dengan "timeUnit" untuk menentukan berapa lama sebelum kuota direset. Nilai defaultnya adalah 1. Tetapkan ke nilai yang lebih besar untuk mengizinkan kuota seperti "dua jam", "tiga minggu", dan sebagainya.
- weight (angka, opsional): Nilai yang akan digunakan untuk menambah kuota. Jumlah defaultnya adalah 1.
(2) Argumen kedua adalah fungsi callback dengan dua argumen ini:
- Argumen pertama adalah objek Error jika kuota tidak dapat bertambah, atau tidak ditentukan jika operasi berhasil.
- Yang kedua adalah objek yang berisi kolom berikut:
- used (angka): Nilai bucket kuota saat ini.
- allowed (angka): Nilai maksimum bucket kuota sebelum kuota dianggap terlampaui. Nilai yang sama diteruskan sebagai "allow" dalam objek permintaan.
- isAllowed (boolean): Jika masih ada ruang dalam kuota, nilainya benar selama "used" kurang dari atau sama dengan "allowed".
- expiryTime (long): Stempel waktu, dalam milidetik sejak format 1970, saat bucket kuota akan direset.
- stempel waktu (long): Stempel waktu saat kuota diperbarui.
Contoh
var apigee = require('apigee-access'); var quota = apigee.getQuota(); // Apply a quota of 100 requests per hour quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100 }, quotaResult); // Apply a quota of 500 requests per five minutes quota.apply({ identifier: 'Bar', timeUnit: 'minute', interval: 5, allow: 500 }, quotaResult); // Increment the quota by a value of 10 quota.apply({ identifier: 'Foo', timeUnit: 'hour', allow: 100, weight: 10 }, quotaResult); function quotaResult(err, r) { if (err) { console.error('Quota failed'); } }
reset
Untuk mereset kuota ke nol, panggil kuota.reset(). Metode ini menggunakan dua parameter:-
Objek JSON dengan kolom berikut:
- identifier (string, wajib): ID unik bucket kuota. Dalam praktiknya, ID ini dapat berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib diisi): Berapa lama bucket kuota akan terakumulasi hingga direset. Nilai yang valid adalah "menit", "jam", "hari", "minggu", dan "bulan".
- interval (angka, opsional): Dikombinasikan dengan "timeUnit" untuk menentukan waktu sebelum kuota direset. Nilai defaultnya adalah 1. Setel ke nilai yang lebih besar untuk mengizinkan waktu reset seperti "dua jam", "tiga minggu", dan seterusnya.
-
Fungsi callback:
- Callback mengambil objek Error sebagai parameter pertama jika reset gagal.
Kasus penggunaan Kuota Lanjutan
Saat membuat kuota, Anda dapat menyertakan objek "options" opsional. Objek ini memiliki satu parameter opsional:- syncInterval (angka, opsional): Jumlah detik yang diperlukan penerapan kuota terdistribusi untuk menyinkronkan statusnya di seluruh jaringan. Defaultnya adalah 10.