Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Eine Route bestimmt den Pfad einer Anfrage von ProxyEndpoint
zu TargetEndpoint
. In dieser Route ist die URL enthalten, die für den Zugriff auf die API ProxyEndpoint
verwendet wird und den Zugriff auf die URL des Back-End-Dienstes, der durch TargetEndpoint
definiert wird.
In diesem Video erhalten Sie eine Einführung in Routen mit einer Beschreibung der Beziehung zwischen ProxyEndpoint
und TargetEndpoint
.
Die URL des API-Proxy-Endpunkts bestimmen.
Die folgende Abbildung zeigt eine Anfrage, die von einer Anwendung an den ProxyEndpoint
kommt und an den Back-End-Dienst weitergeleitet wird:
Nachdem Sie einen API-Proxy in Apigee erstellt haben, verwendet die Standard-URL, die eine Anwendung für den Zugriff auf den Proxy verwendet, das folgende Format:
https://www.example.com/shopping/cart/addItem |_____________| |___________| |_____| | | | hostname basepath resource
Dabei gilt:
- Bei dem Hostnamen handelt es sich entweder um eine Domain, die Sie zu DNS hinzugefügt haben, oder um eine IP-Adresse.
- Der Basispfad und der Ressourcenpfad werden beim Erstellen des API-Proxys definiert.
Wenn eine Anfrage bei Apigee eingeht, parst Apigee die URL, um die Anfrage an die richtige ProxyEndpoint
weiterzuleiten. Zum Beispiel wird die folgende URL für den Zugriff auf einen API-Proxy verwendet:
http://example.com/v1/weather/forecastrss
Wenn Sie die Definition ProxyEndpoint
für den API-Proxy in der obigen Abbildung überprüfen, können Sie sehen, wie diese URL geparst wird:
- Der Domainteil der URL
http://example.com
entspricht einem Hostnamen, der in einer Umgebungsgruppe definiert ist. Der Proxy wurde in einer oder mehreren Umgebungen innerhalb dieser Umgebungsgruppe bereitgestellt. Weitere Informationen finden Sie unter Umgebungen und Umgebungsgruppen. - Der zweite Teil der URL,
/v1/weather
, wird durch das<BasePath>
-Element inProxyEndpoint
bestimmt. Sie haben den Basispfad beim Erstellen des Proxys festgelegt. Der Basispfad muss für den API-Proxy eindeutig sein, damit zwei API-Proxys in derselben Umgebung nicht denselben Basispfad haben. - Der dritte Teil der URL
/forecastrss
ist eine Ressource, die vom API-Proxy definiert wird und den entsprechenden durch das Element<Flows>
definierten bedingten Ablauf enthält.
Video: Schauen Sie sich ein kurzes Video an, um mehr über die API-Proxy-Endpunkte zu erfahren.
URL des Zielendpunkts ermitteln
Das <RouteRule>
-Element in einer ProxyEndpoint
-Definition bestimmt das Ziel des API-Proxys und wird nach der Auswertung aller Richtlinien in den PreFlow-, Conditional Flows und PostFlow der ProxyEndpoint
-Anfrage verarbeitet:
Ein ProxyEndpoint
kann das Ziel so definieren:
- Eine direkte URL zu einem Back-End-Dienst.
- Eine einzelne
TargetEndpoint
-Definition. - Mehrere
TargetEndpoint
s, bei denen der API-Proxy die Anfrage anhand einer Bedingung an einen Zielendpunkt delegiert. - Nullroute oder kein Ziel, d. h., die Anfrage wird nicht an ein Ziel weitergeleitet. Stattdessen findet die gesamte Verarbeitung der Anfrage und die Generierung der Antwort bei Apigee statt.
Video: In diesem kurzen Video erfahren Sie mehr über Zielendpunkte.
Direkte URL
Ein ProxyEndpoint
kann einen Back-End-Dienst direkt aufrufen und jede benannte TargetEndpoint
-Konfiguration umgehen. Die folgende <RouteRule>
führt beispielsweise einen HTTP-Aufruf an http://example.com/myAPI:
aus.
<RouteRule name="default"> <URL>http://example.com/myAPI</URL> </RouteRule>
Da es jedoch keine TargetEndpoint
gibt, können Sie Richtlinien nur zu den in ProxyEndpoint
definierten Abläufen hinzufügen.
Einzelnes Ziel
In einer einzelnen Zieldefinition verweist ProxyEndpoint
auf eine einzelne TargetEndpoint
-Definition, wie in der Abbildung oben dargestellt:
<RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule>
Alle Anfragen an diesen API-Proxy werden an dieselbe TargetEndpoint
-Definition weitergeleitet. Das Tag <URL>
in TargetEndpoint
legt den Standort des Back-End-Dienstes fest. In der Abbildung oben lautet die Ziel-URL http://weather.yahooapis.com
.
Bedingte Ziele
Mit dem Tag <RouteRule>
können Sie eine Anfrage basierend auf einer Bedingung an ein Ziel weiterleiten. Sie können Ablaufvariablen, Abfrageparameter, HTTP-Header, Nachrichteninhalt oder Kontextinformationen wie Tageszeit und Sprache verwenden, um den Zielendpunkt zu ermitteln. Zum Beispiel können Sie einen geografischen Bereich, z. B. "US" und "UK", in eine Anfrage-URL aufnehmen. Anschließend können Sie eine Anfrage basierend auf der Region an einen Zielendpunkt weiterleiten.
Mit der folgenden Routingregel wird ein HTTP-Header in einer Anfrage ausgewertet. Wenn der HTTP-Header routeTo
den Wert TargetEndpoint1
hat, wird die Anfrage an den TargetEndpoint
mit dem Namen TargetEndpoint1
weitergeleitet. Ist dies nicht der Fall, wird die eingehende Anfrage an TargetEndpoint2
weitergeleitet.
<RouteRule name="MyRoute"> <Condition>request.header.routeTo = "TargetEndpoint1"</Condition> <TargetEndpoint>TargetEndpoint1</TargetEndpoint> </RouteRule> <RouteRule name="default"> <TargetEndpoint>TargetEndpoint2</TargetEndpoint> </RouteRule>
Wenn Sie mehrere Routingregeln haben, erstellen Sie eine als Standard, d. h. eine Routingregel ohne Bedingung. Achten Sie darauf, dass die Standard-Routingregel als letzte in der Liste der bedingten Routen definiert ist, da die Regeln im ProxyEndpoint
von oben nach unten ausgewertet werden.
Siehe auch Bedingte Routen und Referenz für Bedingungen.
Video: In diesem kurzen Video erfahren Sie, wie Sie mithilfe von bedingten Zielen eine Weiterleitung an einen Zielendpunkt vornehmen.
Nullroute
Eine Nullroute unterstützt Szenarien, bei denen die Anfragenachricht nicht an ein TargetEndpoint
weitergeleitet werden muss. Dies ist nützlich, wenn ProxyEndpoint
die gesamte erforderliche Verarbeitung ausführt, beispielsweise JavaScript zum Aufrufen eines externen Dienstes verwendet.
Im folgenden Beispiel wird eine Nullroute definiert:
<RouteRule name="GoNowhere"/>
Weitere Informationen
- Referenz zur API-Proxy-Konfiguration
- Referenz für Endpunktattribute
- Load-Balancing über Back-End-Server