İstek ve yanıt değişkenleri

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:

HTTP hizmetine ulaşmak için Proxy Uç Noktasından Hedef Uç Noktasına geçen HTTP istemci isteği. Proxy uç noktası ve hedef uç nokta örnekleri sağlanmıştır.

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"
ziyaret edin.

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: