Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Introduzione
Questo argomento spiega come utilizzare apigee-access
per accedere al servizio di quota Apigee Edge da un'applicazione Node.js. Con apigee-access, puoi applicare e
reimpostare i valori di quota.
Esempio
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); });
Metodi
applica
Modifica le impostazioni su un oggetto Quota. Utilizza questo metodo per aumentare o diminuire la quota, modificare gli intervalli di tempo e effettuare altre configurazioni.
Utilizzo
var apigee = require('apigee-access'); var quota = apigee.getQuota(); quota.apply({parameters}, callback);
Esempio
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'); } }
Parametri
Il metodo apply() accetta due parametri, un oggetto e una funzione:
(1) Il primo parametro è un oggetto JSON con i seguenti campi:
- identifier (stringa, obbligatorio): un identificatore univoco del bucket di quota. In pratica, potrebbe trattarsi di un ID applicazione, di un indirizzo IP o di un nome utente.
- timeUnit (stringa, obbligatoria): il periodo di tempo per cui il bucket della quota verrà accumulato fino al relativo azzeramento. I valori validi sono "minute", "hour", "day", "week" e "month".
- allow (numero, obbligatorio): il valore massimo per il bucket della quota. Questo valore verrà combinato con il valore corrente per indicare se la quota è andata a buon fine.
- interval (numero, facoltativo): combinato con "timeUnit" per determinare il tempo che deve trascorrere prima che la quota venga reimpostata. Il valore predefinito è 1. Imposta un valore maggiore per consentire quote, ad esempio "due ore", "tre settimane" e così via.
- weight (numero, facoltativo): il valore con cui incrementare la quota. Il valore predefinito è 1.
(2) Il secondo argomento è una funzione di callback con questi due argomenti:
- Il primo argomento è un oggetto Error se la quota non può essere incrementata, oppure non definita se l'operazione è riuscita.
- Il secondo è un oggetto contenente i seguenti campi:
- used (numero): il valore attuale del bucket di quota.
- allowed (numero): il valore massimo del bucket della quota prima che la quota sia considerata superata. Lo stesso valore è stato passato come "allow" nell'oggetto della richiesta.
- isAllowed (booleano): se è rimasta spazio nella quota, il valore è true purché "used" sia minore o uguale a "allowed".
- expiryTime (long): il timestamp in millisecondi dal 1970 quando il bucket della quota verrà reimpostato.
- timestamp (long): il timestamp in cui è stata aggiornata la quota.
Esempio
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
Per reimpostare la quota su zero, richiama quota.reset(). Questo metodo richiede due parametri:-
Un oggetto JSON con i seguenti campi:
- identifier (stringa, obbligatorio): un identificatore univoco del bucket della quota. In pratica potrebbe essere un ID applicazione, un indirizzo IP o un nome utente.
- timeUnit (stringa, obbligatoria): il periodo di tempo per cui verrà accumulato il bucket della quota se viene reimpostato. I valori validi sono "minute", "hour", "day", "week" e "month".
- interval (numero, facoltativo): combinato con "timeUnit" per determinare quanto tempo deve passare prima che la quota venga reimpostata. Il valore predefinito è 1. Imposta un valore maggiore per consentire di reimpostare intervalli di tempo come "due ore", "tre settimane" e così via.
-
Una funzione di callback:
- Il callback accetta un oggetto Error come primo parametro se il ripristino non va a buon fine.
Caso d'uso Quota avanzata
Quando crei una quota, puoi includere un oggetto "options" facoltativo. Questo oggetto ha un parametro facoltativo:- syncInterval (numero, facoltativo): il numero di secondi in cui l'implementazione della quota distribuita sincronizza il suo stato nella rete. Il valore predefinito è 10.