Przepływy wielokrotnego użytku do wielokrotnego wykorzystania

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Możesz łączyć zasady i zasoby w wspólnym przepływie, który możesz używać z kilku serwerów proxy interfejsu API, a nawet z innych wspólnych przepływów. Współdzielony przepływ działa jak serwer proxy, ale nie ma punktu końcowego. Można go używać tylko z serwera proxy interfejsu API lub przepływu współdzielonego, który znajduje się w tej samej organizacji co sam udostępniony przepływ.

Dzięki temu, że w ramach wspólnego procesu możesz gromadzić w jednym miejscu funkcje przydatne w różnych miejscach, możesz zapewnić spójność, skrócić czas rozwoju i łatwiej zarządzać kodem.

Ten film pokazuje, jak utworzyć i prześledzić wspólny przepływ w interfejsie Edge.

Ten 5-minutowy film pokazuje, jak utworzyć i prześledzić udostępniony przepływ w interfejsie klasycznej wersji Edge (dotyczy tylko Edge for Private Cloud).

Za pomocą zasady FlowCallout możesz wywołać wspólny proces. Ponadto, dołączając wspólny przepływ do haka przepływu, możesz wykonać wspólny przepływ przed żądaniem serwera pośredniczącego lub docelowego albo po odpowiedzi serwera pośredniczącego lub docelowego.

Informacje o zasadach dotyczących FlowCallout znajdziesz w artykule Zasady dotyczące FlowCallout. Więcej informacji o hakach przepływu znajdziesz w artykule Dołączanie przepływu współdzielonego za pomocą haków przepływu.

Wyobraź sobie na przykład, że masz obszary funkcjonalności, które są używane w wielu miejscach lub muszą być ujednolicone w interfejsach API w Twojej organizacji. W przypadku każdej kategorii możesz mieć przepływ współdzielony, na przykład:

  • bezpieczeństwo z kodem autoryzacji wykorzystującym protokół OAuth i weryfikacją klucza interfejsu API, a także kodem ochrony przed zagrożeniami.
  • logowanie – generowanie standardowych komunikatów o błędach;
  • mediation, czyli pośredniczenie, do przekształcania formatów komunikatów XML i JSON.

Na ilustracji poniżej dwa serwery proxy interfejsu API wywołują (za pomocą zasady FlowCallout) wspólny proces uwierzytelniania przychodzących żądań użytkowników. AuthSharedFlow został wdrożony oddzielnie w organizacji przed proksy, aby był dostępny do obsługi żądań z proksy. Współdzielony proces może być opracowywany i zarządzany przez zespół odpowiedzialny za ogólne zasady firmy, a następnie wykorzystywany w podmiocie przez zespoły zajmujące się konkretnymi obszarami działalności, które tworzą bardziej wyspecjalizowane aplikacje.

Tworzenie przepływu współdzielonego

Podczas tworzenia wspólnego procesu należy go zawsze testować, wysyłając wywołania do serwera proxy interfejsu API. Innymi słowy, nie możesz wysyłać żądań bezpośrednio do współdzielonego procesu, tak jak w przypadku interfejsu API. Zamiast tego wysyłasz żądania do serwera proxy interfejsu API, który z kolei wywołuje wspólny przepływ danych.

Oto ogólne kroki, które należy wykonać, aby opracować przepływ współdzielony:

  1. Określ, jak powinien wyglądać wspólny zestaw funkcji.

    Możesz na przykład połączyć funkcje zarządzania ruchem, w tym tłumienie pików ruchu. Dzięki temu możesz zarządzać ich konfiguracją poza przepływem pracy osób implementujących logikę linii biznesowej.

  2. Opracuj wspólny proces, wdrażając zasady i zasoby pomocnicze, tak jak w przypadku tworzenia interfejsu proxy API.

    Udostępniony przepływ to sekwencja kroków warunkowych. Tworzenie takiego interfejsu jest podobne do tworzenia proxy interfejsu API. Możesz dołączyć zasady i zasoby, które możesz umieścić w serwerze proxy.

    Na przykład w ramach obsługi zarządzania ruchem możesz wdrożyć zasadę Spike Arrest, aby zezwalać tylko na 30 żądań na sekundę, jak w tym przykładzie:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
    

    Następnie do wspólnego procesu zarządzania ruchem możesz dołączyć jako krok zasadę Spike Arrest. Zasada będzie wykonywana w przypadku każdego serwera proxy interfejsu API, który wywołuje wspólny przepływ danych.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>
    

    Informacje o tym, jak rozpocząć wspólny proces w Konsoli administracyjnej, znajdziesz w artykule Tworzenie wspólnego procesu w interfejsie Edge.

    Podobnie jak w przypadku zastępników interfejsu API, możesz zaimportować plik ZIP zawierający artefakty źródła przepływu współdzielonego (więcej informacji o importowaniu zastępników znajdziesz w artykule Importowanie nowego zastępnika interfejsu API). Poniżej znajdziesz instrukcje importowania przepływu współdzielonego za pomocą interfejsu Management API:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
    
  3. Wdróż wspólny przepływ w środowisku, zanim wdrożysz serwery proxy lub współdzielone przepływy, które będą go używać. Udostępniony przepływ pracy wdrażasz w taki sam sposób jak serwer proxy interfejsu API. (więcej informacji znajdziesz w omówieniu wdrożenia).

    Współdzielony przepływ danych musi znajdować się w tej samej organizacji i być wdrożony w tym samym środowisku co proxy interfejsu API i inne współdzielone przepływy danych, które go wykorzystują. Wdrożenie przepływu współdzielonego przed serwerami proxy umożliwia rozwiązanie zależności serwera proxy od przepływu współdzielonego w momencie wdrażania.

    Możesz wdrożyć wspólny proces za pomocą wywołania interfejsu API zarządzania, np.:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password
    

    Możesz też zastąpić obecnie wdrożony wspólny proces bez przestojów. (to bardzo przypomina proksy API). Więcej informacji znajdziesz w artykule Wdrażanie serwerów proxy interfejsów API za pomocą interfejsu API. Oto formularz prośby o udostępnienie danych za pomocą interfejsu Management API:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
    
  4. Utwórz interfejs API proxy, który będzie mógł wywoływać wspólny proces jako część własnego procesu.

    Za pomocą interfejsu API wywołujesz wspólny proces za pomocą Zasady dotyczące wywołania procesu. Możesz też dołączyć udostępniony przepływ do serwera proxy za pomocą haczyka przepływu. Więcej informacji znajdziesz w artykule Podłączanie udostępnianego przepływu za pomocą haczyka przepływu. Szczegółowe informacje o tworzeniu serwera proxy interfejsu API znajdziesz w artykule Tworzenie pierwszego serwera proxy interfejsu API.

    Aby wykorzystać udostępniony przepływ, dodaj zasadę FlowCallout do serwera proxy lub udostępnionego przepływu, który będzie go pobierać. Podobnie jak w przypadku zasad dotyczących odnośników do usług, które odwołują się do innej usługi, element FlowCallout odwołuje się do wspólnego przepływu. Pośrednik interfejsu API, który korzysta z przesyłanych danych, musi zostać wdrożony po przepływie udostępniania i w tym samym środowisku co ten przepływ. Aby przetestować wywołanie takiej procedury, musisz mieć udostępnioną procedurę.

    W tym kodzie zasada FlowCallout wywołuje wspólny przepływ danych o nazwie traffic-management-shared.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>
    

    Więcej informacji znajdziesz w artykule Wywoływanie przepływu współdzielonego z poziomu serwera proxy API lub przepływu współdzielonego.

  5. Wdróż serwer proxy interfejsu API, który zużywa, aby rozpocząć korzystanie ze współdzielonego przepływu. (Więcej informacji o wdrożeniu znajdziesz w artykule Więcej informacji o wdrożeniu).
  6. Programuj iteracyjnie przez śledzenie, tak jak w przypadku serwera proxy interfejsu API.

    Podobnie jak w przypadku serwera proxy interfejsu API, wspólny przepływ danych tworzysz, iteracyjnie wywołując i śledząc go, aż uzyskasz pożądaną logikę. W tym przypadku, ponieważ przepływ współdzielony nie działa samodzielnie, wywołujesz punkt końcowy proxy i śledzisz jego działanie.

    Aby to zrobić:

    1. Upewnij się, że zarówno udostępniony przepływ, jak i proxy interfejsu API wywołujące go za pomocą reguły FlowCallout znajdują się w tej samej organizacji i są wdrożone w tym samym środowisku.
    2. Na karcie Śledzenie w interfejsie proxy API rozpocznij śledzenie.
    3. Wysyła żądanie do punktu końcowego serwera proxy w serwerze proxy interfejsu API. Przepływ z punktu końcowego musi zawierać zasadę FlowCallout, która odwołuje się do przepływu współdzielonego.
    4. Na karcie Ślad sprawdź przepływ danych od serwera proxy interfejsu API do wspólnego przepływu.

      Zwróć uwagę, że w śledzeniu udostępniony przepływ jest reprezentowany jako zbiór kroków lub zasad umieszczonych w szarym polu. Ikony symbolizujące zasady dotyczące powiadomień o przepływie danych poprzedzają przepływy współdzielone. Więcej informacji na temat śledzenia znajdziesz w artykule Używanie narzędzia do śledzenia.

Tworzenie przepływu współdzielonego w interfejsie Edge

Gdy używasz interfejsu Apigee Edge do tworzenia wspólnego przepływu, możesz go utworzyć od podstaw lub zaimportować istniejące źródła przepływu jako pakiet plików .zip.

  1. Otwórz stronę Przepływy współdzielone zgodnie z opisem poniżej. Na stronie Przepływy współdzielone możesz wyświetlić listę przepływów udostępnionych w organizacji oraz edytować i usuwać przepływy na liście.

    Edge

    Aby uzyskać dostęp do strony przepływów współdzielonych za pomocą interfejsu Edge:

    1. Zaloguj się na stronie apigee.com/edge.
    2. Wybierz organizację zawierającą udostępniony przepływ. Zobacz Przełączanie się między organizacjami.

      Przepływ współdzielony będzie dostępny dla wszystkich interfejsów API i przepływów współdzielonych wdrożonych w środowisku tej organizacji. Nie będzie ona dostępna poza tą organizacją.

    3. Na pasku nawigacyjnym po lewej stronie kliknij Opracuj > Udostępnione przepływy.

    Classic Edge (Private Cloud)

    Aby otworzyć stronę Shared Flows w interfejsie klasycznej wersji Edge:

    1. Zaloguj się w http://ms-ip:9000, gdzie ms-ip jest adresem IP lub nazwą DNS węzła serwera zarządzania.
    2. Wybierz organizację zawierającą udostępniony przepływ. Zobacz Przełączanie się między organizacjami.

      Przepływ współdzielony będzie dostępny dla wszystkich interfejsów API i przepływów współdzielonych wdrożonych w środowisku tej organizacji. Nie będzie ona dostępna poza tą organizacją.

    3. Na pasku nawigacyjnym u góry kliknij Interfejsy API > Przepływy współdzielone.
  2. Aby rozpocząć dodawanie nowego przepływu współdzielonego, kliknij przycisk + Przepływ współdzielony.
  3. Na stronie Tworzenie przepływu współdzielonego wybierz sposób utworzenia nowego przepływu:
    • Utwórz nowy przepływ od podstaw. Możesz konfigurować zasady i zasoby jako kroki w ścieżce.
      1. Wybierz Opróżnij przepływ współdzielony.
      2. Wpisz wartość nazwy. Będzie to nazwa, której serwery proxy interfejsu API i inne współdzielone przepływy danych używają do odwoływania się do tego współdzielonego przepływu danych. Nazwa powinna być zrozumiała dla deweloperów korzystających z przepływu.
      3. Wpisz opis, który będzie zawierać więcej informacji o działaniu przepływu.
      4. Kliknij Dalej.
      5. Opcjonalnie wybierz środowiska, w których chcesz wdrożyć nowy przepływ danych.

        Jeśli na przykład chcesz przetestować udostępniony proces za pomocą interfejsów API proxy wdrożonych w środowisku testowym, wdróż udostępniony proces w testowaniu.

      6. Kliknij Utwórz i wdróż, aby utworzyć nowy przepływ współdzielony i wdrożyć go w wybranych środowiskach. Jeśli nie wybierzesz żadnego środowiska, wspólny przepływ danych zostanie utworzony, ale nie zostanie wdrożony.

    • Utwórz wspólny przepływ z istniejących źródeł, przesyłając pakiet przepływu.
      1. Wybierz Pakiet wspólnego przepływu, aby określić plik ZIP zawierający artefakty, które chcesz uwzględnić w nowym przepływie.

        Pakiet przepływu współdzielonego zawiera artefakty źródłowe przepływu współdzielonego. Jeśli na przykład pobierzesz udostępniony proces z interfejsu Edge, otrzymasz plik ZIP z pakietem procesów.

      2. Kliknij Dalej.
      3. Kliknij Wybierz plik, aby znaleźć plik ZIP zawierający udostępnione źródła przepływu, które chcesz zaimportować.
      4. W polu Nazwa wspólnego procesu wpisz nazwę importowanego procesu. Będzie to nazwa, której używają serwery proxy interfejsu API i inne współdzielone przepływy danych, aby odwoływać się do tego współdzielonego przepływu danych. Nazwa powinna być zrozumiała dla deweloperów korzystających z przepływu.
      5. Kliknij Dalej.
      6. Kliknij Kompilacja, aby utworzyć nowy proces z importowanych źródeł.

Wywoływanie przepływu współdzielonego z proxy interfejsu API lub z przepływu współdzielonego

Przepływ współdzielony możesz wywołać z przepływu zastępczego lub z innego przepływu współdzielonego, korzystając z zasad dotyczących oznaczenia przepływu.

  1. W interfejsie Edge odszukaj przekierowanie lub przepływ współdzielony, z którego chcesz wywołać inny przepływ współdzielony.
  2. W sekcji Nawigator obok opcji Zasady kliknij przycisk +.
  3. Na liście zasad w sekcji Rozszerzenie kliknij FlowCallout.
  4. Wpisz nazwę wyświetlaną i nazwę (identyfikator), a następnie wybierz wspólny proces, który będzie wywoływany przez tę zasadę.
  5. Kliknij Dodaj.
  6. Dodaj nową zasadę FlowCallout do serwera proxy, na którym chcesz wykonywać połączenia.

Zobacz też

Łączenie serwerów proxy interfejsów API