Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Introduction
Cette rubrique explique comment utiliser le apigee-access
pour accéder au service de quota Apigee Edge à partir d'une application Node.js. Avec apigee-access, vous pouvez appliquer et réinitialiser les valeurs de quota.
Exemple
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); });
Méthodes
appliquer
Modifie les paramètres d'un objet Quota. Utilisez cette méthode pour incrémenter ou décrémenter le quota, modifier les intervalles de temps et effectuer d'autres configurations.
Utilisation
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Exemple
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'); } }
Paramètres
La méthode apply() utilise deux paramètres, un objet et une fonction:
(1) Le premier paramètre est un objet JSON contenant ces champs:
- identifier (chaîne, obligatoire): identifiant unique du bucket de quota. En pratique, il peut s'agir d'un ID application, d'une adresse IP ou d'un nom d'utilisateur.
- timeUnit (chaîne, obligatoire): durée d'accumulation du bucket par le quota jusqu'à sa réinitialisation. Les valeurs valides sont "minute", "heure", "jour", "semaine" et "mois".
- allow (nombre, obligatoire): valeur maximale du bucket de quota. Cette valeur sera combinée à la valeur actuelle pour indiquer si le quota a réussi.
- intervalle (nombre, facultatif): associé à "timeUnit" pour déterminer le délai de réinitialisation du quota. La valeur par défaut est 1. Définissez une valeur plus élevée pour autoriser des quotas tels que "deux heures", "trois semaines", etc.
- weight (nombre, facultatif): valeur d'incrémentation du quota. La valeur par défaut est 1.
(2) Le deuxième argument est une fonction de rappel avec ces deux arguments:
- Le premier argument est un objet Error si le quota ne peut pas être incrémenté, ou non défini si l'opération a réussi.
- Le second est un objet qui contient les champs suivants :
- used (nombre): valeur actuelle du bucket de quota.
- allowed (nombre): valeur maximale du bucket de quota avant que le quota ne soit considéré comme dépassé. La même valeur a été transmise en tant que "allow" dans l'objet de la requête.
- isAllowed (booléen): s'il reste de l'espace dans le quota, "true" tant que la valeur "used" est inférieure ou égale à "allowed".
- expiryTime (longue): horodatage, en millisecondes depuis le format 1970, correspondant au moment où le bucket de quota est réinitialisé.
- timestamp (long): code temporel de la mise à jour du quota.
Exemple
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'); } }
réinitialiser
Pour réinitialiser le quota à zéro, appelez quota.reset(). Cette méthode nécessite deux paramètres:-
Un objet JSON comportant ces champs:
- identifier (chaîne, obligatoire): identifiant unique du bucket de quota. En pratique, il peut s'agir d'un ID application, d'une adresse IP ou d'un nom d'utilisateur.
- timeUnit (chaîne obligatoire): durée d'accumulation du bucket par le quota jusqu'à sa réinitialisation. Les valeurs valides sont "minute", "hour", "day", "week" et "month".
- intervalle (nombre, facultatif): associé à "timeUnit" pour déterminer le délai de réinitialisation du quota. La valeur par défaut est 1. Définissez une valeur plus élevée pour autoriser des délais de réinitialisation (par exemple, "deux heures", "trois semaines", etc.).
-
Une fonction de rappel:
- Le rappel utilise un objet Error comme premier paramètre si la réinitialisation échoue.
Cas d'utilisation avancé des quotas
Lorsque vous créez un quota, vous pouvez inclure un objet "options" facultatif. Cet objet comporte un paramètre facultatif :- syncInterval (nombre, facultatif): nombre de secondes pendant lesquelles la mise en œuvre de quotas distribués synchronise son état sur le réseau. La valeur par défaut est 10.