Przepływy wielokrotnego użytku do wielokrotnego wykorzystania

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

Możesz połączyć zasady i zasoby w współdzielony przepływ, z którego możesz korzystać w wielu proxy interfejsów API, a nawet w innych współdzielonych przepływach. Chociaż przypomina on serwer proxy, współdzielony przepływ nie ma punktu końcowego. Można go używać tylko w serwerze proxy interfejsu API lub współdzielonym przepływie, który znajduje się w tej samej organizacji co sam współdzielony przepływ.

Dzięki zebraniu w jednym miejscu funkcji przydatnych w wielu miejscach współdzielony przepływ ułatwia zapewnienie spójności, skrócenie czasu programowania i łatwiejsze zarządzanie kodem.

Na filmie poniżej zobaczysz, jak utworzyć i śledzić współdzielony przepływ w interfejsie Edge.

W tym 5-minutowym filmie pokazujemy, jak utworzyć i śledzić współdzielony przepływ w nowym interfejsie Edge (tylko Edge dla chmury prywatnej).

Możesz wywołać współdzielony przepływ za pomocą zasady FlowCallout. Dołączając współdzielony przepływ do punktu zaczepienia przepływu, możesz też sprawić, że współdzielony przepływ będzie wykonywany przed żądaniem serwera proxy lub serwera docelowego albo po odpowiedzi serwera proxy lub serwera docelowego.

Informacje o zasadach FlowCallout znajdziesz w artykule Zasady FlowCallout. Więcej informacji o punktach zaczepienia przepływu znajdziesz w artykule Dołączanie współdzielonego przepływu za pomocą punktu zaczepienia 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. Możesz mieć współdzielony przepływ dla każdej kategorii, w tym:

  • bezpieczeństwo, z kodem autoryzacji korzystającym z OAuth i weryfikacji klucza interfejsu API, a także kodem ochrony przed zagrożeniami.
  • logging – do generowania standardowych komunikatów o błędach;
  • mediation do przekształcania formatów wiadomości XML i JSON.

Na ilustracji poniżej 2 proxy interfejsu API wywołują (za pomocą zasady FlowCallout) współdzielony przepływ w celu uwierzytelnienia przychodzących żądań użytkowników. AuthSharedFlow został wdrożony w organizacji oddzielnie przed serwerami proxy, aby obsługiwać żądania 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 wykorzystywany w usługach proxy przez zespoły biznesowe tworzące bardziej wyspecjalizowane aplikacje.

Tworzenie współdzielonego przepływu

Podczas tworzenia współdzielonego przepływu zawsze musisz go testować za pomocą wywołań wysyłanych do proxy interfejsu API. Innymi słowy, nie możesz wysyłać żądań bezpośrednio do współdzielonego przepływu, tak jak w przypadku proxy interfejsu API. Zamiast tego wysyłasz żądania do proxy interfejsu API, który z kolei wywołuje współdzielony przepływ.

Oto ogólne kroki tworzenia współdzielonego przepływu:

  1. Określ, jaki powinien być wspólny zestaw funkcji.

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

  2. Opracuj współdzielony przepływ, wdrażając zasady i zasoby pomocnicze, tak jak w przypadku opracowywania proxy interfejsu API.

    Współdzielony przepływ to sekwencja kroków warunkowych. Dlatego opracowywanie go jest podobne do opracowywania proxy interfejsu API. Możesz uwzględnić zasady i zasoby, które mogą być częścią serwera 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ółdzielonego przepływu służącego do zarządzania ruchem możesz dołączyć zasadę Spike Arrest jako krok. Zasada będzie wykonywana w przypadku każdego proxy interfejsu API, które wywołuje współdzielony przepływ.

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

    Informacje o tym, jak rozpocząć współdzielony przepływ w konsoli zarządzania, znajdziesz w artykule Tworzenie współdzielonego przepływu w interfejsie Edge.

    Podobnie jak w przypadku proxy interfejsów API możesz zaimportować plik ZIP zawierający artefakty źródłowe współdzielonego przepływu (więcej informacji o importowaniu proxy znajdziesz w artykule Importowanie nowego proxy interfejsu API). Poniżej znajdziesz przykład importowania współdzielonego przepływu 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ółdzielony przepływ w środowisku przed wdrożeniem serwerów proxy lub współdzielonych przepływów, które będą go używać. Współdzielony przepływ wdraża się w taki sam sposób jak proxy interfejsu API. (Więcej informacji znajdziesz w omówieniu wdrożenia).

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

    Możesz wdrożyć współdzielony przepływ za pomocą wywołania interfejsu API zarządzania, takiego jak to:

    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ółdzielony przepływ bez przestoju. (Jest to bardzo podobne do proxy interfejsów API. Więcej informacji znajdziesz w artykule Wdrażanie proxy interfejsów API za pomocą interfejsu Management API. Oto formularz żądania korzystający z 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. Opracuj serwer proxy interfejsu API, aby mógł wywoływać współdzielony przepływ w ramach własnego przepływu.

    Z proxy interfejsu API wywołujesz współdzielony przepływ za pomocą zasady FlowCallout. (Możesz też dołączyć współdzielony przepływ do serwera proxy za pomocą punktu zaczepienia przepływu, jak opisano w artykule Dołączanie współdzielonego przepływu za pomocą punktu zaczepienia przepływu). Wprowadzenie do tworzenia serwera proxy interfejsu API znajdziesz w artykule Tworzenie pierwszego serwera proxy interfejsu API.

    Aby użyć współdzielonego przepływu, dodaj do serwera proxy lub współdzielonego przepływu, który będzie go używać, zasadę FlowCallout. Podobnie jak w przypadku zasady wywołania usługi, która wywołuje inną usługę, zasada FlowCallout wywołuje współdzielony przepływ. Serwer proxy interfejsu API, który korzysta ze współdzielonego przepływu, musi zostać wdrożony po współdzielonym przepływie i w tym samym środowisku co współdzielony przepływ. Współdzielony przepływ musi być dostępny, jeśli chcesz przetestować wywołanie go za pomocą zasady FlowCallout.

    W poniższym kodzie zasada FlowCallout wywołuje współdzielony przepływ 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 współdzielonego przepływu z proxy interfejsu API lub współdzielonego przepływu.

  5. Wdróż serwer proxy interfejsu API, który będzie korzystać z przepływu współdzielonego. (Więcej informacji o wdrażaniu znajdziesz w artykule Informacje o wdrażaniu).
  6. Twórz iteracyjnie, śledząc działanie tak jak w przypadku serwera proxy interfejsu API.

    Podobnie jak w przypadku proxy interfejsu API, współdzielony przepływ tworzysz przez iteracyjne wywoływanie i śledzenie, aż uzyskasz odpowiednią logikę. W tym przypadku, ponieważ współdzielony przepływ nie działa samodzielnie, wywołujesz punkt końcowy proxy i śledzisz proxy.

    Aby to zrobić:

    1. Upewnij się, że współdzielony przepływ i proxy interfejsu API, który go wywołuje za pomocą zasady FlowCallout, znajdują się w tej samej organizacji i są wdrożone w tym samym środowisku.
    2. Na karcie Śledzenie serwera proxy interfejsu API rozpocznij śledzenie serwera proxy interfejsu API.
    3. Wysyłanie żądania do punktu końcowego serwera proxy w serwerze proxy interfejsu API. Przepływ z punktu końcowego musi zawierać zasadę FlowCallout, która wywołuje współdzielony przepływ.
    4. Na karcie Log czasu sprawdź przepływ od proxy interfejsu API do współdzielonego przepływu.

      Zwróć uwagę, że w śledzeniu współdzielony przepływ jest reprezentowany jako zestaw kroków lub zasad zamkniętych w szarym polu. Przed przepływami współdzielonymi znajdują się ikony reprezentujące zasady FlowCallout. (Więcej informacji o śledzeniu znajdziesz w artykule Korzystanie z narzędzia do śledzenia).

Tworzenie współdzielonego przepływu w interfejsie Edge

Gdy tworzysz współdzielony przepływ w interfejsie Apigee Edge, możesz utworzyć go od zera lub zaimportować istniejące źródła przepływu jako plik ZIP pakietu przepływu.

  1. Otwórz stronę przepływów współdzielonych w sposób opisany poniżej. Na stronie Udostępnione przepływy możesz wyświetlić listę udostępnionych przepływów w organizacji oraz edytować lub usuwać przepływy z listy.

    Edge

    Aby otworzyć stronę Przepływy współdzielone w interfejsie Edge:

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

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

    3. Na pasku nawigacyjnym po lewej stronie kliknij Develop > Shared Flows (Programowanie > Wspólne przepływy).

    Nowy interfejs Edge (chmura prywatna)

    Aby otworzyć stronę Wspólne przepływy w nowym interfejsie Edge:

    1. Zaloguj się w interfejsie New Edge UI na stronie http://host:3001/edge, gdzie host to adres IP lub nazwa DNS hosta, na którym działa interfejs New Edge UI.
    2. Wybierz organizację zawierającą współdzielony przepływ. Zobacz Przełączanie się między organizacjami.

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

    3. Na pasku nawigacyjnym po lewej stronie kliknij Develop > Shared Flows (Programowanie > Wspólne przepływy).
  2. Aby rozpocząć dodawanie nowego współdzielonego przepływu, kliknij przycisk + Współdzielony przepływ.
  3. Na stronie Tworzenie wspólnego przepływu wybierz sposób utworzenia nowego przepływu:
    • Utwórz nowy przepływ od zera. Zasady i zasoby możesz skonfigurować jako kroki w procesie.
      1. Wybierz Pusty przepływ udostępniony.
      2. Wpisz wartość nazwy. Będzie to nazwa, której proxy interfejsu API i inne współdzielone przepływy będą używać do odwoływania się do tego współdzielonego przepływu. Nazwa powinna być opisowa dla deweloperów korzystających z tego procesu.
      3. Wpisz opis, aby podać więcej informacji o tym, co robi przepływ.
      4. Kliknij Dalej.
      5. Opcjonalnie wybierz środowiska, w których chcesz wdrożyć nowy przepływ.

        Jeśli na przykład zamierzasz testować współdzielony przepływ z proxy interfejsów API wdrożonych w środowisku testowym, wdróż współdzielony przepływ w środowisku testowym.

      6. Kliknij Build and Deploy(Skompiluj i wdroż), aby utworzyć nowy współdzielony przepływ i wdrożyć go w wybranych środowiskach. Jeśli nie wybrano środowiska, przepływ współdzielony zostanie utworzony, ale nie wdrożony.

    • Utwórz współdzielony przepływ na podstawie istniejących źródeł, przesyłając pakiet przepływu.
      1. Kliknij Pakiet wspólnego przepływu, aby wskazać plik ZIP zawierający artefakty, które chcesz umieścić w nowym przepływie.

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

      2. Kliknij Dalej.
      3. Kliknij Wybierz plik, aby znaleźć plik ZIP zawierający źródła współdzielonego przepływu, które chcesz zaimportować.
      4. W polu Nazwa przepływu współdzielonego wpisz nazwę importowanego przepływu. Będzie to nazwa, której proxy interfejsów API i inne współdzielone przepływy będą używać do odwoływania się do tego współdzielonego przepływu. Nazwa powinna być opisowa dla deweloperów korzystających z tego procesu.
      5. Kliknij Dalej.
      6. Aby utworzyć nowy przepływ z importowanych źródeł, kliknij Utwórz.

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

Możesz wywołać współdzielony przepływ z serwera proxy lub z innego współdzielonego przepływu za pomocą zasady FlowCallout.

  1. W interfejsie Edge znajdź serwer proxy lub współdzielony przepływ, z którego chcesz wywołać inny współdzielony 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 współdzielony przepływ, który będzie wywoływany przez te zasady.
  5. Kliknij Dodaj.
  6. Dodaj nową zasadę FlowCallout do serwera proxy, w którym chcesz wykonać wywołanie.

Zobacz też

Łączenie serwerów proxy interfejsów API w łańcuchy