Przepływy wielokrotnego użytku do wielokrotnego wykorzystania

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

Zasady i zasoby możesz łączyć 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ż jest podobny do proxy, współdzielony przepływ nie ma punktu końcowego. Może być używany tylko w proxy interfejsu API lub współdzielonym przepływie, który znajduje się w tej samej organizacji co sam współdzielony przepływ.

Dzięki temu, że przepływ współdzielony zawiera funkcje przydatne w wielu miejscach, pomaga on zapewnić spójność, skrócić czas programowania i łatwiej zarządzać kodem.

Z tego filmu dowiesz się, jak utworzyć i śledzić współdzielony przepływ w interfejsie Edge.

Z tego 5-minutowego filmu dowiesz się, jak utworzyć i śledzić przepływ współdzielony w klasycznym interfejsie Edge (tylko w Edge for Private Cloud).

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

Informacje o zasadzie FlowCallout znajdziesz w artykule Zasada 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ć przepływ współdzielony dla każdej kategorii, w tym:

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

Na ilustracji poniżej 2 proxy interfejsów API wywołują (za pomocą zasady FlowCallout) a współdzielony przepływ w celu uwierzytelnienia przychodzących żądań użytkowników. Przepływ AuthSharedFlow został wdrożony oddzielnie w organizacji przed proxy, aby mógł obsługiwać żądania z proxy. Współdzielony przepływ może być opracowywany i zarządzany przez zespół odpowiedzialny za ogólne zasady firmy, a następnie używany w proxy przez zespoły zajmujące się danym rodzajem działalności, tworzące bardziej wyspecjalizowane aplikacje.

Tworzenie współdzielonego przepływu

Podczas tworzenia współdzielonego przepływu musisz zawsze testować go 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óre 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. Utwórz współdzielony przepływ , wdrażając zasady i obsługując zasoby, tak jak w przypadku tworzenia proxy interfejsu API.

    Współdzielony przepływ to sekwencja kroków warunkowych. Dlatego jego tworzenie jest podobne do tworzenia proxy interfejsu API. Możesz uwzględnić zasady i zasoby, które mogą być zawarte w 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 przepływu współdzielonego 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ąć korzystanie ze współdzielonego przepływu 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 pokazujemy, jak zaimportować współdzielony przepływ 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ć. Przepływ współdzielony wdrażasz w taki sam sposób jak proxy interfejsu API. (Więcej informacji znajdziesz w artykule Omówienie wdrożenia).

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

    Przepływ współdzielony możesz wdrożyć za pomocą wywołania interfejsu Management API, 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ć aktualnie wdrożony przepływ współdzielony bez przestoju. (Działa to bardzo podobnie 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 używający 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 proxy interfejsu API, które będzie używać współdzielonego przepływu , aby mogło wywoływać współdzielony przepływ w ramach własnego przepływu.

    Z proxy interfejsu API możesz wywołać współdzielony przepływ za pomocą zasady FlowCallout. (Możesz też dołączyć współdzielony przepływ do 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 proxy interfejsu API znajdziesz w artykule Tworzenie pierwszego proxy interfejsu API.

    Aby używać przepływu współdzielonego, dodaj zasadę FlowCallout do proxy lub przepływu współdzielonego, który będzie go używać. Podobnie jak zasada Service Callout, za pomocą której wywołujesz inną usługę, zasada FlowCallout wywołuje przepływ współdzielony. Proxy interfejsu API, które będzie używać współdzielonego przepływu, musi zostać wdrożone po współdzielonym przepływie i w tym samym środowisku co współdzielony przepływ. Współdzielony przepływ musi być dostępny, gdy chcesz przetestować wywołanie do niego za pomocą zasady FlowCallout.

    W poniższym kodzie zasada FlowCallout wywołuje przepływ współdzielony 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óż proxy interfejsu API, które będzie używać współdzielonego przepływu , aby rozpocząć korzystanie z przepływu współdzielonego. (Więcej informacji o wdrożeniu ogólnie znajdziesz w artykule Omówienie wdrożenia).
  6. Twórz iteracyjnie, śledząc przepływ, tak jak w przypadku 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óre 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 proxy interfejsu API rozpocznij śledzenie proxy interfejsu API.
    3. Wyślij żądanie do punktu końcowego proxy w proxy interfejsu API. Przepływ z punktu końcowego musi zawierać zasadę FlowCallout, która wywołuje współdzielony przepływ.
    4. Na karcie Śledzenie sprawdź przepływ z proxy interfejsu API do współdzielonego przepływu.

      Zwróć uwagę, że w śledzeniu współdzielony przepływ jest przedstawiany jako zestaw kroków lub zasad uję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 używasz interfejsu Apigee Edge do tworzenia współdzielonego przepływu, 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ływy współdzielone, jak opisano 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 z listy.

    Edge

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

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

      Współdzielony przepływ będzie dostępny dla wszystkich proxy interfejsów API i współdzielonych przepływów 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.

    Klasyczny interfejs Edge (Private Cloud)

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

    1. Zaloguj się na stronie http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania.
    2. Wybierz organizację zawierającą przepływ współdzielony. Zapoznaj się z artykułem Przełączanie się między organizacjami.

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

    3. Na pasku nawigacyjnym u góry kliknij Interfejsy API > Przepływy współdzielone.
  2. Aby rozpocząć dodawanie nowego współdzielonego przepływu, 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 zera. Będziesz mieć możliwość skonfigurowania zasad i zasobów jako kroków w przepływie.
      1. Kliknij Pusty przepływ współdzielony.
      2. Wpisz wartość nazwy. Będzie to nazwa, której proxy interfejsów API i inne przepływy współdzielone będą używać do odwoływania się do tego przepływu współdzielonego. Nazwa powinna być opisowa dla programistów korzystających z przepływu.
      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 będziesz 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 Utwórz i wdróż, aby utworzyć nowy współdzielony przepływ i wdrożyć go w wybranych środowiskach. Jeśli nie wybierzesz żadnego środowiska, współdzielony przepływ zostanie utworzony, ale nie wdrożony.

    • Utwórz współdzielony przepływ z istniejących źródeł, przesyłając pakiet przepływu.
      1. Kliknij Pakiet przepływu współdzielonego , aby określić plik ZIP zawierający artefakty które mają się znaleźć 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 przejść do pliku ZIP zawierającego ź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 programistów korzystających z przepływu.
      5. Kliknij Dalej.
      6. Kliknij Utwórz , aby utworzyć nowy przepływ ze źródeł, które importujesz.

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

Przepływ współdzielony możesz wywołać z proxy lub innego przepływu współdzielonego 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 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 tę zasadę.
  5. Kliknij Dodaj.
  6. Dodaj nową zasadę FlowCallout do proxy, w którym chcesz wykonać wywołanie.

Zobacz też

Łączenie proxy interfejsów API