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
berlaku
Mengubah setelan pada objek Kuota. 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, yaitu objek dan fungsi:
(1) Parameter pertama adalah objek JSON dengan kolom berikut:
- identifier (string, wajib): ID unik bucket kuota. Dalam praktiknya, ID tersebut dapat berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib): 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 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 untuk menaikkan kuota. Jumlah defaultnya adalah 1.
(2) Argumen kedua adalah fungsi callback dengan dua argumen ini:
- Argumen pertama adalah objek Error jika kuota tidak dapat ditambah, 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 yang tersisa dalam kuota -- benar selama "used" kurang dari atau sama dengan "allowed".
- expiryTime (long): Stempel waktu, dalam format milidetik sejak 1970, saat bucket kuota akan direset.
- timestamp (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 quota.reset(). Metode ini mengambil dua parameter:-
Objek JSON dengan kolom berikut:
- identifier (string, wajib): ID unik bucket kuota. Dalam praktiknya, ID tersebut dapat berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib): Berapa lama bucket kuota akan terakumulasi hingga direset. Nilai yang valid adalah "menit", "jam", "hari", "minggu", dan "bulan".
- interval (angka, opsional): Digabungkan dengan "timeUnit" untuk menentukan berapa lama sebelum kuota direset. Nilai defaultnya adalah 1. Setel ke nilai yang lebih besar untuk mengizinkan waktu reset seperti "dua jam", "tiga minggu", dan sebagainya.
-
Fungsi callback:
- Callback menggunakan 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 saat penerapan kuota terdistribusi menyinkronkan statusnya di seluruh jaringan. Defaultnya adalah 10.