Dokumentacja konfiguracji serwera proxy interfejsu API

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

Jako programista pracujący dla Apigee Edge Twoje główne działania związane z programowaniem obejmują konfigurowanie serwerów proxy interfejsów API, które działają jako serwery proxy interfejsów API lub usług backendu. Ten dokument zawiera informacje o wszystkich elementach konfiguracji dostępnych podczas tworzenia serwerów proxy API.

Jeśli chcesz się dowiedzieć, jak tworzyć serwery proxy API, zacznij od tematu Tworzenie prostego serwera proxy interfejsu API.

Oto najczęstsze sposoby edytowania konfiguracji serwera proxy:

Lokalne tworzenie konfiguracji serwerów proxy

Konfiguracje serwera proxy możesz pobrać i edytować na komputerze lokalnym. Po zakończeniu przesyłasz wyniki do Edge. Ta metoda umożliwia zintegrowanie konfiguracji serwera proxy z kontrolą źródła, obsługą wersji i innymi współdzielonymi przepływami pracy. Pracując nad konfiguracją serwera proxy lokalnie, możesz też użyć własnego edytora XML i narzędzi do weryfikacji.

W tej sekcji opisano, jak za pomocą interfejsu użytkownika pobrać istniejącą konfigurację serwera proxy, zmodyfikować ją, a następnie przesłać z powrotem do Edge w celu wdrożenia. Możesz też użyć narzędzia apigeetool, aby pobrać i wdrożyć nową konfigurację proxy (korzystając odpowiednio z poleceń fetchproxy i deployproxy).

Aby lokalnie edytować konfigurację serwera proxy za pomocą interfejsu użytkownika:

  1. Pobierz bieżącą konfigurację serwera proxy z interfejsu użytkownika Edge. (W widoku serwerów proxy interfejsu API wybierz Projekt > Pobierz wersję).
  2. Na komputerze lokalnym utwórz nowy katalog i rozwiń w nim pobrany plik ZIP.

    Aby rozwinąć plik ZIP, możesz użyć narzędzia takiego jak unzip, jak w tym przykładzie:

    mkdir myappdir
    unzip ./my-app_app_rev3_2019_04_20.zip -d myappdir

    Rozwinięta zawartość pliku ZIP powinna być podobna do struktury opisanej we strukturze serwera proxy interfejsu API.

  3. W razie potrzeby zmodyfikuj pliki źródłowe. Opis plików źródłowych w konfiguracji serwera proxy znajdziesz w sekcji Pliki konfiguracji i struktura katalogów serwera proxy interfejsu API.

    Aby na przykład włączyć monitorowanie stanu na serwerze proxy interfejsu API, edytuj plik konfiguracji TargetEndpoint w katalogu /apiproxy/targets/. Domyślnym plikiem w tym katalogu jest default.xml, ale jeśli używasz celów warunkowych, mogą istnieć pliki o innych nazwach.

    W tym przypadku, jeśli plik konfiguracji TargetEndpoint ani jego katalog nie istnieje, utwórz go.

  4. Po zakończeniu edytowania plików konfiguracji serwera proxy zapisz zmiany.
  5. Przejdź do nowego katalogu utworzonego podczas rozpakowywania plików ZIP (katalogu głównego rozwiniętych plików konfiguracji).

    Jeśli na przykład pliki zostały rozwinięte do katalogu /myappdir, przejdź do tego katalogu, jak pokazano w poniższym przykładzie:

    cd myappdir

    Wybierz ten katalog, zanim ponownie zarchiwizujesz pliki konfiguracji serwera proxy, ponieważ nie chcesz, aby katalog /myappdir był zawarty w pliku ZIP. Katalog najwyższego poziomu w pliku ZIP to /apiproxy.

  6. Ponownie archiwizuj pliki konfiguracji serwera proxy, w tym nowe i zmienione pliki. Możesz użyć narzędzia takiego jak zip, jak pokazano w tym przykładzie:
    zip my-new-proxy.zip -r .

    Katalog najwyższego poziomu w pliku ZIP to /apiproxy.

    Nie ma specjalnych wymagań dotyczących nazwy pliku ZIP. Nie musisz na przykład zwiększać numeru wersji ani określać daty w nazwie pliku, ale może to być przydatne podczas debugowania lub kontroli źródła.

    Po przesłaniu nowego serwera proxy Edge zwiększa numer wersji nowej konfiguracji serwera proxy.

  7. Prześlij nową konfigurację serwera proxy za pomocą interfejsu użytkownika Edge. (W widoku Serwery proxy interfejsu API wybierz Projekt > Prześlij nową wersję).

    Jeśli pojawi się błąd, taki jak Bundle is invalid. Empty bundle., sprawdź, czy katalog najwyższego poziomu pliku ZIP to /apiproxy. Jeśli nie, zarchiwizuj pliki konfiguracji serwera proxy z katalogu głównego rozwiniętego katalogu.

    Po przesłaniu nowej konfiguracji serwera proxy Edge zwiększa numer wersji i wyświetla ją w widoku Podsumowanie wersji.

    Edge nie wdroży nowej wersji, gdy prześlesz ją za pomocą interfejsu użytkownika.

  8. Wdróż nową wersję.

Więcej informacji znajdziesz w samouczku: jak pobrać serwer proxy za pomocą interfejsu użytkownika i interfejsu API zarządzania w społeczności Apigee.

Struktura proxy interfejsu API

Serwer proxy interfejsu API składa się z takiej konfiguracji:

Konfiguracja podstawowa Podstawowe ustawienia konfiguracji serwera proxy interfejsu API. Zobacz Konfiguracja podstawowa.
Konfiguracja punktu końcowego serwera proxy Ustawienia przychodzącego połączenia HTTP (od żądania aplikacji do Apigee Edge), przepływów żądań i odpowiedzi oraz załączników zasad. Zobacz ProxyEndpoint.
Konfiguracja punktu końcowego Ustawienia wychodzącego połączenia HTTP (z Apigee Edge do usługi backendu), przepływów żądań i odpowiedzi oraz przyłączy zasad. Zobacz TargetEndpoint.
Przepływy Potoki żądań i odpowiedzi ProxyEndpoint i TargetEndpoint, do których można dołączać zasady. Zobacz Przepływy.
Zasady Pliki konfiguracji w formacie XML zgodne ze schematami zasad Apigee Edge. Zobacz Zasady.
Informacje Skrypty, pliki JAR i pliki YAML, do których odwołują się zasady, aby wykonać niestandardową logikę. Zobacz Zasoby.

