Konfigurowanie przepływów

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

Przepływy to podstawowe elementy składowe serwerów proxy interfejsów API. Przepływy umożliwiają zaprogramowanie zachowania interfejsu API przez konfigurowanie kolejności wykonywania zasad i kodu przez interfejs API. serwera proxy.

Ogólny opis przepływów znajdziesz w artykule Kontrolowanie działania serwera proxy za pomocą .

W tym artykule opisujemy, jak tworzyć przepływy warunkowe i dodawać logikę (zasady) do przepływów w bardzo ważne. Sztuka tworzenia warunków wymaga więcej szczegółów niż to, co omówiliśmy w tym temat. Szczegółowe informacje znajdziesz w artykule Omówienie procesu zmienne i warunki ze zmiennymi przepływu.

Dołączanie zasad do przepływów

Edge zawiera wiele różnych typów wstępnie zdefiniowanych zasad dotyczących wdrażania zabezpieczeń, zarządzania i manipulowanie komunikatami. Dodatkowo zasady pozwalają na dodawanie własnego kodu niestandardowego do dostosować sposób przetwarzania wiadomości.

Na przykład:

  • Dołącz zasadę zabezpieczeń protokołu OAuth do żądanie PreFlow elementu ProxyEndpoint. Ponieważ Żądanie PreFlow żądania ProxyEndpoint to pierwszy przepływ w potoku, odrzucić żądanie, jeśli narusza ono Twoje zasady bezpieczeństwa;
  • Dołącz zasadę konwersji z formatu JSON na XML do odpowiedź PostFlow elementu TargetEndpoint, aby przekonwertować z JSON do XML.
  • Dołącz zasadę JavaScript do warunkowego Przepływ punktu ProxyEndpoint do wykonania kodu JavaScript do przetworzenia prośba

Po utworzeniu przepływu warunkowego jest on dostępny dla przyłącza zasad. Płynność kliknij ikonę + Krok na diagramie żądania lub odpowiedzi, aby dodać nową lub istniejącą zasadę procesu.

W menu Nawigator wyróżniony jest przykładowy przepływ warunkowy o nazwie „Problem”.
    w panelu Flow jest wyświetlany przycisk Krok.

W panelu Dodaj krok zostanie utworzona nowa instancja zasad o typie zasady Limit i
    wyświetlana nazwa Limit-2.

Dołączając zasadę do wybranego przepływu, konfigurujesz serwer proxy interfejsu API tak, aby wymuszał Zasada limitów tylko dla żądań wysyłanych do danej kombinacji identyfikatora URI przepływu i czasownika. Jeśli na przykład dołączyć zasady do procesu dowiedz się w żądaniu, poniższy kod XML jest wygenerowane w widoku kodu w edytorze proxy:

<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 żądanie GET przychodzi do serwera proxy API z identyfikatorem URI wzorzec .../issue/** (/issue/ z dowolnym elementem w identyfikatorze URI po ostatnim przekazaniu dalej ukośnik), dla danego wywołania interfejsu API wymuszany jest limit.

Informacje o przepływach warunkowych

Wszystkie zasady powiązane z PreFlow lub PostFlow są zawsze wykonywane. Jednak zasady w przepływie warunkowym są wykonywane tylko wtedy, gdy warunek przepływu przyjmuje wartość prawda.

Podczas przetwarzania żądania i odpowiedzi wykonywany jest tylko jeden przepływ warunkowy na segment – pierwszy przepływ, którego warunek przyjmuje wartość prawda. Oznacza to, że możesz mieć proces warunkowy jest realizowany w ramach każdego z tych elementów:

  • Potok żądań ProxyEndpoint
  • Potok żądania docelowego punktu końcowego
  • Potok odpowiedzi ProxyEndpoint
  • Potok odpowiedzi TargetEndpoint

Film: obejrzyj krótki film, aby dowiedzieć się więcej o przepływach warunkowych.

Na przykład poniższa definicja punktu końcowego serwera proxy pokazuje wykonywany warunkowy przepływ przez element ProxyEndpoint w dowolnym żądaniu HTTP GET wysyłanym do serwera 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 przepływu . Zmienna przepływu to nazwane odwołania do przechowywania informacji o stanie z transakcją interfejsu API przetworzoną przez Edge. Edge definiuje wiele zmiennych stanu, odwołania.

Usługi REST to zbiory zasobów interfejsu API. Zasób interfejsu API jest fragmentem ścieżki identyfikatora URI identyfikującego element, do którego deweloperzy mogą uzyskać dostęp przez wywołanie interfejsu API. Jeśli na przykład plik backend usługi dostarcza raporty pogodowe i prognozy pogody, interfejs API może zdefiniować dwa przepływy warunkowe mapowane na te interfejsy API. zasoby: /reports i /forecasts. Przy wywołaniu interfejsu API zawiera jeden z tych zasobów w adresie URL, warunek przyjmuje wartość prawda, a operator połączony z przepływem warunkowym jest wykonywany.

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

Na serwerze proxy API można zdefiniować przepływ warunkowy, który odpowiada konkretnemu zasób:

<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óry zawiera fragment adresu URL używany do uzyskiwania dostępu do serwera proxy interfejsu API. Następnie możesz załączyć plik różne zasady do przepływu warunkowego dla każdego zasobu.

Dodawanie przepływu warunkowego

W tym krótkim przykładzie skonfigurujesz przepływ, który jest wykonywany tylko wtedy, gdy komunikat żądania jest HTTP GET.

Aby dodać przepływ warunkowy, w kreatorze serwerów proxy interfejsów API kliknij kartę Develop.

Karta Programowanie w usłudze Proxy Builder

Kliknij ikonę + w wybranym punkcie końcowym.

Przycisk dodawania przepływu warunkowego

Formularz Nowy przepływ warunkowy pozwala nazwać przepływ i skonfigurować warunek. W z poniższego przykładu dodasz prosty warunek oceniający protokół HTTP komunikatu żądania czasownik GET (w przeciwieństwie do PUT, POST itp.) w dowolnym identyfikatorze URI po ścieżce podstawowej.

W panelu Nowy przepływ warunkowy przepływ ma nazwę Flow-1, a typ warunku
    i czasownik są skonfigurowane.

(Dowiedz się, jak tworzyć instrukcje warunkowe w sekcjach Zmienne przepływu i ).

Nowy proces o nazwie Flow-1 pojawi się w menu nawigacji.

Wyróżniony filtr Flow-1

Teraz zwróć uwagę na konfigurację XML punktu końcowego serwera proxy. Wybierz Flow-1 Menu Nawigacja.

Zobaczysz konfigurację opisaną poniżej.

<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

W dalszej części artykułu dowiesz się więcej o tworzeniu warunków i używaniu zmienne: