Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Pengantar
Topik ini menjelaskan cara menggunakan apigee-access
untuk mengakses kuota Apigee Edge
dari aplikasi Node.js. Dengan apigee-access, Anda dapat mengajukan permohonan dan
reset 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() mengambil dua parameter, objek dan fungsi:
(1) Parameter pertama adalah objek JSON dengan kolom berikut:
- identifier (string, wajib diisi): Tanda unik ID bucket kuota. Dalam praktiknya, ini bisa berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib diisi): Berapa lama kuota bucket 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 durasi sebelum kuota direset. Nilai defaultnya adalah 1. Tetapkan ke ukuran yang lebih besar nilai untuk mengizinkan kuota seperti "dua jam", "tiga minggu," dan seterusnya.
- weight (angka, opsional): Nilai yang akan menambah kuota sebesar. Jumlah defaultnya adalah 1.
(2) Argumen kedua adalah fungsi callback dengan kedua argumen:
- Argumen pertama adalah objek Error jika kuota tidak bisa bertambah, atau tidak terdefinisi jika operasi berhasil.
- Yang kedua adalah objek yang berisi kolom-kolom berikut:
- used (angka): Nilai saat ini bucket kuota.
- diizinkan (angka): Nilai maksimum bucket kuota sebelum kuota dianggap terlampaui. Nilai yang sama diteruskan sebagai "izinkan" dalam objek permintaan.
- isAllowed (boolean): Jika masih ada ruang yang tersisa dalam kuota -- benar selama "used" kurang dari atau sama dengan "diizinkan".
- expiryTime (panjang): Stempel waktu, dalam milidetik sejak format tahun 1970, saat bucket kuota akan direset.
- timestamp (panjang): Stempel waktu saat kuota telah 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 diisi): ID unik kuota direktori VM dengan bucket. Dalam praktiknya, hal ini dapat berupa ID aplikasi, alamat IP, atau nama pengguna.
- timeUnit (string, wajib diisi): Berapa lama bucket kuota akan terakumulasi sampai jika perangkat disetel ulang. Nilai yang valid adalah "menit," "jam", "hari", "minggu", dan "bulan".
- interval (angka, opsional): Dikombinasikan dengan "timeUnit" untuk menentukan berapa lama sebelum kuota direset. Nilai defaultnya adalah 1. Setel ke nilai yang lebih besar untuk mengizinkan 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 "opsi" opsional . Objek ini memiliki satu parameter opsional:- syncInterval (angka, opsional): Jumlah detik saat implementasi kuota terdistribusi menyinkronkan statusnya di seluruh jaringan. Defaultnya adalah 10.