Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Cosa imparerai a fare
In questo tutorial imparerai a:
- Aggiungere una policy che influisce sulla richiesta e sulla risposta.
- Visualizzare gli effetti della policy.
Che cosa ti serve
- Almeno una policy nel proxy (che fa parte anche del tutorial Guida introduttiva).
curlinstallato sulla tua macchina per effettuare chiamate API dalla riga di comando.
Aggiungere la policy SpikeArrest
In questo tutorial, aggiungerai e configurerai la policy SpikeArrest per proteggere il servizio di destinazione da picchi di traffico improvvisi che possono essere causati da un aumento dell'utilizzo, da client con bug, o da attacchi dannosi. Quando il numero di richieste supera il limite di frequenza, l'API restituisce un errore HTTP 500 per una richiesta.
Aggiungi la policy SpikeArrest a un proxy API:
- Accedi a apigee.com/edge.
- Seleziona Sviluppa > Proxy API nella barra di navigazione a sinistra.
- Seleziona il proxy API a cui vuoi aggiungere la policy SpikeArrest.
Se hai seguito il tutorial Guida introduttiva, puoi aggiungerlo al proxy "getstarted" che hai creato in Creare un proxy API.
- Nell'editor del nuovo proxy API, fai clic sulla scheda Sviluppa:

L'editor del proxy API ti consente di visualizzare la struttura del proxy API e di configurarne il flusso. L'editor presenta una rappresentazione visiva del flusso di messaggi di richiesta e risposta del proxy nonché una visualizzazione modificabile dell'XML sottostante che definisce il proxy.
- Nel riquadro di navigazione a sinistra, fai clic su PreFlow in Proxy Endpoint > default. (Altri tutorial trattano il concetto di flussi.)
- Fai clic sul pulsante +Passaggio in alto, corrispondente al PreFlow della richiesta. Viene visualizzato un elenco categorizzato di tutte le policy che puoi creare.

- Seleziona SpikeArrest nella categoria Gestione del traffico. Viene visualizzata la finestra di dialogo Nuova policy:

- Lascia i nomi predefiniti e fai clic su Aggiungi. La nuova policy è collegata a the PreFlow flow di una richiesta.
- Nel navigatore, assicurati che PreFlow in Endpoint proxy
> default sia ancora selezionato e prendi nota di quanto segue nell'editor del proxy API:
- La nuova policy SpikeArrest-1 viene aggiunta in Policy nel navigatore sul lato sinistro dell'editor del proxy API.
- L'icona SpikeArrest-1 viene aggiunta alla visualizzazione Progettazione nella parte superiore centrale dell'editor del proxy API, che è una rappresentazione visiva dei flussi di messaggi del proxy.
- L'XML per la policy viene visualizzato nella Vista codice nella parte inferiore centrale dell'editor del proxy API.

- Nel navigatore, seleziona SpikeArrest-1 in Policy e prendi nota di quanto segue nell'editor del proxy API:
- I dettagli della policy vengono visualizzati nella visualizzazione Progettazione nella parte superiore centrale dell'editor del proxy API.
- L'XML per la policy viene visualizzato nella Vista codice nella parte inferiore centrale dell'editor del proxy API.
- I valori degli elementi e degli attributi XML per la policy vengono visualizzati in the Property Inspector sul lato destro dell'editor del proxy API.

-
Nell'XML per la policy, modifica il valore dell'
<Rate>elemento in 1pm (che si traduce in circa 2 richieste consentite ogni 60 secondi nel cloud).Puoi specificare la frequenza come valore intero al minuto (
pm) o al secondo (ps). Questo è un limite molto basso e viene utilizzato solo per questo tutorial per dimostrare la policy. In genere, lo imposti su un limite molto più alto.Tieni presente che anche il valore
Ratein Property Inspector cambia in "1pm". In alternativa, puoi modificare il valore Rate in Property Inspector e verrà visualizzato nella visualizzazione XML. - Fai clic su Salva per salvare la revisione corrente con le modifiche.
-
Chiama l'API utilizzando
curl, sostituendo il nome della tua organizzazione Apigee per org_name:curl "http://org_name-test.apigee.net/getstarted"
Ad esempio:
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
Assicurati che la richiesta vada a buon fine e che venga visualizzata la stessa risposta XML di prima. (Puoi anche inserire solo l'URL in un browser web.)
- Esegui il comando
curl(o aggiorna la finestra del browser) altre due o tre volte entro un minuto e noterai che viene visualizzato il seguente messaggio perché hai superato il limite di frequenza della policy:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }Se provi a effettuare altre chiamate entro un minuto, dovresti continuare a ricevere il messaggio di errore.
- Modifica la policy per impostare il limite <
Rate>su 15pm (che si traduce in circa 2 chiamate consentite ogni 4 secondi nel cloud), quindi salva il proxy API. - Esegui il comando
curlo aggiorna ripetutamente il browser (curlè più veloce). Tieni presente che se effettui una o due chiamate a intervalli di 4 secondi, le chiamate vanno a buon fine. Se effettui le chiamate rapidamente, più di due in 4 secondi, dovresti ricevere l'errore. Tuttavia, dopo ogni intervallo di 4 secondi puoi continuare a effettuare chiamate, anziché essere bloccato per un minuto intero (con l'impostazione 1pm).