Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Rota, bir isteğin ProxyEndpoint'ten TargetEndpoint'e giden yolunu belirler. Rota, API ProxyEndpoint'e erişmek için kullanılan URL'yi ve TargetEndpoint tarafından tanımlanan arka uç hizmetinin URL'sini içerir.
ProxyEndpoint ile TargetEndpoint arasındaki ilişkiyi açıklayan rotalar hakkında bilgi edinmek için bu videoyu izleyin.
API proxy'si uç noktasının URL'sini belirleme
Aşağıdaki resimde, bir uygulamadan ProxyEndpoint'e gelen ve arka uç hizmetine yönlendirilen bir istek gösterilmektedir:

Edge'de bir API proxy'si oluşturduktan sonra, bir uygulamanın proxy'ye erişmek için kullandığı varsayılan URL şu biçimdedir:
http://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}
https://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}Bu örnekte:
- {org-name}, kuruluşunuzun adıdır. Bu ad, Edge'de hesap oluşturduğunuzda oluşturulur.
- {env-name}, Edge ortamının adıdır. Varsayılan olarak, bulutta oluşturulan tüm Apigee kuruluşları iki ortamla sağlanır: "test" ve "prod". API proxy'si dağıtırken bir veya her iki ortama da dağıtmayı seçebilirsiniz.
- {base-path} ve {resource-path}, API proxy'sini oluşturduğunuzda tanımlanır.
Edge'e bir istek geldiğinde Edge, isteği doğru ProxyEndpoint'e yönlendirmek için URL'yi ayrıştırır. Örneğin, Edge'de bir API proxy'sine erişmek için aşağıdaki URL kullanılır:
http://myOrg-prod.apigee.net/v1/weather/forecastrss
Yukarıdaki şekilde API proxy'sinin ProxyEndpoint tanımını incelerseniz bu URL'nin Edge tarafından nasıl ayrıştırıldığını görebilirsiniz:
- http://myOrg-prod.apigee.net URL'sinin alan adı kısmı, Edge'deki bir sanal ana makineye karşılık gelir. Yukarıdaki ProxyEndpoint tanımında, API proxy'si <VirtualHost> etiketini kullanarak default adlı bir sanal ana makineye referans veriyor. Ortamınızda birden fazla sanal ana makine tanımlayabilirsiniz.
Sanal ana makine, bir API proxy'sinin kullanıma sunulduğu alanları ve bağlantı noktalarını tanımlar. Sanal ana makine, API proxy'sine HTTP protokolü kullanılarak mı yoksa şifrelenmiş HTTPS protokolü kullanılarak mı erişileceğini de tanımlar. Sanal ana makineler hakkında ayrıntılı bilgi için Sanal ana makineler hakkında (Beta) başlıklı makaleyi inceleyin. - URL'nin ikinci kısmı olan /v1/weather, ProxyEndpoint'teki <BasePath> öğesi tarafından belirlenir. İki API proxy'sinin aynı temel yola sahip olmaması için temel yol, ortamdaki API proxy'si için benzersiz olmalıdır.
- URL'nin üçüncü kısmı olan /forecastrss, <Flows> etiketiyle tanımlanan ilgili Koşullu Akış ile API proxy'si tarafından tanımlanan bir kaynaktır.
Video: API proxy uç noktaları hakkında daha fazla bilgi edinmek için kısa bir video izleyin.
Hedef uç noktanın URL'sini belirleme
ProxyEndpoint tanımındaki <RouteRule> etiketi, API proxy'sinin hedefini belirler ve ProxyEndpoint isteğinin PreFlow, Conditional Flows ve PostFlow'daki tüm politikalar işlendikten sonra değerlendirilir.
ProxyEndpoint, hedefi şu şekilde tanımlayabilir:
- Bir arka uç hizmetine doğrudan URL.
- Tek bir TargetEndpoint tanımı.
- API proxy'sinin isteği bir koşula göre hedef uç noktaya yönlendirdiği birden fazla TargetEndpoint.
- İsteğin bir hedefe yönlendirilmediği anlamına gelen boş rota veya hedef. Bunun yerine, isteğin işlenmesi ve yanıtın oluşturulması Edge'de gerçekleşir.
Video: Hedef uç noktalar hakkında daha fazla bilgi edinmek için kısa bir video izleyin.
Doğrudan URL
ProxyEndpoint, adlandırılmış TargetEndpoint yapılandırmasını atlayarak doğrudan bir arka uç hizmetini çağırabilir. Örneğin, aşağıdaki <RouteRule> her zaman http://api.mycompany.com/myAPI: adresine bir HTTP çağrısı yapar:
<RouteRule name="default"> <URL>http://api.mycompany.com/myAPI</URL> </RouteRule>
Ancak TargetEndpoint olmadığından yalnızca ProxyEndpoint tarafından tanımlanan akışlara politika ekleyebilirsiniz.
Tek hedef
Tek bir hedef tanımında, ProxyEndpoint yukarıdaki şekilde gösterildiği gibi ada göre tek bir TargetEndpoint tanımına referans verir:
<RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule>
Bu API proxy'sine yapılan tüm istekler aynı TargetEndpoint tanımına yönlendirilir. Hedef uç noktasındaki <URL> etiketi, arka uç hizmetinin konumunu belirler. Yukarıdaki şekilde hedef URL http://weather.yahooapis.com'dur.
Koşullu hedefler
<RouteRule> etiketi, bir isteği koşula göre bir hedefe yönlendirmenize olanak tanır. Hedef uç noktayı belirlemek için akış değişkenlerini, sorgu parametrelerini, HTTP başlıklarını, mesaj içeriğini veya günün saati ve yerel ayar gibi bağlamsal bilgileri kullanabilirsiniz. Örneğin, bir istek URL'sine ABD ve Birleşik Krallık gibi bir coğrafi alan ekleyebilirsiniz. Ardından, isteği bölgeye göre hedef uç noktaya yönlendirebilirsiniz.
Aşağıdaki rota kuralı, bir istekteki HTTP üstbilgisini değerlendirir. HTTP başlığı routeTo değeri TargetEndpoint1 ise istek, TargetEndpoint1 adlı TargetEndpoint'e yönlendirilir. Aksi takdirde istek TargetEndpoint2'ye yönlendirilir.
<RouteRule name="MyRoute"> <Condition>request.header.routeTo = "TargetEndpoint1"</Condition> <TargetEndpoint>TargetEndpoint1</TargetEndpoint> </RouteRule> <RouteRule name="default"> <TargetEndpoint>TargetEndpoint2</TargetEndpoint> </RouteRule>
Birden fazla rota kuralınız varsa birini "varsayılan" olarak, yani koşul içermeyen bir rota kuralı olarak oluşturun. Kurallar ProxyEndpoint'te yukarıdan aşağıya doğru değerlendirildiğinden, koşullu rotalar listesinde varsayılan rota kuralının en son tanımlandığından emin olun.
Ayrıca Koşullu rotalar ve Koşullar referansı başlıklı makaleleri de inceleyin.
Video: Koşullu hedefleri kullanarak hedef uç noktaya nasıl yönlendirme yapacağınızı öğrenmek için kısa bir video izleyin.
Boş rota
Boş rota, istek mesajının bir TargetEndpoint'e yönlendirilmesinin gerekmediği senaryoları destekler. Bu, ProxyEndpoint gerekli tüm işlemleri gerçekleştirdiğinde (ör. harici bir hizmeti çağırmak için JavaScript kullanarak) kullanışlıdır.
Aşağıdaki örnekte bir boş rota tanımlanmaktadır:
<RouteRule name="GoNowhere"/>