Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
Introducción
En este tema, se explica cómo usar apigee-access para acceder al servicio de cuota
de Apigee Edge desde una aplicación de Node.js. Con apigee-access, puedes aplicar y
restablecer valores de cuota.
Ejemplo
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étodos
apply
Modifica la configuración de un objeto de cuota. Usa este método para aumentar o disminuir la cuota, cambiar los intervalos de tiempo y realizar otras configuraciones.
Uso
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Ejemplo
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'); } }
Parámetros
El método apply() toma dos parámetros, un objeto y una función:
(1) El primer parámetro es un objeto JSON con estos campos:
- identifier (cadena, obligatorio): Un identificador único del bucket de cuota. En la práctica, puede ser un ID de aplicación, una dirección IP o nombre de usuario.
- timeUnit (cadena, obligatorio): Es el tiempo que se acumulará el bucket de cuota hasta que se restablezca. Los valores válidos son "minute", "hour", "day", "week" y "month."
- allow (número, obligatorio): Es el valor máximo para el bucket de cuota. Este valor se combinará con el valor actual para mostrar si la cuota se completó correctamente.
- interval (número, opcional): Se combina con "timeUnit" para determinar cuánto tiempo antes de que se restablezca la cuota. El valor predeterminado es 1. Establece un valor más grande para permitir cuotas como "dos horas", "tres semanas", etcétera.
- weight (número, opcional): Es el valor por el que se aumentará la cuota. El valor predeterminado es 1.
(2) El segundo argumento es una función de devolución de llamada con estos dos argumentos:
- El primer argumento es un objeto de error si no se puede aumentar la cuota o no está definido si la operación se realizó correctamente.
- El segundo es un objeto que contiene los siguientes campos:
- used (número): Es el valor actual del bucket de cuota.
- allowed (número): Es el valor máximo del bucket de cuota antes de que se considere que se superó la cuota. Se pasó el mismo valor como "allow" en el objeto de solicitud.
- isAllowed (booleano): Si queda espacio en la cuota , es verdadero siempre que "used" sea menor o igual que "allowed".
- expiryTime (largo): Es la marca de tiempo, en milisegundos desde el formato de 1970, cuando se restablecerá el bucket de cuota.
- timestamp (largo): Es la marca de tiempo en la que se actualizó la cuota.
Ejemplo
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
Para restablecer la cuota a cero, llama a quota.reset(). Este método toma dos parámetros:-
Un objeto JSON con estos campos:
- identifier (cadena, obligatorio): Un identificador único del bucket de cuota. En la práctica, puede ser un ID de aplicación, una dirección IP o un nombre de usuario.
- timeUnit (cadena, obligatorio): Es el tiempo que se acumulará el bucket de cuota hasta que se restablezca. Los valores válidos son "minute", "hour", "day", "week" y "month".
- interval (número, opcional): Se combina con "timeUnit" para determinar cuánto tiempo antes de que se restablezca la cuota. El valor predeterminado es 1. Establece un valor más grande para permitir tiempos de restablecimiento como "dos horas", "tres semanas", etcétera.
-
Una función de devolución de llamada:
- La devolución de llamada toma un objeto de error como el primer parámetro si falla el restablecimiento.
Caso de uso avanzado de cuota
Cuando creas una cuota, puedes incluir un objeto "options" opcional. Este objeto tiene un parámetro opcional:- syncInterval (número, opcional): Es la cantidad de segundos que la implementación de cuota distribuida sincroniza su estado en la red. El valor predeterminado es 10.