Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Automatyzacje to podstawowe elementy składowe proxy interfejsu API. Automatyzacje umożliwiają zaprogramowanie działania interfejsu API przez skonfigurowanie kolejności, w jakiej zasady i kod są wykonywane przez proxy interfejsu API.
Ogólne omówienie automatyzacji znajdziesz w artykule Kontrolowanie sposobu wykonywania proxy za pomocą automatyzacji.
Z tego artykułu dowiesz się, jak tworzyć automatyzacje warunkowe i dodawać do nich logikę (zasady) na wysokim poziomie. Tworzenie warunków wymaga większej wiedzy niż ta, którą znajdziesz w tym artykule. Więcej informacji znajdziesz w artykułach Omówienie zmiennych automatyzacji i Warunki ze zmiennymi automatyzacji.
Dołączanie zasad do automatyzacji
Edge zawiera wiele różnych typów predefiniowanych zasad, które służą do wdrażania zabezpieczeń, zarządzania ruchem i manipulowania wiadomościami. Ponadto zasady umożliwiają dodawanie własnego kodu niestandardowego, aby w pełni dostosować przetwarzanie wiadomości.
Na przykład:
- Dołącz zasadę zabezpieczeń OAuth do PreFlow żądania ProxyEndpoint. Ponieważ PreFlow żądania ProxyEndpoint jest pierwszą automatyzacją w potoku, możesz natychmiast odrzucić żądanie, jeśli narusza ono Twoje zasady bezpieczeństwa.
- Dołącz zasadę konwersji JSON na XML do PostFlow odpowiedzi TargetEndpoint , aby przekonwertować odpowiedź z formatu JSON na XML.
- Dołącz zasadę JavaScript do automatyzacji warunkowej ProxyEndpoint , aby wykonać kod JavaScript w celu przetworzenia żądania.
Po utworzeniu automatyzacji warunkowej możesz dołączyć do niej zasadę. Gdy automatyzacja jest wybrana, kliknij ikonę + Krok na diagramie żądania lub odpowiedzi, aby dodać do automatyzacji nową lub istniejącą zasadę.


