Oglądasz dokumentację Apigee Edge.
Wyświetl dokumentację Apigee X.
Apigee Edge umożliwia „zaprogramowanie” działania interfejsu API bez konieczności pisania kodu, używając „zasad”. Zasada jest jak moduł implementujący określoną, ograniczoną funkcję zarządzania. Zasady zostały zaprojektowane tak, aby umożliwić łatwe i niezawodne dodawanie typowych typów funkcji zarządzania do interfejsu API. Zasady obejmują takie funkcje jak zabezpieczenia, ograniczenie liczby żądań, transformacja i zapośredniczenie, dzięki czemu nie musisz samodzielnie kodować ani obsługiwać tej funkcji.
Nie musisz ograniczać się do typów zasad udostępnianych przez Apigee Edge. Możesz też tworzyć niestandardowe skrypty i kod (np. JavaScript i aplikacje Node.js), które rozszerzają funkcje serwera proxy interfejsu API i pozwalają wprowadzać innowacje w zakresie podstawowych funkcji zarządzania obsługiwanych przez zasady Apigee.
Obejrzyj ten film, aby zapoznać się z wprowadzeniem do zasad i ich egzekwowania.
Typy zasad
Zasadniczo zasada jest plikiem konfiguracji w formacie XML. Struktura każdego typu zasad (na przykład wymagane i opcjonalne elementy konfiguracji) jest określana przez schemat XML. Jeśli dobrze znasz narzędzia XML, dobrze jest zapoznać się ze schematami zasad w przykładach platformy API na GitHubie.
Typy zasad brzegowych są pogrupowane według tych kategorii funkcjonalnych:
Zarządzanie ruchem
Zasady w kategorii zarządzania ruchem pozwalają kontrolować przepływ żądań i odpowiedzi za pośrednictwem serwera proxy interfejsu API. Zasady te umożliwiają kontrolę zarówno na poziomie operacyjnym, jak i biznesowym. Zapewniają kontrolę nad nieprzetworzoną przepustowością oraz mogą kontrolować ruch w poszczególnych aplikacjach. Typy zasad zarządzania ruchem umożliwiają egzekwowanie limitów, a także pomagają zapobiegać atakom typu DoS.
Bezpieczeństwo
Zasady z kategorii zabezpieczeń obsługują uwierzytelnianie, autoryzację oraz zabezpieczenia oparte na treści.
Mediacja
Zasady z kategorii zapośredniczenia umożliwiają aktywne manipulowanie wiadomościami, gdy przechodzą przez serwery proxy interfejsu API. Umożliwiają one przekształcanie formatów wiadomości z formatu XML do JSON (i odwrotnie) lub przekształcanie jednego formatu XML do innego. Pozwalają też analizować wiadomości, generować nowe wiadomości i zmieniać wartości wiadomości wychodzących. Zasady zapośredniczenia współdziałają też z usługami podstawowymi udostępnianymi przez usługi API, co pozwala na pobieranie danych o aplikacjach, deweloperach, tokenach bezpieczeństwa i produktach API w czasie działania.
Rozszerzenie
Zasady w kategorii rozszerzeń umożliwiają rozszerzenie możliwości interfejsów API w celu zaimplementowania niestandardowego zachowania w wybranym języku programowania.
Szczegółowe informacje o każdym typie zasad znajdziesz w artykule Informacje o zasadach. W tym temacie przedstawiamy ogólną interakcję, pokazując, jak tworzyć zasady i dołączać je do przepływów w konfiguracji serwera proxy interfejsu API.
Wdrażanie zmian zasad
Aby zmiany zasad zostały wprowadzone, musisz wdrożyć wersję proxy interfejsu API w środowisku. Po dołączeniu zasady lub wprowadzeniu zmian w istniejącej zasadzie możesz wdrożyć te zmiany za pomocą interfejsu zarządzania lub interfejsu API zarządzania.
Weryfikowanie egzekwowania zasad
Aby można było sprawdzić, czy zasada jest wymuszana, interfejs API musi zostać wywołany przez klienta HTTP. Aby sprawdzić tę konfigurację limitu, prześlij do interfejsu API wiele żądań przekraczających limit ustawiony w zasadach dotyczących limitów. (Ścieżka identyfikatora URI skonfigurowana jako ustawienie ścieżki podstawowej w ProxyEndpoint w żądaniu poniżej to /weather
).
http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282
Po przesłaniu więcej niż 1 prośby w ciągu minuty powinien wyświetlić się ten komunikat o błędzie:
{ "fault":{ "faultstring":"policies.ratelimit.QuotaViolation", "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" } } }
Oznacza to, że zasady dotyczące limitów są egzekwowane przez usługi interfejsu API.
Obsługa błędów na podstawie zasad
Zwróć uwagę na format komunikatu o błędzie powyżej. Zawiera właściwość faultstring
i errorcode
. W wielu przypadkach konieczne jest wdrożenie działania, które pozwoli na obsługę tych błędów. Możesz na przykład wysłać komunikat do dewelopera, którego aplikacja przekroczyła limit.
Więcej informacji o obsłudze błędów znajdziesz w artykule Obsługa błędów.
Sprawdzone metody: typowe zestawy zasad
Aby spełnić podstawowe wymagania dotyczące zarządzania, serwery proxy interfejsu API zwykle egzekwują następujące zasady:
Podstawowa weryfikacja klucza interfejsu API
Przepływ żądań na serwerze proxy:- Nagły wzrost ruchu
- XMLThreatProtection lub JSONThreatProtection
- Weryfikacja klucza interfejsu API
- Limit
- CacheCache
- CacheCache
Przekształcenie podstawowe: JSON na XML
Przepływ żądań:- Nagły wzrost ruchu
- JSONThreatProtection
- Weryfikacja klucza interfejsu API
- Limit
- JSONdoXML
- XMLdoJSON
- CacheCache