Przepływy wielokrotnego użytku do wielokrotnego wykorzystania

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Możesz łączyć zasady i zasoby w przepływ wspólny, z którego można korzystać z wielu serwerów proxy interfejsów API, a nawet z innych wspólnych przepływów. Przepływ udostępniony jest 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 w tej samej organizacji co sam przepływ.

Dzięki rejestrowaniu w jednym miejscu funkcji, które są przydatne w wielu miejscach, wspólny proces pomaga zachować spójność, skrócić czas programowania i ułatwić zarządzanie kodem.

Poniższy film pokazuje, jak utworzyć i śledzić udostępniony przepływ w interfejsie użytkownika Edge.

Poniższy 5-minutowy film pokazuje, jak utworzyć i śledzić udostępniony przepływ w klasycznym interfejsie użytkownika Edge (tylko Edge dla Private Cloud).

Możesz wywołać udostępniony proces za pomocą zasady FlowCallout. Jeśli dołączysz udostępniony przepływ do punktu zaczepienia przepływu, może on być uruchamiany przed serwerem proxy lub żądaniem docelowym albo po stronie serwera proxy lub docelowej odpowiedzi.

Więcej informacji o zasadach dotyczących Dataflow znajdziesz w zasadach dotyczących Dataflow. Więcej informacji o punktach zaczepienia przepływu znajdziesz w artykule o dołączaniu udostępnionego przepływu za pomocą punktu zaczepienia przepływu.

Załóżmy na przykład, że masz obszary funkcji, które są używane w wielu miejscach lub muszą być ujednolicone pod kątem interfejsów API w Twojej organizacji. Możesz utworzyć oddzielny proces dla każdej kategorii, obejmujący:

  • security z kodem autoryzacji opartym na protokole OAuth i weryfikacji klucza interfejsu API, a także kodem ochrony przed zagrożeniami.
  • logging – do generowania standardowych komunikatów o błędach.
  • zapośredniczenie, które umożliwia przekształcanie wiadomości w formatach XML i JSON.

Na poniższej ilustracji 2 serwery proxy interfejsu API wywołują (z zasadą FlowCallout) wspólny przepływ w celu uwierzytelniania przychodzących żądań użytkownika. Obiekt AuthSharedFlow został wdrożony niezależnie od organizacji przed serwerami proxy, aby był dostępny do obsługi żądań z serwerów proxy. Współdzielony przepływ może być opracowywany i zarządzany przez zespół odpowiedzialny za ogólne zasady firmy, a następnie wykorzystany na serwerach proxy przez zespoły z poszczególnych działów biznesowych, które tworzą bardziej wyspecjalizowane aplikacje.

Opracowywanie procesu wspólnego

Opracowując przepływ udostępniony, musisz zawsze przetestować go za pomocą wywołań wysyłanych do serwera proxy interfejsu API. Innymi słowy, nie możesz wysyłać żądań bezpośrednio do udostępnionego przepływu, tak jak robi się to przez serwer proxy interfejsu API. Zamiast tego wysyłasz żądania do serwera proxy interfejsu API, który z kolei wywołuje udostępniany przepływ.

Oto ogólne kroki, które należy wykonać, aby opracować wspólny proces:

  1. Dowiedz się, jaki powinien być wspólny zestaw funkcji.

    Możesz na przykład połączyć funkcje zarządzania ruchem, w tym pomijanie skoków natężenia ruchu. Dzięki temu możesz zarządzać ich konfiguracją poza przepływem pracy osób wdrażających logikę biznesową.

  2. Opracuj wspólny proces, implementując zasady i zasoby pomocnicze tak samo jak podczas tworzenia serwera proxy interfejsu API.

    Współdzielony przepływ to sekwencja kroków warunkowych. Ich tworzenie przypomina więc serwer proxy interfejsu API. Możesz dołączyć zasady i zasoby, które możesz uwzględnić na serwerze proxy.

    Na przykład w ramach zarządzania ruchem możesz wdrożyć zasadę Spike Arrest, która 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 udostępnionego procesu zarządzania ruchem możesz dołączyć zasadę Spike Arrest jako krok. Zasada zostanie uruchomiona w przypadku każdego serwera proxy interfejsu API, który wywołuje udostępniony przepływ.

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

    Informacje o tym, jak uruchomić udostępniony przepływ w konsoli zarządzania, znajdziesz w artykule o tworzeniu udostępnionego przepływu w interfejsie użytkownika Edge.

    Tak jak w przypadku serwerów proxy interfejsu API, możesz zaimportować plik ZIP zawierający artefakty współdzielonego źródła przepływu (więcej informacji o importowaniu serwerów proxy znajdziesz w artykule Importowanie nowego serwera proxy interfejsu API). Poniżej pokazujemy, jak zaimportować udostępniony proces 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óż udostępniony przepływ w środowisku przed wdrożeniem serwerów proxy lub przepływów współdzielonych, które będą go wykorzystywać. Wspólny przepływ wdrażasz w taki sam sposób, w jaki wdrażasz serwer proxy interfejsu API. (Więcej informacji znajdziesz w omówieniu wdrożenia).

    Współdzielony przepływ musi być w tej samej organizacji i wdrożony w tym samym środowisku co serwery proxy interfejsów API i inne współdzielone przepływy, które z niego korzystają. Wdrożenie wspólnego przepływu przed serwerami proxy umożliwia spełnienie zależności serwera proxy od wspólnego przepływu podczas wdrażania.

    Możesz wdrożyć udostępniony przepływ procesu, korzystając z wywołania interfejsu Management API, takiego jak:

    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 udostępniony proces bez przestojów. Działa to podobnie do serwerów proxy interfejsów API. Więcej informacji znajdziesz w artykule o wdrażaniu serwerów proxy interfejsów API przy użyciu interfejsu API zarządzania). Aby przesłać prośbę, użyj interfejsu API zarządzania Google Analytics:

    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. Zaprogramuj serwer proxy interfejsu API, aby mógł wywoływać udostępniony przepływ w ramach własnego procesu.

    Z serwera proxy interfejsu API wywołujesz udostępniony proces za pomocą zasadyFlowCallout. Możesz też dołączyć udostępniony przepływ do serwera proxy za pomocą punktu zaczepienia procesu. Instrukcje znajdziesz w sekcji Dołączanie udostępnionego przepływu za pomocą webhooka przepływu. Samouczek wprowadzający dotyczący tworzenia serwera proxy interfejsu API znajdziesz w artykule Tworzenie pierwszego serwera proxy interfejsu API.

    Aby korzystać z przepływu współdzielonego, dodaj do serwera proxy lub przepływu współdzielonego zasadę FlowCallout, która będzie je wykorzystywać. Podobnie jak w przypadku zasady dotyczącej objaśnień usługi, które wywołuje inną usługę, objaśnienie przepływu wywołuje do przepływu współdzielonego. Serwer proxy interfejsu API należy wdrożyć po udostępnionym procesie i w tym samym środowisku co przepływ udostępniony. Przepływ wspólny musi być dostępny, gdy chcesz przetestować wywołanie przy użyciu zasady FlowCallout.

    W poniższym kodzie zasada FlowCallout odwołuje się do udostępnionego procesu 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 o wywoływaniu udostępnionego procesu z serwera proxy interfejsu API lub udostępnionego procesu.

  5. Aby rozpocząć korzystanie z udostępnionego procesu, wdróż serwer proxy interfejsu API. Więcej informacji o wdrażaniu znajdziesz w artykule Omówienie wdrażania.
  6. Programuj iteracyjnie przez śledzenie, tak jak w przypadku serwera proxy interfejsu API.

    Podobnie jak w przypadku serwera proxy interfejsu API, tworzysz wspólny przepływ, iteracyjnie wywołując i śledząc, aż uzyskasz logikę w oczekiwanej formie. W tym przypadku, ponieważ udostępniony przepływ nie działa samodzielnie, musisz wywołać punkt końcowy serwera proxy i śledzić serwer proxy.

    Aby to zrobić:

    1. Upewnij się, że zarówno udostępniony przepływ, jak i serwer proxy interfejsu API wywołujący go za pomocą zasady FlowCallout, znajdują się w tej samej organizacji i są wdrożone w tym samym środowisku.
    2. Na karcie Trace serwera proxy interfejsu API rozpocznij śledzenie serwera proxy interfejsu API.
    3. Wyślij żądanie do punktu końcowego serwera proxy przez serwer proxy interfejsu API. Przepływ z punktu końcowego musi zawierać zasadę FlowCallout, która wywołuje przepływ współdzielonego.
    4. Na karcie Śledzenie sprawdź przepływ od serwera proxy interfejsu API do udostępnionego przepływu.

      Zwróć uwagę, że w śledzeniu wspólny przepływ jest przedstawiony jako zbiór kroków lub zasad w szarym polu. Ikony reprezentujące zasady przepływu objaśnień poprzedzają udostępnione przepływy. (Więcej informacji na temat śledzenia znajdziesz w artykule Korzystanie z narzędzia do śledzenia).

Tworzenie udostępnionego przepływu w interfejsie użytkownika Edge

Jeśli tworzysz udostępniony przepływ za pomocą interfejsu Apigee Edge, możesz go utworzyć od zera lub importować istniejące źródła przepływów jako plik ZIP pakietu przepływów.

  1. Otwórz stronę Przepływy współdzielone w sposób opisany poniżej. Na stronie Przepływy współdzielone możesz wyświetlić listę przepływów współdzielonych w organizacji oraz edytować lub usuwać przepływy na tej liście.

    Edge

    Aby uzyskać dostęp do strony Przepływy współdzielone przy użyciu interfejsu Edge:

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

      Przepływ wspólny będzie dostępny dla wszystkich serwerów proxy interfejsów API i przepływów współdzielonych wdrożonych w środowisku z tej organizacji. Nie będzie dostępny spoza tej organizacji.

    3. Na pasku nawigacyjnym po lewej stronie kliknij Programowanie > Przepływy współdzielone.

    Klasyczna wersja Edge (Private Cloud)

    Aby uzyskać dostęp do strony Przepływy współdzielone w klasycznym interfejsie użytkownika Edge:

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

      Przepływ wspólny będzie dostępny dla wszystkich serwerów proxy interfejsów API i przepływów współdzielonych wdrożonych w środowisku z tej organizacji. Nie będzie dostępny spoza tej organizacji.

    3. Na pasku nawigacyjnym u góry wybierz Interfejsy API > Przepływy współdzielone.
  2. Kliknij przycisk + Przepływ udostępniony, aby rozpocząć dodawanie nowego udostępnionego procesu.
  3. Na stronie Tworzenie przepływu współdzielonego wybierz sposób, w jaki chcesz utworzyć nowy proces:
    • Utwórz nowy proces od zera. Będziesz mieć możliwość konfigurowania zasad i zasobów w poszczególnych krokach procesu.
      1. Wybierz Pusty przepływ udostępniony.
      2. Wpisz wartość nazwy. Będzie to nazwa, której serwery proxy interfejsu API i inne przepływy współdzielone odwołują się do tego wspólnego przepływu. Nazwa powinna być opisowa dla programistów korzystających z procesu.
      3. Wpisz opis, aby podać więcej informacji o tym, jak przebiega proces.
      4. Kliknij Dalej.
      5. Opcjonalnie wybierz środowiska, w których chcesz wdrożyć nowy proces.

        Jeśli na przykład będziesz testować wspólny przepływ z serwerów proxy interfejsów API wdrożonych w środowisku testowym, wdróż ten przepływ w środowisku testowym.

      6. Kliknij Skompiluj i wdróż, aby utworzyć nowy udostępniony przepływ i wdrożyć w wybranych środowiskach. Jeśli nie wybierzesz żadnego środowiska, udostępniony przepływ zostanie utworzony, ale nie wdrożony.

    • Utwórz udostępniony przepływ z istniejących źródeł, przesyłając pakiet przepływu.
      1. Wybierz Shared Flow Bundle, aby określić plik ZIP zawierający artefakty, które chcesz umieścić w nowym procesie.

        Pakiet wspólnego procesu zawiera źródłowe artefakty udostępnionego procesu. Jeśli na przykład chcesz pobrać udostępniony przepływ z interfejsu użytkownika Edge, musisz utworzyć plik .zip z pakietem przepływu.

      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 przepływu współdzielonego wpisz nazwę zaimportowanego przepływu. Będzie to nazwa, której serwery proxy interfejsu API i inne przepływy współdzielone odwołują się do tego wspólnego przepływu. Nazwa powinna być opisowa dla programistów korzystających z procesu.
      5. Kliknij Dalej.
      6. Kliknij Utwórz, aby utworzyć nowy przepływ z importowanych źródeł.

Wywoływanie udostępnionego procesu przez serwer proxy interfejsu API lub udostępniony przepływ

Możesz wywołać udostępniony przepływ przez serwer proxy lub z innego udostępnionego procesu, używając zasadyFlowCallout.

  1. W interfejsie użytkownika Edge znajdź serwer proxy lub przepływ udostępniony, z którego chcesz wywoływać inny udostępniony przepływ.
  2. W Nawigatorze obok opcji Zasady kliknij przycisk +.
  3. Na liście zasad w sekcji Rozszerzenie kliknij FlowCallout.
  4. Wpisz wyświetlaną nazwę i nazwę (unikalny identyfikator), a następnie wybierz udostępniony przepływ, który będzie wywoływany przez tę zasadę.
  5. Kliknij Dodaj.
  6. Dodaj nową zasadę FlowCallout do serwera proxy, na którym ma być wykonywane wywołanie.

Zobacz też

Łańcuch proxy interfejsu API razem