Dołączając zasadę do wybranej automatyzacji, konfigurujesz proxy interfejsu API tak, aby egzekwowało zasadę limitu tylko w przypadku żądań wysyłanych do tej kombinacji identyfikatora URI i czasownika automatyzacji. Jeśli na przykład dołączysz zasadę do automatyzacji learn w żądaniu, w widoku kodu edytora proxy zostanie wygenerowany ten kod XML:
<ProxyEndpoint name="default">
...
<Flow name="issue">
<Description/>
<Request>
<Step>
<Name>Quota-2</Name>
</Step>
</Request>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/issue/**") and (request.verb = "GET")</Condition>
</Flow>
...
</ProxyEndpoint>W tej konfiguracji, jeśli do proxy interfejsu API przyjdzie żądanie GET z wzorcem URI .../issue/** (/issue/ z dowolną treścią w URI po ostatnim ukośniku), limit zostanie zastosowany do tego wywołania interfejsu API.
Informacje o automatyzacjach warunkowych
Wszystkie zasady dołączone do PreFlow lub PostFlow są zawsze wykonywane. Zasady w automatyzacji warunkowej są jednak wykonywane tylko wtedy, gdy warunek automatyzacji przyjmuje wartość „prawda”.
Podczas przetwarzania żądania i odpowiedzi na segment jest wykonywana tylko 1 automatyzacja warunkowa – pierwsza, której warunek przyjmuje wartość „prawda”. Oznacza to, że możesz mieć 1 automatyzację warunkową wykonywaną w ramach każdego z tych elementów:
- potoku żądania ProxyEndpoint,
- potoku żądania TargetEndpoint,
- potoku odpowiedzi ProxyEndpoint,
- potoku odpowiedzi TargetEndpoint.
Film: obejrzyj krótki film, aby dowiedzieć się więcej o automatyzacjach warunkowych.
Na przykład ta definicja ProxyEndpoint pokazuje automatyzację warunkową, która jest wykonywana
przez ProxyEndpoint w przypadku każdego żądania HTTP GET do proxy interfejsu API:
<ProxyEndpoint name="default">
<PreFlow>
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Condition>request.verb="GET"</Condition>
<Request/>
<Response/>
</Flow>
</Flows>
<PostFlow>
<Request/>
<Response/>
</PostFlow>
...
</ProxyEndpoint>Zwróć uwagę, że warunek odwołuje się do request.verb zmiennej automatyzacji. Zmienna przepływu to nazwane odwołania, które zawierają informacje o stanie powiązane z transakcją interfejsu API przetwarzaną przez Edge. Edge definiuje wiele zmiennych stanu, do których możesz się odwoływać.
Usługi RESTful to zbiory zasobów interfejsu API. Zasób interfejsu API to fragment ścieżki URI
który identyfikuje jednostkę, do której deweloperzy mogą uzyskać dostęp, wywołując Twój interfejs API. Jeśli na przykład Twój
backend usługi udostępnia raporty i prognozy pogody, Twój interfejs API może definiować 2
automatyzacje warunkowe, które są mapowane na te zasoby interfejsu API: /reports i /forecasts. Gdy wywołanie interfejsu API
zawiera jeden z tych zasobów w adresie URL, warunek przyjmuje wartość „prawda”, a logika
dołączona do automatyzacji warunkowej jest wykonywana.
Deweloperzy aplikacji uzyskują dostęp do Twoich zasobów, wysyłając żądania do adresu URL w postaci:
http://myAPIs.myCo.com/weather/reports
lub:
http://myAPIs.myCo.com/weather/forecasts
W proxy interfejsu API możesz zdefiniować automatyzację warunkową, która odpowiada określonemu zasobowi:
<ProxyEndpoint name="default">
<PreFlow>
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Condition>(proxy.pathsuffix MatchesPath "/reports")</Condition>
<Request/>
<Response/>
</Flow>
<Flow name="Flow-2">
<Condition>(proxy.pathsuffix MatchesPath "/forecasts")</Condition>
<Request/>
<Response/>
</Flow>
</Flows>
<PostFlow>
<Request/>
<Response/>
</PostFlow>
...
</ProxyEndpoint>W tym przykładzie odwołujesz się do zmiennej przepływu proxy.pathsuffix, która zawiera sufiks adresu URL używanego do uzyskiwania dostępu do proxy interfejsu API. Następnie możesz dołączyć
różne zasady do automatyzacji warunkowej dla każdego zasobu.
Dodawanie automatyzacji warunkowej
W tym krótkim przykładzie skonfigurujesz automatyzację, która będzie wykonywana tylko wtedy, gdy wiadomość żądania jest żądaniem HTTP GET.
Aby dodać automatyzację warunkową, w narzędziu do tworzenia proxy interfejsu API wybierz kartę Programowanie.

W wybranym punkcie końcowym kliknij ikonę +.

Formularz Nowa automatyzacja warunkowa umożliwia nadanie nazwy automatyzacji i skonfigurowanie warunku. W
tym przykładzie dodasz prosty warunek, który ocenia HTTP wiadomości żądania pod kątem GET czasownika (w przeciwieństwie do PUT, POST, itp.) w dowolnym identyfikatorze URI po ścieżce podstawowej.

(Dowiedz się, jak tworzyć instrukcje warunkowe w zmiennych i warunkach automatyzacji).
Nowa automatyzacja o nazwie Flow-1 pojawi się teraz w menu nawigacyjnym.

Teraz przyjrzyj się konfiguracji XML dla ProxyEndpoint. W menu Nawigator wybierz Flow-1.
Zobaczysz tę konfigurację.
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="Flow-1">
<Request/>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition>
</Flow>
</Flows>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>Dalsze kroki
Więcej informacji o tworzeniu warunków i używaniu zmiennych znajdziesz w tych artykułach: