Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
Introdução
Neste tópico, explicamos como usar o apigee-access
para acessar o serviço de cota do Apigee Edge
em um aplicativo Node.js. Com o apigee-access, você pode aplicar e
redefinir os valores de cota.
Exemplo
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
aplicar
Modifica as configurações em um objeto de cota. Use esse método para incrementar ou decrementar a cota, mudar intervalos de tempo e fazer outras configurações.
Uso
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Exemplo
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
O método apply() recebe dois parâmetros, um objeto e uma função:
(1) O primeiro parâmetro é um objeto JSON com estes campos:
- identifier (string, obrigatório): um identificador exclusivo do bucket de cota. Na prática, pode ser um ID do aplicativo, um endereço IP ou um nome de usuário.
- timeUnit (string, obrigatório): por quanto tempo o bucket de cota será acumulado até ser redefinido. Os valores válidos são "minute", "hour", "day", "week" e "month".
- allow (número, obrigatório): o valor máximo para o bucket de cota. Esse valor será combinado com o valor atual para retornar se a cota foi concluída.
- interval (número, opcional): é combinado com a "timeUnit" para determinar o tempo até que a cota seja redefinida. O padrão é 1. Defina um valor maior para permitir cotas, como "duas horas", "três semanas" e assim por diante.
- weight (número, opcional): o valor pelo qual a cota será incrementada. O padrão é 1.
(2) O segundo argumento é uma função de callback com estes dois argumentos:
- O primeiro argumento é um objeto de erro se a cota não puder ser incrementada ou indefinido se a operação tiver sido bem-sucedida.
- O segundo é um objeto que contém os seguintes campos:
- used (número): o valor atual do bucket de cota.
- allowed (número): o valor máximo do bucket de cota antes que a cota seja considerada excedida. O mesmo valor foi transmitido como "allow" no objeto de solicitação.
- isAllowed (booleano): se houver espaço restante na cota, será verdadeiro, desde que "used" seja menor ou igual a "allowed".
- expiryTime (long): o carimbo de data/hora, em milissegundos desde o formato de 1970, quando o bucket de cota será redefinido.
- Carimbo de data/hora (long): o carimbo de data/hora em que a cota foi atualizada.
Exemplo
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'); } }
redefinir
Para redefinir a cota para zero, chame quota.reset(). Esse método usa dois parâmetros:-
Um objeto JSON com estes campos:
- identifier (string, obrigatório): um identificador exclusivo do bucket de cota. Na prática, pode ser um ID do aplicativo, um endereço IP ou um nome de usuário.
- timeUnit (string, obrigatório): por quanto tempo o bucket de cota vai acumular até ser redefinido. Os valores válidos são "minute", "hour", "day", "week" e "month".
- interval (número, opcional): é combinado com a "timeUnit" para determinar quanto tempo antes que a cota seja redefinida. O padrão é 1. Defina como um valor maior para permitir períodos de redefinição como "duas horas", "três semanas" e assim por diante.
-
Uma função de callback:
- O callback recebe um objeto de erro como o primeiro parâmetro se a redefinição falhar.
Caso de uso de cota avançada
Ao criar uma cota, é possível incluir um objeto "options" opcional. Esse objeto tem um parâmetro opcional:- syncInterval (número, opcional): o número de segundos em que a implementação de cota distribuída sincroniza o estado na rede. O padrão é 10.