Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Czego się nauczysz
Z tego samouczka dowiesz się, jak:
- dodać zasadę, która wpływa na żądanie i odpowiedź;
- sprawdzić działanie zasady.
Czego potrzebujesz
- Co najmniej 1 zasada w serwerze proxy (jest to też część samouczka Wprowadzenie).
curlzainstalowany na komputerze, który umożliwia wykonywanie wywołań interfejsu API z wiersza poleceń.
Dodawanie zasady Spike Arrest
W tym samouczku dodasz i skonfigurujesz zasadę SpikeArrest, aby chronić usługę docelową przed nagłymi skokami ruchu, które mogą być spowodowane wzrostem wykorzystania, błędnymi klientami lub złośliwymi atakami. Gdy liczba żądań przekroczy limit, interfejs API zwróci błąd HTTP 500.
Aby dodać zasadę Spike Arrest do serwera proxy interfejsu API:
- Zaloguj się na apigee.com/edge.
- Na pasku nawigacji po lewej stronie kliknij Develop (Tworzenie) > API Proxies (Serwery proxy interfejsu API).
- Wybierz serwer proxy interfejsu API, do którego chcesz dodać zasadę Spike Arrest.
Jeśli wykonasz czynności opisane w samouczku Wprowadzenie, możesz dodać ją do serwera proxy „getstarted” utworzonego w sekcji Tworzenie serwera proxy interfejsu API.
- W edytorze nowego serwera proxy interfejsu API kliknij kartę Develop (Tworzenie):

Edytor serwera proxy interfejsu API umożliwia wyświetlanie struktury serwera proxy interfejsu API i konfigurowanie jego przepływu. Edytor przedstawia wizualizację przepływu żądań i odpowiedzi serwera proxy oraz edytowalny widok bazowego kodu XML, który definiuje serwer proxy.
- W panelu nawigacji po lewej stronie kliknij PreFlow w sekcji Proxy Endpoints > default. (Koncepcja przepływów zostanie omówiona w innych samouczkach).
- Kliknij górny przycisk +Step (+Krok) odpowiadający przepływowi PreFlow żądania. Wyświetli się
podzielona na kategorie lista wszystkich zasad, które możesz utworzyć.

- W kategorii Traffic Management (Zarządzanie ruchem) wybierz Spike Arrest. Pojawi się okno Nowa zasada:

- Pozostaw domyślne nazwy i kliknij Add (Dodaj). Nowa zasada zostanie dołączona do przepływu PreFlow żądania.
- W panelu nawigacji upewnij się, że nadal jest zaznaczona opcja PreFlow w sekcji Proxy Endpoints
> default, i zwróć uwagę na te elementy w edytorze serwera proxy interfejsu API:
- Nowa zasada Spike Arrest-1 została dodana w sekcji Policies w panelu nawigacji po lewej stronie edytora serwera proxy interfejsu API.
- Ikona Spike Arrest-1 została dodana do widoku projektanta w górnej środkowej części edytora serwera proxy interfejsu API, który jest wizualizacją przepływów komunikatów serwera proxy.
- Kod XML zasady jest wyświetlany w widoku kodu w dolnej środkowej części edytora serwera proxy interfejsu API.

- W panelu nawigacji wybierz Spike Arrest-1 w sekcji Zasady i zwróć uwagę na te elementy w edytorze serwera proxy interfejsu API:
- Szczegóły zasady są wyświetlane w widoku projektanta w górnej środkowej części edytora serwera proxy interfejsu API.
- Kod XML zasady jest wyświetlany w widoku kodu w dolnej środkowej części edytora serwera proxy interfejsu API.
- Element XML i wartości atrybutów zasady są wyświetlane w inspektorze właściwości po prawej stronie edytora serwera proxy interfejsu API.

-
W kodzie XML zasady zmień wartość elementu
<Rate>na 1pm (co w chmurze oznacza około 2 żądania dozwolone co 60 sekund).Możesz określić częstotliwość jako liczbę całkowitą na minutę (
pm) lub na sekundę (ps). Jest to bardzo niski limit, który jest używany tylko w tym samouczku, aby zademonstrować działanie zasady. Zwykle ustawia się znacznie wyższy limit.Zauważ, że wartość
Ratew inspektorze właściwości również zmieni się na „1pm”. Możesz też zmienić wartość Rate w inspektorze właściwości a zostanie ona odzwierciedlona w widoku XML. - Aby zapisać bieżącą wersję ze zmianami, kliknij Save (Zapisz).
-
Wywołaj interfejs API za pomocą polecenia
curl, zastępując nazwą organizacji Apigee org_name:curl "http://org_name-test.apigee.net/getstarted"
Na przykład:
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
Upewnij się, że żądanie się powiodło i że widzisz tę samą odpowiedź XML co wcześniej. (Możesz też wpisać adres URL w przeglądarce).
- W ciągu minuty wykonaj polecenie
curl(lub odśwież okno przeglądarki) 2 lub 3 razy i zauważ, że otrzymujesz ten komunikat, ponieważ przekroczono limit częstotliwości określony w zasadzie:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }Jeśli w ciągu minuty spróbujesz wykonać więcej wywołań, nadal będziesz otrzymywać komunikat o błędzie.
- Edytuj zasadę, aby ustawić limit <
Rate>na 15pm (co w chmurze oznacza około 2 wywołania dozwolone co 4 sekundy), a następnie zapisz serwer proxy interfejsu API. - Wykonaj polecenie
curllub odświeżaj przeglądarkę (poleceniecurldziała szybciej). Zauważ, że jeśli wykonasz 1 lub 2 wywołania w odstępach 4-sekundowych, wywołania się powiodą. Jeśli wykonasz wywołania szybko, czyli więcej niż 2 w ciągu 4 sekund, powinien pojawić się błąd. Jednak po każdym 4-sekundowym odstępie możesz kontynuować wykonywanie wywołań, w przeciwieństwie do sytuacji, gdy jesteś blokowany na całą minutę (przy ustawieniu 1pm).