Como acessar o serviço de cota no Node.js

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Introdução

Neste tópico, explicamos como usar o apigee-access para acessar a cota do Apigee Edge. de um aplicativo Node.js. Com o apigee-access, você pode aplicar e redefinir os valores da 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


inscrever-se

Modifica as configurações em um objeto de cota. Use este método para aumentar ou diminuir a cota alterar 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 identificador do bucket de cotas. Na prática, pode ser um ID do aplicativo, endereço IP ou nome de usuário
  • timeUnit (string, obrigatório): por quanto tempo a cota se acumulará até ser redefinido. Os valores válidos são "minute", "hora", "dia", "semana", e "mês".
  • allow (número, obrigatório): o valor máximo de bucket de cotas. Esse valor será combinado com o valor atual para mostrar se o a cota foi concluída.
  • interval (número, opcional): combinado com o "unidade de tempo" para determinar quanto tempo falta para a cota ser redefinida. O padrão é 1. Definir como um número maior para permitir cotas, como "duas horas", "três semanas", e assim por diante.
  • weight (número, opcional): o valor a aumentar a cota em. O padrão é 1.

(2) O segundo argumento é uma função de callback com esses dois argumentos:

  • O primeiro argumento será um objeto Error se a cota não puder ser incrementada ou "undefined" se a operação foi bem-sucedida.
  • O segundo é um objeto que contém os seguintes campos:
    • used (número): o valor atual do do Google Cloud.
    • allowed (número): o valor máximo do antes de a cota ser excedida. O mesmo valor foi passado como "permitir" no objeto de solicitação.
    • isAllowed (booleano): se houver espaço restante. na cota -- verdadeiro desde que "usado" é menor ou igual a "permitido".
    • expiryTime (long): o carimbo de data/hora, em milésimos de segundo desde o formato 1970, quando o intervalo de cota será redefinido.
    • timestamp (longo): 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 cotas.reset(). Esse método usa dois parâmetros:
  • Um objeto JSON com estes campos:
    • identifier (string, obrigatório): um identificador exclusivo da cota. do Google Cloud. Na prática, pode ser um ID do aplicativo, endereço IP ou nome de usuário.
    • timeUnit (string, obrigatório): por quanto tempo o bucket de cota será acumulado até que seja redefinido. Os valores válidos são "minute", "hora", "dia", "semana", e "mês".
    • interval (número, opcional): combinado com "timeUnit" para determinar quanto tempo antes da cota ser redefinida. O padrão é 1. Defina como um valor maior para permitir a redefinição horários como "duas horas", "três semanas", e assim por diante.
  • Uma função de callback:
    • O callback usa um objeto Error como o primeiro parâmetro em caso de falha na redefinição.

Caso de uso de cotas avançadas

Ao criar uma cota, é possível incluir uma opção opcional objeto. Esse objeto tem um parâmetro opcional:
  • syncInterval (número, opcional): o número de segundos em que o A implementação de cota distribuída sincroniza o estado em toda a rede. O padrão é 10.
Use esse parâmetro para otimizar o desempenho da cota distribuída na rede. Manter uma configuração mais baixa prejudica o desempenho e aumenta drasticamente a latência do o botão "apply" operação A configuração padrão de 10 segundos é uma boa configuração para muitos aplicativos. O intervalo pode ser definido como zero, o que significa que o estado é sincronizado sempre que "candidatar-se" for chamado. Nesse caso, o desempenho será muito pior.