Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Introduzione
Questo argomento spiega come utilizzare apigee-access per accedere al servizio di quota
di 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
apply
Modifica le impostazioni di un oggetto Quota. Utilizza questo metodo per aumentare o diminuire la quota, modificare gli intervalli di tempo ed eseguire 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 questi campi:
- identifier (stringa, obbligatorio): un identificatore univoco identificatore del bucket di quota. In pratica, potrebbe trattarsi di un ID applicazione, un indirizzo IP o nome utente.
- timeUnit (stringa, obbligatorio): per quanto tempo il bucket di quota si accumulerà fino al ripristino. I valori validi sono "minute," "hour," "day," "week," e "month."
- allow (numero, obbligatorio): il valore massimo per il bucket di quota. Questo valore verrà combinato con il valore corrente per restituire se la quota è stata raggiunta.
- interval (numero, facoltativo): combinato con "timeUnit" per determinare il tempo prima del ripristino della quota. Il valore predefinito è 1. Imposta un valore più grande per consentire quote come "due ore", "tre settimane" e così via.
- weight (numero, facoltativo): il valore di 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 o undefined se l'operazione è riuscita.
- Il secondo è un oggetto che contiene i seguenti campi:
- used (numero): il valore corrente del bucket di quota.
- allowed (numero): il valore massimo del bucket di quota prima che la quota venga considerata superata. Lo stesso valore è stato passato come "allow" nell'oggetto della richiesta.
- isAllowed (booleano): se è rimasto spazio nella quota in essa, il valore è true finché "used" è minore o uguale a "allowed".
- expiryTime (long): il timestamp, in millisecondi dal formato 1970, in cui verrà reimpostato il bucket di quota.
- 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, chiama quota.reset(). Questo metodo accetta due parametri:-
Un oggetto JSON con questi campi:
- identifier (stringa, obbligatorio): un identificatore univoco del bucket di quota. In pratica, potrebbe trattarsi di un ID applicazione, un indirizzo IP o un nome utente.
- timeUnit (stringa, obbligatorio): per quanto tempo il bucket di quota si accumulerà fino al ripristino. I valori validi sono "minute", "hour", "day", "week" e "month".
- interval (numero, facoltativo): combinato con "timeUnit" per determinare il tempo prima del ripristino della quota. Il valore predefinito è 1. Imposta un valore più grande per consentire tempi di ripristino 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 riesce.
Caso d'uso avanzato della quota
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.