Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Introduction
Cet article explique comment utiliser 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
s'appliquent
Modifie les paramètres d'un objet Quota. Utilisez cette méthode pour incrémenter ou diminuer 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() accepte deux paramètres : un objet et une fonction :
(1) Le premier paramètre est un objet JSON avec les champs suivants:
- identifier (chaîne, obligatoire): identifiant unique du bucket de quota. En pratique, il peut s'agir d'un ID d'application, d'une adresse IP ou d'un nom d'utilisateur.
- timeUnit (chaîne, obligatoire): durée pendant laquelle le quota du bucket s'accumule 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.
- interval (nombre, facultatif): combiné avec "timeUnit" pour déterminer le délai avant le réinitialisation du quota. La valeur par défaut est 1. Définissez cette valeur sur une valeur plus élevée pour autoriser des quotas tels que "deux heures", "trois semaines", etc.
- weight (nombre, facultatif): valeur à ajouter au 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 contenant 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 sous la forme "allow" dans l'objet de requête.
- isAllowed (booléen): si de la place reste dans le quota, la valeur est "true" tant que "used" est inférieur ou égal à "allowed".
- expiryTime (long): code temporel, en millisecondes depuis 1970, à partir duquel le quota sera réinitialisé.
- timestamp (long): code temporel auquel le quota a été mis à jour.
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 accepte deux paramètres:-
Un objet JSON contenant les champs suivants:
- 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 pendant laquelle le quota du bucket s'accumulera s'il est réinitialisé. Les valeurs valides sont "minute", "heure", "jour", "semaine" et "mois".
- interval (nombre, facultatif): combiné avec le paramètre "timeUnit" pour déterminer le délai de réinitialisation du quota. La valeur par défaut est 1. Définissez cette valeur sur une valeur plus élevée pour autoriser des délais de réinitialisation tels que "deux heures", "trois semaines", etc.
-
Une fonction de rappel:
- Le rappel prend un objet Error comme premier paramètre si la réinitialisation échoue.
Cas d'utilisation des quotas avancés
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 du quota distribué synchronise son état sur le réseau. La valeur par défaut est 10.