Struktura i zawartość katalogów serwera proxy interfejsu API

Komponenty wymienione w powyższej tabeli są zdefiniowane w plikach konfiguracji w tej strukturze katalogów:

Pokazuje strukturę katalogów, w której apiproxy jest katalogiem głównym. Bezpośrednio w katalogu apiproxy znajdują się zasady, serwery proxy, zasoby i katalogi docelowe, a także plik pogodyapi.xml.

Pliki konfiguracji i struktura katalogów serwera proxy interfejsu API

W tej sekcji opisano pliki konfiguracji i strukturę katalogów na serwerze proxy interfejsu API.

Konfiguracja podstawowa

/apiproxy/weatherapi.xml

Podstawowa konfiguracja serwera proxy interfejsu API, która określa nazwę tego serwera. Nazwa musi być unikalna w obrębie organizacji.

Przykładowa konfiguracja:

<APIProxy name="weatherapi">
</APIProxy>

Podstawowe elementy konfiguracji

Nazwa Opis Domyślnie Wymagana?
APIProxy
name Nazwa serwera proxy interfejsu API, która musi być unikalna w obrębie organizacji. Dozwolone użycie w nazwie jest ograniczone do tych znaków: A-Za-z0-9_- Nie dotyczy Tak
revision Numer wersji konfiguracji serwera proxy interfejsu API. Nie musisz wyraźnie ustawiać numeru wersji, ponieważ Apigee Edge automatycznie śledzi bieżącą wersję serwera proxy interfejsu API. Nie dotyczy Nie
ConfigurationVersion Wersja schematu konfiguracji serwera proxy interfejsu API, z którą zgodny jest ten serwer proxy interfejsu API. Obecnie jedyną obsługiwaną wartością jest mainVersion 4 i childVersion 0. To ustawienie może być używane w przyszłości do włączenia ewolucji formatu serwera proxy interfejsu API. 4.0 Nie
Description Opis tekstowy serwera proxy interfejsu API. Jeśli zostanie podany, opis będzie wyświetlany w interfejsie zarządzania brzegiem. Nie dotyczy Nie
DisplayName Przyjazna dla użytkownika nazwa, która może różnić się od atrybutu name konfiguracji serwera proxy interfejsu API. Nie dotyczy Nie
Policies Lista zasad w katalogu /policies tego serwera proxy interfejsu API. Zazwyczaj ten element będzie widoczny tylko wtedy, gdy serwer proxy interfejsu API został utworzony za pomocą interfejsu zarządzania Edge. Jest to po prostu ustawienie „manifestu”, które ma zapewnić wgląd w zawartość serwera proxy interfejsu API. Nie dotyczy Nie
ProxyEndpoints Lista punktów końcowych serwera proxy w katalogu /proxies tego serwera proxy interfejsu API. Zazwyczaj ten element będzie widoczny tylko wtedy, gdy serwer proxy interfejsu API został utworzony za pomocą interfejsu zarządzania Edge. Jest to po prostu ustawienie „manifestu”, które ma zapewnić wgląd w zawartość serwera proxy interfejsu API. Nie dotyczy Nie
Resources Lista zasobów (JavaScript, Python, Java, Dataplex) w katalogu /resources tego serwera proxy interfejsu API. Zwykle ten element będzie widoczny tylko wtedy, gdy serwer proxy interfejsu API został utworzony za pomocą interfejsu zarządzania Edge. Jest to po prostu ustawienie „manifestu”, które ma zapewnić wgląd w zawartość serwera proxy interfejsu API. Nie dotyczy Nie
Spec Identyfikuje specyfikację OpenAPI powiązaną z serwerem proxy interfejsu API. Wartość jest ustawiona na adres URL lub ścieżkę w magazynie specyfikacji.

Uwaga: magazyn specyfikacji jest dostępny tylko w nowej wersji Edge. Więcej informacji o magazynie specyfikacji znajdziesz w artykule Zarządzanie specyfikacjami i udostępnianie ich.
Nie dotyczy Nie
TargetServers Lista serwerów docelowych, do których odwołuje się dowolny docelowy punkt końcowy tego serwera proxy interfejsu API. Zazwyczaj ten element będzie widoczny tylko wtedy, gdy serwer proxy interfejsu API został utworzony za pomocą interfejsu zarządzania Edge. Jest to po prostu ustawienie „manifestu”, które ma zapewnić wgląd w zawartość serwera proxy interfejsu API. Nie dotyczy Nie
TargetEndpoints Lista punktów docelowych w katalogu /targets tego serwera proxy interfejsu API. Zazwyczaj ten element będzie widoczny tylko wtedy, gdy serwer proxy interfejsu API został utworzony za pomocą interfejsu zarządzania Edge. Jest to po prostu ustawienie „manifestu”, które ma zapewnić wgląd w zawartość serwera proxy interfejsu API. Nie dotyczy Nie

ProxyEndpoint

Ilustracja przedstawia przepływ żądania/odpowiedzi:

Wyświetla klienta wywołującego usługę HTTP. Zanim żądanie zostanie przetworzone przez usługę HTTP, żądanie przechodzi przez punkt końcowy serwera proxy, a następnie przez docelowy punkt końcowy. Zanim odpowiedź zostanie zwrócona do klienta, odpowiedź przechodzi przez punkt końcowy, a następnie przez punkt końcowy serwera proxy.

/apiproxy/proxies/default.xml

Konfiguracja ProxyEndpoint definiuje interfejs przychodzący (postrzegany przez klienta) dla serwera proxy interfejsu API. Konfigurując punkt końcowy serwera proxy, konfigurujesz konfigurację sieci określającą sposób, w jaki aplikacje klienckie („aplikacje”) powinny wywoływać interfejs API przez serwer proxy.

Poniższa przykładowa konfiguracja ProxyEndpoint byłaby przechowywana w regionie /apiproxy/proxies:

<ProxyEndpoint name="default">
  <PreFlow/>
  <Flows/>
  <PostFlow/>
  <HTTPProxyConnection>
    <BasePath>/weather</BasePath>
    <VirtualHost>default</VirtualHost>
  </HTTPProxyConnection>
  <FaultRules/>
  <DefaultFaultRule/>
  <RouteRule name="default">
    <TargetEndpoint>default</TargetEndpoint>
  </RouteRule>
</ProxyEndpoint>

Wymagane elementy konfiguracji w podstawowym punkcie ProxyEndpoint to:

Elementy konfiguracji punktu końcowego serwera proxy

Nazwa Opis Domyślnie Wymagana?
ProxyEndpoint
name Nazwa punktu końcowego serwera proxy. Musi być niepowtarzalna w konfiguracji serwera proxy interfejsu API, gdy zdefiniowano (w rzadkich przypadkach) wiele punktów ProxyEndpoint. Dozwolone użycie w nazwie jest ograniczone do tych znaków: A-Za-z0-9._\-$ %. Nie dotyczy Tak
PreFlow Definiuje zasady w przepływie przepływu wstępnego żądania lub odpowiedzi. Nie dotyczy Tak
Flows
Definiuje zasady w warunkowych przepływach żądań lub odpowiedzi.
Nie dotyczy Tak
PostFlow
Definiuje zasady w przepływie żądania lub odpowiedzi w PostFlow.
Nie dotyczy Tak
HTTPProxyConnection Określa adres sieciowy i ścieżkę URI powiązane z serwerem proxy interfejsu API
BasePath

Wymagany ciąg znaków jednoznacznie identyfikujący ścieżkę URI używaną przez Apigee Edge do kierowania wiadomości przychodzących do odpowiedniego serwera proxy interfejsu API.

BasePath to fragment identyfikatora URI (np. /weather) dołączany do podstawowego adresu URL serwera proxy interfejsu API (na przykład http://apifactory-test.apigee.net). Ścieżka BasePath musi być niepowtarzalna w obrębie środowiska. Unikatowość jest weryfikowana podczas generowania lub importowania serwera proxy interfejsu API.

Używanie symbolu wieloznacznego w ścieżkach bazowych

W ścieżkach bazowych serwera proxy interfejsu API można używać co najmniej jednego symbolu wieloznacznego „*”. Na przykład ścieżka bazowa /team/*/members umożliwia klientom wywoływanie funkcji https://[host]/team/blue/members i https://[host]/team/green/members bez konieczności tworzenia nowych serwerów proxy interfejsu API do obsługi nowych zespołów. Pamiętaj, że znaki /**/ nie są obsługiwane.

Ważne: Apigee NIE obsługuje użycia symbolu wieloznacznego „*” jako pierwszego elementu ścieżki bazowej. Na przykład nie jest to obsługiwane: /*/search. Rozpoczęcie ścieżki podstawowej znakiem „*” może spowodować nieoczekiwane błędy ze względu na sposób, w jaki Edge identyfikuje prawidłowe ścieżki.

/ Tak
VirtualHost

Wiąże serwer proxy interfejsu API z określonymi podstawowymi adresami URL środowiska. VirtualHost to nadana konfiguracja, która określa co najmniej 1 adres URL środowiska.

Nazwane hosty VirtualHosts zdefiniowane dla punktu końcowego ProxyEndpoint określają domeny i porty, na których jest dostępny serwer proxy interfejsu API, a także adres URL używany przez aplikacje do wywoływania serwera proxy interfejsu API.

Domyślnie dla środowiska zdefiniowano 2 nazwane VirtualHosts: default i secure. Organizacja może też zdefiniować domeny niestandardowe. Aby mieć pewność, że serwer proxy interfejsu API jest dostępny tylko przez HTTPS, ustaw VirtualHost w HTTPProxyConnection na secure.

domyślnie Nie
Properties Zestaw opcjonalnych ustawień konfiguracji HTTP można zdefiniować jako właściwości <ProxyEndpoint>. Nie dotyczy Nie
FaultRules
Określa sposób reakcji punktu końcowego serwera proxy na błąd. Reguła błędu określa 2 elementy:
  • Warunek, który określa błąd do przetworzenia na podstawie wstępnie zdefiniowanej kategorii, podkategorii lub nazwy błędu
  • Co najmniej 1 zasada, która określa zachowanie reguły błędu dla danego warunku

Patrz Obsługa błędów.

Nie dotyczy Nie
DefaultFaultRule

Obsługuje wszystkie błędy (system, transport, przesyłanie wiadomości lub zasady), które nie są jawnie obsługiwane przez inną regułę błędu.

Patrz Obsługa błędów.

Nie dotyczy Nie
RouteRule Określa miejsce docelowe przychodzących wiadomości z żądaniami po przetworzeniu przez potok żądań ProxyEndpoint. Zwykle reguła trasy wskazuje na nazwaną konfigurację TargetEndpoint, ale może też wskazywać bezpośrednio adres URL.
Name Wymagany atrybut, który określa nazwę RouteRule. Dozwolone użycie w nazwie jest ograniczone do tych znaków: A-Za-z0-9._\-$ %. Na przykład Cat2 %_ to oficjalna nazwa. Nie dotyczy Tak
Condition Opcjonalna instrukcja warunkowa używana do dynamicznego routingu w czasie działania. Warunkowe reguły trasy przydają się na przykład do włączania routingu na podstawie treści w celu obsługi wersji backendu. Nie dotyczy Nie
TargetEndpoint

Opcjonalny ciąg znaków, który identyfikuje nazwaną konfigurację TargetEndpoint. Nazwany punkt końcowy to dowolny punkt docelowy zdefiniowany na tym samym serwerze proxy interfejsu API w katalogu /targets.

Nadając nazwę docelowy punkt końcowy, wskazujesz, dokąd mają być przekazywane wiadomości żądań po ich przetworzeniu przez potok żądań ProxyEndpoint. Pamiętaj, że jest to ustawienie opcjonalne.

ProxyEndpoint może bezpośrednio wywoływać adres URL. Na przykład zasób JavaScript lub Java, działając w roli klienta HTTP, może wykonywać podstawowe zadania punktu końcowego docelowego, czyli przekazywać żądania do usługi backendu.

Nie dotyczy Nie
URL Opcjonalny ciąg znaków definiujący wychodzący adres sieciowy wywoływany przez punkt końcowy serwera proxy, z pominięciem wszystkich konfiguracji docelowych punktów końcowych, które mogą być przechowywane w jednostce organizacyjnej /targets Nie dotyczy Nie

Jak skonfigurować reguły trasy

Nazwany punkt końcowy odnosi się do pliku konfiguracji w domenie /apiproxy/targets, do którego reguła trasy przekierowuje żądanie po przetworzeniu przez punkt końcowy.

Na przykład ta reguła trasy odnosi się do konfiguracji /apiproxy/targets/myTarget.xml:

<RouteRule name="default">
  <TargetEndpoint>myTarget</TargetEndpoint>
</RouteRule>

Wywoływanie bezpośredniego adresu URL

Punkt końcowy ProxyEndpoint może też wywoływać bezpośrednio usługę backendu. Wywołanie bezpośredniego adresu URL pomija każdą konfigurację o nazwie TargetEndpoints w /apiproxy/targets. Z tego powodu TargetEndpoint jest opcjonalną konfiguracją proxy interfejsu API, ale w praktyce nie jest zalecane bezpośrednie wywoływanie z tego punktu końcowego.

Na przykład poniższa reguła RouteRule wykonuje wywołanie HTTP http://api.mycompany.com/v2.

<RouteRule name="default">
  <URL>http://api.mycompany.com/v2</URL> 
</RouteRule>

Trasy warunkowe

Reguły tras można łączyć w łańcuchy, aby umożliwić obsługę routingu dynamicznego w czasie działania. Żądania przychodzące mogą być kierowane do nazwanych konfiguracji docelowych punktów końcowych, bezpośrednio do adresów URL lub do kombinacji tych parametrów na podstawie nagłówków HTTP, treści wiadomości, parametrów zapytania lub informacji kontekstowych, takich jak pora dnia, język itp.

Warunkowe reguły tras działają jak inne instrukcje warunkowe w Apigee Edge. Patrz: informacje o warunkach i informacje o zmiennych.

Na przykład ta kombinacja reguły trasy najpierw ocenia żądanie przychodzące w celu zweryfikowania wartości nagłówka HTTP. Jeśli nagłówek HTTP routeTo zawiera wartość TargetEndpoint1, żądanie jest przekazywane do docelowego punktu końcowego o nazwie TargetEndpoint1. Jeśli nie, żądanie przychodzące jest przekazywane do: http://api.mycompany.com/v2.

<RouteRule name="MyRoute">
  <Condition>request.header.routeTo = "TargetEndpoint1"</Condition>
  <TargetEndpoint>TargetEndpoint1</TargetEndpoint>
</RouteRule>
<RouteRule name="default">
  <URL>http://api.mycompany.com/v2</URL>
</RouteRule>

Trasy o wartości null

Można zdefiniować pustą regułę trasy, aby obsługiwać scenariusze, w których wiadomość żądania nie musi być przekazywana do docelowego punktu końcowego. Jest to przydatne, gdy ProxyEndpoint wykonuje wszystkie niezbędne operacje przetwarzania, na przykład używając JavaScriptu do wywołania usługi zewnętrznej lub pobierania danych z wyszukiwania do magazynu par klucz/wartość usług interfejsu API.

Na przykład tak wygląda trasa o wartości null:

<RouteRule name="GoNowhere"/>

Warunkowe trasy o wartości null mogą być przydatne. W poniższym przykładzie trasa o wartości null jest wykonywana, gdy nagłówek HTTP request.header.X-DoNothing ma wartość inną niż null.

<RouteRule name="DoNothingOnDemand">
  <Condition>request.header.X-DoNothing != null</Condition>
</RouteRule>

Pamiętaj, że reguły tras można wiązać łańcuchami, więc warunkowa trasa o wartości null jest zwykle jednym z komponentów zestawu reguł tras zaprojektowanych do obsługi routingu warunkowego.

Praktyczne użycie warunkowej trasy o wartości null ułatwiłoby buforowanie. Korzystając z wartości zmiennej ustawionej przez zasadę pamięci podręcznej, możesz skonfigurować serwer proxy interfejsu API, aby wykonywał trasę o wartości null, gdy wpis jest udostępniany z pamięci podręcznej.

<RouteRule name="DoNothingUnlessTheCacheIsStale">
  <Condition>lookupcache.LookupCache-1.cachehit is true</Condition>
</RouteRule>

TargetEndpoint

Wyświetla klienta wywołującego usługę HTTP. Zanim żądanie zostanie przetworzone przez usługę HTTP, żądanie przechodzi przez punkt końcowy serwera proxy, a następnie przez docelowy punkt końcowy. Zanim odpowiedź zostanie zwrócona do klienta, odpowiedź przechodzi przez punkt końcowy, a następnie przez punkt końcowy serwera proxy.

Docelowy punkt końcowy to wychodzący odpowiednik punktu końcowego serwera proxy. Docelowy punkt końcowy działa jako klient usługi backendu lub interfejsu API backendu – wysyła żądania i odbiera odpowiedzi.

Serwer proxy interfejsu API nie musi mieć żadnych punktów docelowych. Punkty końcowe serwera proxy można skonfigurować tak, aby bezpośrednio wywoływały adresy URL. Serwer proxy interfejsu API bez docelowych punktów końcowych zwykle zawiera punkt końcowy, który bezpośrednio wywołuje usługę backendu, albo skonfigurowany do wywoływania usług przy użyciu Javy lub JavaScriptu.

Konfiguracja docelowego punktu końcowego

/targets/default.xml

Element docelowy definiuje połączenie wychodzące z Apigee Edge do innej usługi lub zasobu.

Oto przykładowa konfiguracja punktu końcowego docelowego:

<TargetEndpoint name="default">
  <PreFlow/>
  <Flows/>
  <PostFlow/>
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <SSLInfo/>
  </HTTPTargetConnection>
  <FaultRules/>
  <DefaultFaultRule/>
  <ScriptTarget/>
  <LocalTargetConnection/>
</TargetEndpoint>

Elementy konfiguracji docelowego punktu końcowego

Element TargetEndpoint może wywołać element docelowy na jeden z tych sposobów:

  • HTTPTargetConnection na potrzeby wywołań HTTP(S)
  • LocalTargetConnection w przypadku łańcucha lokalnych serwerów proxy-proxy
  • ScriptTarget dla wywołań skryptu Node.js hostowanego w Edge

Skonfiguruj tylko 1 z tych elementów w docelowym punkcie końcowym.

Nazwa Opis Domyślnie Wymagana?
TargetEndpoint
name Nazwa punktu końcowego docelowego, która musi być unikalna w konfiguracji serwera proxy interfejsu API. Nazwa obiektu TargetEndPoint jest używana w regule trasy punktu końcowego serwera proxy do kierowania żądań do przetwarzania wychodzącego. Dozwolone użycie w nazwie jest ograniczone do tych znaków: A-Za-z0-9._\-$ %. Nie dotyczy Tak
PreFlow Definiuje zasady w przepływie przepływu wstępnego żądania lub odpowiedzi. Nie dotyczy Tak
Flows
Definiuje zasady w warunkowych przepływach żądań lub odpowiedzi.
Nie dotyczy Tak
PostFlow
Definiuje zasady w przepływie żądania lub odpowiedzi w PostFlow.
Nie dotyczy Tak
HTTPTargetConnection

Z elementami podrzędnymi określa zasięg zasobów backendu przez HTTP.

Jeśli używasz HTTPTargetConnection, nie konfiguruj innych typów połączeń docelowych (ScriptTarget lub LocalTargetConnection).

URL Określa adres sieciowy usługi backendu, do której docelowy punkt końcowy przekazuje wiadomości żądań. Nie dotyczy Nie
LoadBalancer

Definiuje co najmniej 1 konfigurację serwera docelowego o nazwie. Nazwanych konfiguracji serwera docelowego można używać do równoważenia obciążenia definiującego 2 lub więcej połączeń konfiguracji punktu końcowego.

Za pomocą serwerów docelowych możesz też odłączać konfiguracje serwera proxy interfejsu API od konkretnych adresów URL punktów końcowych usługi backendu.

Zobacz Równoważenie obciążenia między serwerami backendu.

Nie dotyczy Nie
Properties Zestaw opcjonalnych ustawień konfiguracji HTTP można zdefiniować jako właściwości <TargetEndpoint>. Nie dotyczy Nie
SSLInfo Opcjonalnie zdefiniuj ustawienia TLS/SSL w punkcie końcowym docelowym, aby kontrolować połączenie TLS/SSL między serwerem proxy interfejsu API a usługą docelową. Zobacz Konfiguracja punktu końcowego TLS/SSL. Nie dotyczy Nie
LocalTargetConnection Za pomocą elementów podrzędnych określa zasób, do którego można uzyskać dostęp lokalnie, z pominięciem parametrów sieci, takich jak równoważenie obciążenia i procesory wiadomości.

Aby określić zasób docelowy, dodaj element podrzędny APIProxy (z elementem ProxyEndpoint) lub element podrzędny Path.

Więcej informacji znajdziesz w artykule o łączeniu serwerów proxy interfejsu Chaining API.

Jeśli używasz elementu LocalTargetConnection, nie konfiguruj innych typów połączeń docelowych (HTTPTargetConnection ani ScriptTarget).

APIProxy Określa nazwę serwera proxy interfejsu API, który ma być miejscem docelowym żądań. Docelowy serwer proxy musi być w tej samej organizacji i środowisku co serwer proxy wysyłający żądania. Jest to alternatywa dla elementu Ścieżka. Nie dotyczy Nie
ProxyEndpoint Używane razem z interfejsem APIProxy do określania nazwy ProxyEndpoint docelowego serwera proxy. Nie dotyczy Nie
Path Określa ścieżkę punktu końcowego serwera proxy interfejsu API, który ma być miejscem docelowym żądań. Docelowy serwer proxy musi być w tej samej organizacji i środowisku co serwer proxy wysyłający żądania. Jest to alternatywa dla APIProxy. Nie dotyczy Nie
FaultRules
Określa sposób reakcji punktu końcowego na błąd. Reguła błędu określa 2 elementy:
  • Warunek, który określa błąd do przetworzenia na podstawie wstępnie zdefiniowanej kategorii, podkategorii lub nazwy błędu
  • Co najmniej 1 zasada, która określa zachowanie reguły błędu dla danego warunku

Patrz Obsługa błędów.

Nie dotyczy Nie
DefaultFaultRule

Obsługuje wszystkie błędy (system, transport, przesyłanie wiadomości lub zasady), które nie są jawnie obsługiwane przez inną regułę FaultRule.

Patrz Obsługa błędów.

Nie dotyczy Nie
ScriptTarget
ResourceURL

Określa typ zasobu (węzeł) i nazwę głównego skryptu Node.js, który implementuje funkcję TargetEndpoint.

<ResourceURL>node://server.js</ResourceURL>

Skrypt musi być dołączony do plików zasobów serwera proxy interfejsu API. Zapoznaj się z informacjami o dodawaniu Node.js do istniejącego serwera proxy interfejsu API.

Jeśli używasz obiektu ScriptTarget, nie konfiguruj innych typów połączeń docelowych (HTTPTargetConnection ani LocalTargetConnection).

Nie dotyczy Tak
EnvironmentVariable

Opcjonalnie przekaż zmienne środowiskowe do głównego skryptu Node.js.

Zapoznaj się z informacjami o obsłudze Edge dla modułów Node.js.

Nie dotyczy Nie
Arguments

Opcjonalnie przekaż argumenty do głównego skryptu Node.js.

Zapoznaj się z informacjami o obsłudze Edge dla modułów Node.js.

Nie dotyczy Nie

Konfiguracja punktu końcowego TLS/SSL

Punkty końcowe docelowe często muszą zarządzać połączeniami HTTPS za pomocą heterogennej infrastruktury backendu. Z tego powodu jest obsługiwanych kilka ustawień konfiguracji TLS/SSL.

Elementy konfiguracji punktu końcowego protokołu TLS/SSL

Nazwa Opis Domyślnie Wymagana?
SSLInfo
Enabled Wskazuje, czy w punkcie końcowym włączony jest protokół TLS/SSL. Wartość domyślna to true, jeśli <URL> określa protokół HTTPS, lub false, jeśli <URL> określa HTTP. true, jeśli <URL> określa HTTPS Nie
TrustStore Magazyn kluczy zawierający zaufane certyfikaty serwera. Nie dotyczy Nie
ClientAuthEnabled ustawienie umożliwiające włączenie uwierzytelniania klienta wychodzącego (dwukierunkowego TLS/SSL). false Nie
KeyStore Magazyn kluczy zawierający klucze prywatne używane do uwierzytelniania klienta wychodzącego Nie dotyczy Tak (jeśli parametr ClientAuthEnabled ma wartość Prawda)
KeyAlias Alias klucza prywatnego używanego do uwierzytelniania klienta wychodzącego Nie dotyczy Tak (jeśli parametr ClientAuthEnabled ma wartość Prawda)
Ciphers

Obsługiwane mechanizmy szyfrowania dla wychodzącego ruchu TLS/SSL. Jeśli nie podasz żadnych mechanizmów szyfrowania, wszystkie mechanizmy szyfrowania dostępne dla JVM będą dozwolone.

Aby ograniczyć mechanizmy szyfrowania, dodaj następujące elementy z listą obsługiwanych mechanizmów szyfrowania:

<Ciphers>
 <Cipher>TLS_RSA_WITH_3DES_EDE_CBC_SHA</Cipher>    
 <Cipher>TLS_RSA_WITH_DES_CBC_SHA</Cipher>
</Ciphers>
Nie dotyczy Nie
Protocols

Obsługiwane protokoły dla wychodzącego ruchu TLS/SSL. Jeśli nie podasz żadnych protokołów, dozwolone będą wszystkie protokoły dostępne dla JVM.

Aby ograniczyć protokoły, dodaj następujące elementy z listą obsługiwanych protokołów:

<Protocols>
 <Protocol>TLSv1.1</Protocol>
 <Protocol>TLSv1.2</Protocol>
</Protocols>
Nie dotyczy Nie
CommonName

Jeśli zostanie określona, jest weryfikowana pospolita nazwa certyfikatu docelowego. Ta wartość jest prawidłowa tylko w przypadku konfiguracji docelowego punktu końcowego i serwera docelowego. Nie jest prawidłowy w przypadku konfiguracji VirtualHost.

Domyślnie podana wartość jest dopasowywana dokładnie do wspólnej nazwy certyfikatu docelowego. Na przykład użycie *.myhost.com jako wartości dla <CommonName> spowoduje dopasowanie i zweryfikowanie docelowej nazwy hosta tylko wtedy, gdy dokładna wartość *.myhost.com jest określona jako wspólna nazwa w certyfikacie docelowym.

Opcjonalnie Apigee może dopasować dopasowanie z symbolami wieloznacznymi, korzystając z atrybutu wildcardMatch.

Na przykład wspólna nazwa określona w certyfikacie docelowym jako abc.myhost.com będzie dopasowywana i weryfikowana, jeśli element <CommonName> jest określony w ten sposób:

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

Nie dotyczy Nie

Przykładowy punkt końcowy z włączonym uwierzytelnianiem klienta wychodzącego

<TargetEndpoint name="default">
  <HttpTargetConnection>
        <URL>https://myservice.com</URL>
    <SSLInfo>
      <Enabled>true</Enabled>
      <ClientAuthEnabled>true</ClientAuthEnabled>
      <KeyStore>myKeystore</KeyStore>
      <KeyAlias>myKey</KeyAlias>
      <TrustStore>myTruststore</TrustStore>
    </SSLInfo>
  </HttpTargetConnection>
</TargetEndpoint>

Szczegółowe instrukcje znajdziesz w artykule Konfigurowanie protokołu TLS z brzegu do backendu (Cloud i Private Cloud).

Używanie zmiennych przepływu do dynamicznego ustawiania wartości TLS/SSL

Możesz też dynamicznie ustawiać szczegóły protokołu TLS/SSL, aby zapewnić obsługę elastycznych wymagań dotyczących środowiska wykonawczego. Jeśli na przykład serwer proxy łączy się z 2 potencjalnie różnymi celami (testowymi i produkcyjnymi), możesz skonfigurować serwer proxy interfejsu API tak, aby automatycznie wykrywał, które środowisko wywołuje, i dynamicznie ustawiał odwołania do odpowiedniego magazynu kluczy i magazynu zaufanych certyfikatów. Ten artykuł na stronie Apigee zawiera więcej informacji na ten temat oraz zawiera przykłady wdrożenia serwera proxy interfejsu API: https://community.apigee.com/articles/21424/dynamic-sslinfo-for-targetendpoint-using-variable.html.

W poniższym przykładzie ustawienia tagu <SSLInfo> w konfiguracji docelowego punktu końcowego można podać wartości w czasie działania, np. za pomocą objaśnienia w Javie, zasady JavaScript lub zasady Przypisz wiadomość. Użyj zmiennych wiadomości, które zawierają wartości, które chcesz ustawić.

Zmienne są dozwolone tylko w następujących elementach.

<SSLInfo>
    <Enabled>{myvars.ssl.enabled}</Enabled>
    <ClientAuthEnabled>{myvars.ssl.client.auth.enabled}</ClientAuthEnabled>
    <KeyStore>{myvars.ssl.keystore}</KeyStore>
    <KeyAlias>{myvars.ssl.keyAlias}</KeyAlias>
    <TrustStore>{myvars.ssl.trustStore}</TrustStore>
</SSLInfo>

Używanie odwołań do dynamicznego ustawiania wartości TLS/SSL

Konfigurując punkt końcowy, który korzysta z protokołu HTTPS, musisz wziąć pod uwagę okoliczności związane z wygaśnięciem certyfikatu TLS/SSL lub zmianami w konfiguracji systemu, które będą wymagały zaktualizowania certyfikatu. W przypadku instalacji Edge dla Private Cloud, w przypadku konfigurowania protokołu TLS/SSL przy użyciu wartości statycznych lub zmiennych przepływu, istnieje ryzyko, że będzie trzeba ponownie uruchomić procesory wiadomości.

Więcej informacji znajdziesz w artykule Aktualizowanie certyfikatu TLS.

Możesz jednak opcjonalnie skonfigurować obiekt TargetEndpoint w taki sposób, aby używał odwołania do magazynu kluczy lub magazynu zaufanych certyfikatów. Zaletą korzystania z referencji jest to, że możesz zaktualizować odwołanie, tak aby wskazywały inny magazyn kluczy lub magazyn zaufania, co pozwoli zaktualizować certyfikat TLS/SSL bez konieczności ponownego uruchamiania procesorów wiadomości.

Poniżej znajduje się przykład punktu końcowego docelowego, który korzysta z odwołania do magazynu kluczy:

<SSLInfo> 
    <Enabled>true</Enabled> 
    <ClientAuthEnabled>false</ClientAuthEnabled> 
    <KeyStore>ref://keystoreref</KeyStore> 
    <KeyAlias>myKeyAlias</KeyAlias> 
</SSLInfo>

Aby utworzyć referencję o nazwie keystoreref, użyj tego wywołania interfejsu POST API:

curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
-d '<ResourceReference name="keystoreref">
    <Refers>myTestKeystore</Refers>
    <ResourceType>KeyStore</ResourceType>
</ResourceReference>' -u email:password

Odwołanie określa nazwę magazynu kluczy i jego typ.

Aby wyświetlić odniesienie, użyj tego wywołania interfejsu GET API:

curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/keystoreref -u uname:password

Aby później zmienić odwołanie, tak aby wskazywały inny magazyn kluczy, i upewnić się, że alias ma taką samą nazwę, użyj tego wywołania PUT:

curl -X PUT -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references/keystoreref \
-d '<ResourceReference name="keystoreref">
    <Refers>myNewKeystore</Refers>
    <ResourceType>KeyStore</ResourceType>
</ResourceReference>' -u email:password

Punkt końcowy z docelowym równoważeniem obciążenia

TargetEndpoints obsługują równoważenie obciążenia na wielu nazwanych serwerach docelowych z użyciem 3 algorytmów równoważenia obciążenia.

Szczegółowe instrukcje znajdziesz w artykule Równoważenie obciążenia między serwerami backendu.

Zasady

Katalog /policies na serwerze proxy interfejsu API zawiera wszystkie zasady, które można podłączyć do przepływów na serwerze proxy interfejsu API.

Elementy konfiguracji zasad

Nazwa Opis Domyślnie Wymagana?
Policy
name

Wewnętrzna nazwa zasady. Znaki, których możesz używać w nazwie, są ograniczone do: A-Za-z0-9._\-$ %. Interfejs zarządzania brzegiem urządzeń wymusza jednak dodatkowe ograniczenia, takie jak automatyczne usuwanie znaków niealfanumerycznych.

Opcjonalnie możesz użyć elementu <DisplayName>, aby oznaczyć zasadę w edytorze serwera proxy interfejsu zarządzania inną nazwą w języku naturalnym.

Nie dotyczy Tak
enabled

Ustaw jako true, aby wymusić stosowanie tej zasady.

Ustaw wartość false, aby „wyłączyć” zasadę. Zasada nie będzie egzekwowana, nawet jeśli pozostanie dołączona do przepływu.

prawda Nie
continueOnError

Ustaw jako false, aby w razie niepowodzenia zasady zwracał błąd. Jest to normalne działanie w przypadku większości zasad.

Ustaw wartość true, aby umożliwić kontynuowanie wykonywania przepływu nawet po awarii zasady.

false Nie
async

Uwaga: ten atrybut nie powoduje asynchronicznego wykonywania zasady. W większości przypadków pozostaw wartość domyślną false.

Gdy ma wartość true, wykonanie zasady jest przeładowywane do innego wątku, a wątek główny pozostawia swobodny w obsłudze dodatkowych żądań. Po zakończeniu przetwarzania offline wątek główny wraca i kończy obsługę przepływu wiadomości. W niektórych przypadkach ustawienie asynchronicznego serwera proxy true poprawia wydajność serwera proxy interfejsu API. Nadmierne używanie asynchronicznej obsługi może jednak obniżyć wydajność ze względu na zbyt częste przełączanie wątków.

Aby korzystać z działania asynchronicznego w serwerach proxy interfejsu API, zapoznaj się z sekcją Obiektowy model JavaScriptu.

false Nie

Załącznik do zasad

Poniższy obraz przedstawia sekwencję wykonywania przepływów przez serwer proxy interfejsu API:

pokazuje klienta wywołującego usługę HTTP. Żądanie napotka punkty ProxyEndpoint i TargetEndpoint, z których każdy zawiera kroki aktywujące zasady. Gdy usługa HTTP zwraca odpowiedź, przed zwróceniem odpowiedzi do klienta jest ona przetwarzana przez docelowy punkt końcowy, a następnie przez ProxyEndpoing. Tak jak w przypadku żądania, odpowiedź jest przetwarzana przez zasady w kolejnych krokach.

Jak pokazano powyżej:

Zasady są dołączone do przepływów jako kroki przetwarzania. Nazwa zasady służy do odwoływania się do zasady, która ma być egzekwowana jako etap przetwarzania. Załącznik zasad ma następujący format:

<Step><Name>MyPolicy</Name></Step>

Zasady są egzekwowane w kolejności, w jakiej zostały dołączone do przepływu. Na przykład:

<Step><Name>FirstPolicy</Name></Step>
<Step><Name>SecondPolicy</Name></Step>

Elementy konfiguracji załączników do zasad

Nazwa Opis Domyślnie Wymagana?
Step
Name Nazwa zasady do wykonania według tej definicji kroku. Nie dotyczy Tak
Condition Instrukcja warunkowa określająca, czy zasada jest egzekwowana. Jeśli z zasadą powiązany jest powiązany warunek, jest ona wykonywana tylko wtedy, gdy instrukcja warunkowa przyniesie wartość prawda. Nie dotyczy Nie

Przepływy

ProxyEndpoint i TargetEndpoint określają potok do przetwarzania żądań i odpowiedzi. Potok przetwarzania składa się z przepływu żądań i przepływu odpowiedzi. Każdy przepływ żądań i odpowiedzi jest podzielony na przepływ wstępny, jeden lub więcej opcjonalnych przepływów „warunkowych” lub „nazwanych” oraz PostFlow.

  • PreFlow: zawsze jest wykonywany. Wykonywane przed innymi przepływami warunkowymi.
  • PostFlow: zawsze wykonywany. Wykonywane po wszystkich przepływach warunkowych.

Możesz też dodać obiekt PostClientFlow do obiektu ProxyEndpoint, który jest wykonywany po zwróceniu odpowiedzi do żądającej aplikacji klienckiej. Do tego procesu można dołączyć tylko zasadę MessageLogging i rozszerzenie Google Stackdriver Logging. PostClientFlow skraca czas oczekiwania na serwer proxy API i udostępnia do logowania informacje, które są obliczane dopiero po zwróceniu odpowiedzi do klienta, takie jak client.sent.start.timestamp i client.sent.end.timestamp.Przepływ ten służy przede wszystkim do pomiaru odstępu czasu między sygnaturami czasowymi rozpoczęcia i zakończenia wiadomości z odpowiedzią.

Obejrzyj krótki film instruktażowy

Film: obejrzyj ten krótki film o korzystaniu z usługi Message Logging w ramach PostClientFlow.

Oto przykład obiektu PostClientFlow z dołączoną zasadą logowania wiadomości.

    ...
    <PostFlow name="PostFlow">
        <Request/>
        <Response/>
    </PostFlow>
    <PostClientFlow>
        <Request/>
        <Response>
            <Step>
                <Name>Message-Logging-1</Name>
            </Step>
        </Response>
    </PostClientFlow>
    ...

Potok przetwarzania serwera proxy interfejsu API wykonuje przepływy w tej kolejności:

Potok żądań:

  1. Wstępny przepływ żądania serwera proxy
  2. Przepływy warunkowe żądań serwera proxy (opcjonalnie)
  3. PostFlow żądania serwera proxy
  4. Wstępny przepływ żądania docelowego
  5. Kierowanie na przepływy warunkowe żądań (opcjonalnie)
  6. Żądanie docelowe po przepływie

Potok odpowiedzi:

  1. Docelowy proces wstępny
  2. Przepływy warunkowe reakcji docelowej (opcjonalnie)
  3. Docelowa odpowiedź po przepływie
  4. Przepływ wstępny odpowiedzi serwera proxy
  5. Przepływy warunkowe odpowiedzi serwera proxy (opcjonalnie)
  6. Proxy Response PostFlow
  7. Odpowiedź PostClientFlow (opcjonalnie)

W konfiguracjach punktu końcowego lub docelowego punktu końcowego należy skonfigurować tylko przepływy z przyłączonymi zasadami. Funkcje PreFlow i PostFlow trzeba określić w konfiguracji ProxyEndpoint lub TargetEndpoint tylko wtedy, gdy zasada musi być egzekwowana podczas przetwarzania PreFlow lub PostFlow.

W przeciwieństwie do przepływów warunkowych kolejność elementów PreFlow i PostFlow nie jest ważna – serwer proxy interfejsu API zawsze wykonuje je w odpowiednim punkcie potoku, niezależnie od tego, gdzie pojawiają się w konfiguracji punktu końcowego.

Przepływy warunkowe

Punkty ProxyEndpoints i TargetEndpoints obsługują nieograniczoną liczbę przepływów warunkowych (nazywanych również „przepływami nazwanymi”).

Serwer proxy interfejsu API testuje warunek określony w procesie warunkowym. Jeśli warunek zostanie spełniony, kroki przetwarzania w procesie warunkowym są wykonywane przez serwer proxy interfejsu API. Jeśli warunek nie będzie spełniony, kroki przetwarzania w przepływie warunkowym będą pomijane. Przepływy warunkowe są oceniane w kolejności określonej na serwerze proxy interfejsu API. Przepływy warunkowe są oceniane w kolejności określonej na serwerze proxy interfejsu API. Przepływy warunkowe są oceniane w kolejności, w której zostanie spełniony pierwszy warunek.

Po zdefiniowaniu przepływów warunkowych możesz stosować kroki przetwarzania na serwerze proxy interfejsu API na podstawie:

  • Identyfikator URI żądania
  • Czasownik HTTP (GET/PUT/POST/DELETE)
  • Wartość parametru zapytania, nagłówka i formularza
  • Wiele innych typów warunków

Na przykład ten przepływ warunkowy określa, że jest wykonywany tylko wtedy, gdy ścieżka zasobu żądania to /accesstoken. Każde żądanie przychodzące ze ścieżką /accesstoken powoduje wykonanie tego przepływu wraz ze wszystkimi zasadami powiązanymi z przepływem. Jeśli ścieżka żądania nie zawiera sufiksu /accesstoken, przepływ nie zostanie wykonany (choć może inny przepływ warunkowy).

<Flows>
  <Flow name="TokenEndpoint">
    <Condition>proxy.pathsuffix MatchesPath "/accesstoken"</Condition>
    <Request>
      <Step>
        <Name>GenerateAccessToken</Name>
      </Step>
    </Request> 
  </Flow>
</Flows>   

Elementy konfiguracji przepływu

Nazwa Opis Domyślnie Wymagana?
Flow Potok przetwarzania żądań lub odpowiedzi zdefiniowany przez punkt końcowy lub docelowy punkt końcowy
Name Unikalna nazwa przepływu. Nie dotyczy Tak
Condition Instrukcja warunkowa oceniająca na podstawie lub większej liczbie zmiennych wartości prawda lub fałsz. Wszystkie przepływy inne niż wstępnie zdefiniowane typy PreFlow i PostFlow muszą określać warunek ich wykonania. Nie dotyczy Tak
Request Potok powiązany z przetwarzaniem wiadomości żądań Nie dotyczy Nie
Response Potok powiązany z przetwarzaniem wiadomości z odpowiedziami Nie dotyczy Nie

Przetwarzam krok

Apigee Edge egzekwuje sekwencyjną kolejność przepływów warunkowych. Przepływy warunkowe są wykonywane od góry do dołu. Pierwszy przepływ warunkowy, którego warunek przyjmuje wartość true, jest wykonywany i tylko jeden przepływ warunkowy jest wykonywany.

Na przykład w tej konfiguracji przepływu każde żądanie przychodzące, które nie zawiera sufiksu ścieżki /first ani /second, powoduje wykonanie polecenia ThirdFlow, wymuszając na nim zasadę Return404.

<Flows>
  <Flow name="FirstFlow">
    <Condition>proxy.pathsuffix MatchesPath "/first"</Condition>
    <Request>
      <Step><Name>FirstPolicy</Name></Step>
    </Request>
  </Flow>
  <Flow name="SecondFlow">
    <Condition>proxy.pathsuffix MatchesPath "/second"</Condition>
    <Request>
      <Step><Name>FirstPolicy</Name></Step>
      <Step><Name>SecondPolicy</Name></Step>
    </Request>
  </Flow>
  <Flow name="ThirdFlow">
    <Request>
      <Step><Name>Return404</Name></Step>
    </Request>
  </Flow>
</Flows>

Zasoby

„Zasoby” (pliki zasobów do użycia w serwerach proxy interfejsu API) to skrypty, kod i przekształcenia XSL, które można dołączyć do przepływów za pomocą zasad. Pojawią się one w sekcji „Skrypty” w edytorze proxy interfejsu API w interfejsie zarządzania.

Listę obsługiwanych typów zasobów znajdziesz w sekcji Pliki zasobów.

Zasoby mogą być przechowywane na serwerze proxy interfejsu API, środowisku lub organizacji. W każdym przypadku zasób ma w zasadzie przywołaną nazwę. Usługi interfejsu API interpretują nazwę, przechodząc z serwera proxy interfejsu API na środowisko na poziom organizacji.

Do zasobu zapisanego na poziomie organizacji mogą się odwoływać zasady w dowolnym środowisku. Do zasobu zapisanego na poziomie środowiska mogą się odwoływać zasady w tym środowisku. Do zasobu zapisanego na poziomie serwera proxy interfejsu API mogą się odwoływać tylko zasady na tym serwerze proxy interfejsu API.