Dodaj zasady dotyczące Spike Arrest do interfejsu API

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Czego się nauczysz

Z tego samouczka dowiesz się, jak:

  • Dodaj zasadę, która ma wpływ na żądanie i odpowiedź.
  • Zobacz skutki wprowadzenia zasad.

Czego potrzebujesz

  • Co najmniej 1 zasada w serwerze proxy (również część samouczka dla początkujących).
  • Aplikacja curl została zainstalowana na Twoim komputerze, aby wykonywać wywołania interfejsu API z poziomu wiersza poleceń.

Dodaj zasadę dotyczącą gwałtownego aresztowania

W tym samouczku dodasz i skonfigurujesz zasadę SpikeArrest, aby chronić obiekt docelowy przed nagłymi wzrostami ruchu, które mogą być spowodowane wzrostem wykorzystania, lub złośliwe ataki. Gdy liczba żądań przekracza limit, interfejs API zwraca błąd Błąd HTTP 500 żądania.

Dodaj zasadę Spike Arrest do serwera proxy interfejsu API:

  1. Zaloguj się na stronie apigee.com/edge.
  2. Kliknij Programowanie > Serwery proxy interfejsów API na lewym pasku nawigacyjnym.
  3. Wybierz serwer proxy interfejsu API, do którego chcesz dodać zasadę dotyczącą zatrzymania szczytu.

    Jeśli korzystasz z samouczka dla początkujących, możesz dodać go do „getstarted” utworzony przez Ciebie w sekcji Tworzenie Proxy API.

  4. W edytorze nowego serwera proxy interfejsu API kliknij kartę Develop:

    Edytor serwera proxy interfejsu API umożliwia wyświetlenie struktury serwera proxy interfejsu API i konfigurowanie jego przepływu. Edytor przedstawia wizualną reprezentację komunikatu żądania i odpowiedzi z serwera proxy. oraz edytowalny widok kodu XML, który definiuje serwer proxy.

  5. W panelu nawigacji po lewej stronie kliknij PreFlow w sekcji Proxy (Serwer proxy) Punkty końcowe > domyślny. (W innych samouczkach omówiono koncepcję przepływy).
  6. Kliknij górny przycisk +Step odpowiadający opcji Request PreFlow. Ten powoduje wyświetlenie listy wszystkich zasad, które można utworzyć.

    Kliknij Step in Request PreFlow

  7. W kategorii Zarządzanie ruchem wybierz Łaźnienie Napięcia. Nowe zasady pojawia się okno dialogowe:

    Utwórz zasadę aresztowania gwałtownego wzrostu

  8. Pozostaw domyślne nazwy i kliknij Dodaj. Nowa zasada jest dołączona do procesu PreFlow żądania.
  9. W nawigatorze sprawdź, czy PreFlow w sekcji punktów końcowych serwera proxy > jest nadal wybrana i zwróć uwagę na te kwestie w edytorze proxy interfejsu API:
    • Nowa zasada „Sceke Arrest-1” zostanie dodana w sekcji Zasady w Nawigacja po lewej stronie edytora proxy interfejsu API.
    • Ikona Spike Arrest-1 została dodana do Widoku projektanta w u góry pośrodku interfejsu API proxy, który stanowi wizualną reprezentację z przepływem wiadomości serwera proxy.
    • Kod XML zasady jest wyświetlany w widoku kodu w dolną środkową część edytora proxy interfejsu API.

    Wyświetl zasady PreFlow with Spike Arrest

  10. W nawigatorze wybierz Spike Arrest-1 (Zasady) i zapoznaj się z następującymi w edytorze serwerów proxy interfejsu API:
    • Szczegóły zasad pojawią się w widoku projektanta u góry. edytora proxy interfejsu API.
    • Kod XML zasady jest wyświetlany w widoku kodu na dole. edytora proxy interfejsu API.
    • Element XML i wartości atrybutów dla tej zasady są wyświetlane w sekcji Inspektora właściwości po prawej stronie edytora proxy interfejsu API.

  11. W pliku XML zasady zmień wartość atrybutu <Rate> na 13:00 (co przekłada się na około 2 żądania dozwolone co 60 sekund w chmurze).

    Możesz ją podać jako liczbę całkowitą na minutę (pm) lub na sek. (ps). To bardzo niski limit. Jest on używany wyłącznie w tym samouczku, aby zademonstrować zasady. Zazwyczaj ustawiana jest dużo wyższy limit.

    Zwróć uwagę, że wartość Rate w inspektorze właściwości zmienia się też na „13:00”. Możesz też zmienić wartość Stawka w inspektorze właściwości. i zostanie odzwierciedlony w widoku XML.

  12. Aby zapisać bieżącą wersję ze zmianami, kliknij Zapisz.
  13. Wywołaj interfejs API za pomocą polecenia curl, zastępując nazwę organizacji Apigee dla 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 zostało zrealizowane, a odpowiedź XML była taka sama jak poprzednio. (Możesz też wpisać w przeglądarce tylko adres URL).

  14. Wykonaj polecenie curl (lub odśwież okno przeglądarki) jeszcze 2 lub 3 razy razy w ciągu minuty. Zobaczysz następujący komunikat, ponieważ przekroczono limit liczby żądań określony w zasadach:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    Jeśli spróbujesz nawiązać więcej połączeń w ciągu minuty, błąd powinien się nadal pojawiać .

  15. Edytuj zasadę, aby ustawić limit <Rate> na 15:00 (co przekłada się na 2 połączenia dozwolone co 4 sekundy Cloud), a następnie zapisz serwer proxy interfejsu API.
  16. Wykonaj polecenie curl lub wielokrotnie odświeżaj przeglądarkę (curl działa szybciej). Zwróć uwagę, że jeśli wykonasz 1 lub 2 wywołania w odstępach 4-sekundowych, zostaną one zrealizowane. Jeśli jeśli szybko wykona połączenie, więcej niż dwa w ciągu 4 sekund, powinien pojawić się błąd. Ale po po każdych 4-sekundowych interwałach można kontynuować wykonywanie połączeń, zamiast być blokowane przez całą minutę (z ustawieniem „13:00”).