Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
API proxy'sine istekte bulunduğunuzda aşağıdaki bilgilerin herhangi birini veya tümünü aktarabilirsiniz, API proxy'sinin yapılandırma yöntemine bağlı olarak:
- İstek başlıkları
- Sorgu parametreleri
- Form verileri
- XML veya JSON yükleri
- Kaynak URI'leri
Varsayılan olarak, bir istekteki tüm veriler ProxyEndpoint'ten TargetEndpoint. Bu nedenle, TargetEndpoint arka uç sunucusuna istekte bulunduğunda orijinal istekteki bilgiler arka uç hizmetine iletilir.
Aynı durum, Edge'in arka uç hizmetinden aldığı yanıt için de geçerlidir. Varsayılan olarak tümü yanıtta alınan veriler, orijinal videoyu oluşturan uygulamaya isteğinde bulunabilirsiniz.
İstek verileri arka uca nasıl iletilir? nasıl?
Aşağıdaki resimde bir API proxy'si tanımı gösterilmektedir:
Bu API proxy'si için:
- API proxy sanal ana makinesi: "varsayılan"
- Sanal ana makine tarafından tanımlanan alan adı: "http://myOrg-prod.Apigee.net"
- Proxy temel yolu: "/v1/weather"
- Rota kuralı tarafından belirtilen hedef uç nokta: "varsayılan"
- Hedef URL: "http://weather.yahooapis.com"
Bir istemci uygulaması, aşağıdaki komutu kullanarak API proxy'sine GET
isteğinde bulunur
curl
komutu:
curl -X GET http://myOrg-prod.apigee.net/v1/weather/forecastrss?w=12797282
Bu isteğin "forecastrss" kaynağını içerdiğine dikkat edin. ve bir sorgu parametresinden
w
Edge, isteği
ve isteğin bazı bölümlerini akış değişkenlerine atar:
{request.verb} {proxy.basepath}/{proxy.pathsuffix}?{request.querystring}
Akış değişkenleri aşağıdaki değerlerle ayarlanır:
request.verb
: "AL"proxy.basepath
: "/v1/hava durumu"proxy.pathsuffix
: "tahminciler"request.querystring
: "w=12797282"
Daha sonra TargetEndpoint istek:
{request.verb} {target.basepath}/{proxy.pathsuffix}?{request.querystring}
İstekte belirtilen kaynak ve sorgu parametrelerinin nasıl otomatik olarak dahil edildiğine dikkat edin arka uç sunucusuna yapılan istekte bulunur. TargetEndpoint tanımına göre istek, şu biçimdedir:
curl -X GET http://weather.yahooapis.com/forecastrss?w=12797282
Sorgu parametreleri gibi, API'ye yapılan isteğe eklediğiniz tüm başlıklar veya form parametreleri de arka uç sunucusuna aktarılır. Örneğin, Yeşil Ofis web sitesinde üstbilgi:
curl -X GET -H 'Content-type:application/xml' http://myOrg-prod.apigee.net/v1/weather/forecastrss?w=12797282
Veya aşağıdaki formda başlık ve form verisi ekleme isteği:
curl -X POST -H "Content-type:application/json" -d \ '{"email" : "janetutorialxml@example.com", "firstName" : "Jane", "lastName" : "Tutorial", "userName" : "jtutorialxml" }' \ http://myOrg-prod.apigee.net/v1/register/user
Her iki örnekte de başlıklar ve form verileri arka uç hizmetine değiştirilmeden aktarılır. İlgili içeriği oluşturmak için kullanılan
başlıklar, request.headers.count
ve
request.headers.names
. Form verileri, şunun gibi akış değişkenleriyle temsil edilir:
request.formparam.count
ve request.formparam.names
.
Yanıt verileri nasıl döndürülür?
Varsayılan olarak, yanıtta arka uç hizmetinden Edge'in aldığı tüm veriler iletilir isteğin kaynağı olan uygulamayla aynıdır. Yukarıda taleple ilgili açıklandığı gibi, veriler döndürülen söz konusu akış değişkenleri Edge'deki akış değişkenleri üzerinden erişilebilir. Daha fazla bilgi için Akış değişkenleri referansı başlıklı makaleyi inceleyin.
İstek ve yanıt verilerine şuradan eriş: bir API proxy'si
İstek verilerini arka uca göndermeden önce birçok kez değiştirmek isteyebilirsiniz sunucu. Örneğin:
- Edge'in istekleri doğrulamak için kullandığı güvenlik bilgilerini kaldırmak. Bu bilgiler arka uç hizmetinin gerektirdiği şekilde yapılır.
- Arka uç hizmetine gönderilen verileri eklemek (ör. kullanıcıları izlemek veya veri toplamak için) Analytics'ten ulaşabilirsiniz.
- İsteği, istek verilerine göre koşullu olarak işlemek için. Örneğin bir API proxy'si, birden fazla TargetEndpoint'iniz var. İstek tarafından kullanılan TargetEndpoint, istek tarafından belirlenir dışı verilerdir. Daha sonra arka uç hizmetine göndermeden önce bu verileri istekten çıkarırsınız.
Aynı durum yanıttaki veriler için de geçerlidir. Yanıtın işlenmesi kapsamında API proxy'si, istekte bulunan uygulamaya döndürmeden önce verileri değiştirmek isteyebilir.
Erişim isteği mesajları
Politikaları kullanarak istek mesajının bazı bölümlerine erişebilir ve bunları değiştirebilirsiniz. Bu bölümler şunlardır:
- Üst bilgiler
- Sorgu parametreleri
- Form parametreleri
- Kaynak IP adresi
- HTTP mesaj gövdesi
Normal bir akışta, istek işlendikten sonra proxy, daha sonra isteği hedefe iletir.
Politikalar, istek değişkenlerini inceleyebilir, ardından içeriğine göre belirleniyor. Politikalar, uygun değişkenleri ayarlayarak isteği dönüştürür. istek başlıklarına karşılık gelen değişkenler örneğidir.
Yanıt mesajlarına erişme
Politikalar, yanıt mesajı için geçerli olan değişkenleri kullanarak mesaj bileşenlerine erişebilir Buna üstbilgi, sorgu parametreleri, form parametreleri, kaynak IP adresi, HTTP ileti gövdesi ve benzeri öğeler yer alır.
Proxy bir yanıt mesajı alır, sonra da buna göre bir dizi politika yanıtta değerlendirilen ve yanıtı değiştirebilen veya dönüştürebilen koşullar.
Politikalar, yanıt değişkenlerini inceleyebilir, ardından isteğe bağlı olarak içeriğine göre belirleniyor. Politikalar, uygun değişkenleri ayarlayarak yanıtı dönüştürür, Örneğin, yanıt başlıklarına karşılık gelen değişkenler.
Akış değişkenlerine erişim için yaygın politikalar
Edge, istek ve yanıt verilerini işlemek için kullanabileceğiniz çeşitli politikalar tanımlar. Bu politikalar şunları içerir:
- AssignmentMessage politikası: API proxy'si sırasında HTTP isteği veya yanıt mesajları oluşturur ya da değiştirir akışı sağlar. Ayrıca yeni akış değişkenlerini oluşturur ve doldurur.
- ExtractDeğişkenler politikası: Üstbilgiler, URI yolları, yük ve iletiler de dahil olmak üzere iletilerden sorgu parametreleridir. Ardından politika, bir eşleşme bulduğunda özel bir değişken ayarlar.
- JSONtoXML politikası ve XMLtoJSON politikası: İletileri JavaScript Object Notation'dan (JSON) genişletilebilir işaretleme diline dönüştürür (XML) biçimindedir (XML) biçiminde de olabilir veya bunun tersi de geçerlidir.
- JavaAçıklama politikası, JavaScript politikası, PythonScript politikası, NormalExpressionProtection politikası: Bu politikalar, akış değişkenlerine erişmek için komut dosyası yazmanıza olanak tanır. verilerini içerir.