Aracılığıyla paylaş


Forward request

UYGULANANLAR: Tüm API Management katmanları

İlke, forward-request gelen isteği istek bağlamında belirtilen arka uç hizmetine iletir. Arka uç hizmeti URL'si API ayarlarında belirtilir ve arka uç hizmet ilkesini ayarla kullanılarak değiştirilebilir.

Important

  • Bu ilke, istekleri bir API arka ucuna iletmek için gereklidir. Varsayılan olarak, API Management bu ilkeyi genel kapsamda ayarlar.
  • Bu ilkenin kaldırılması isteğin arka uç hizmetine iletilmemesiyle sonuçlanır. Giden bölümündeki ilkeler, gelen bölümündeki ilkelerin başarıyla tamamlanmasının hemen ardından değerlendirilir.

Note

İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

Policy statement

<forward-request http-version="1 | 2or1 | 2" timeout="time in seconds (alternatively, use timeout-ms)" | timeout-ms="time in milliseconds (alternatively, use timeout)" continue-timeout="time in seconds" follow-redirects="false | true" buffer-request-body="false | true" buffer-response="true | false" fail-on-error-status-code="false | true"/>

Attributes

Attribute Description Required Default
timeout Zaman aşımı hatası oluşmadan önce http yanıt üst bilgilerinin arka uç hizmeti tarafından döndürülmesini beklemek için saniye cinsinden süre. En düşük değer 0 saniyedir. Temel alınan ağ altyapısı bu süreden sonra boştaki bağlantıları bırakabileceğinden, 240 saniyeden büyük değerler dikkate alınmayabilir. İlke ifadelerine izin verilir. Her ikisini de timeout belirtebilirsiniz, timeout-ms ancak belirtemezsiniz. No 300
timeout-ms Zaman aşımı hatası oluşmadan önce http yanıt üst bilgilerinin arka uç hizmeti tarafından döndürülmesini beklemek için milisaniye cinsinden süre. En düşük değer 0 ms'dir. İlke ifadelerine izin verilir. Her ikisini de timeout belirtebilirsiniz, timeout-ms ancak belirtemezsiniz. No N/A
continue-timeout Zaman aşımı hatası oluşmadan önce arka uç hizmeti tarafından bir 100 Continue durum kodunun döndürülmesini beklemek için saniye cinsinden süre. İlke ifadelerine izin verilir. No N/A
http-version HTTP isteğini arka uç hizmetine gönderirken kullanılacak HTTP protokolü sürümü:
- 1: HTTP/1
- 2: HTTP/2
- 2or1: Ağ geçidi HTTP/1 yerine HTTP/2'yi tercih eder, ancak HTTP/2 çalışmazsa HTTP/1'e geri döner.

HTTP/2 giden, belirli ağ geçitlerinde desteklenir. Ayrıntılar için bkz . Kullanım notları .
No 1
follow-redirects Arka uç hizmetinden gelen yeniden yönlendirmelerin ardından ağ geçidinin mi yoksa çağıranın mı döndürülmeyeceğini belirtir. İlke ifadelerine izin verilir. No false
buffer-request-body olarak trueayarlandığında istek arabelleğe alınır ve yeniden denendiğinde yeniden kullanılır. No false
buffer-response Öbeklenmiş yanıtların işlenmesini etkiler. olarak falseayarlandığında, arka uçtan alınan her öbek hemen çağırana döndürülür. olarak trueayarlandığında öbekler arabelleğe alınır (akış sonu algılanmadığı sürece 8 KB) ve yalnızca çağırana döndürülür.

İçeriğin hemen arayana döndürülmesi false veya akışı yapılmasını gerektiren sunucu tarafından gönderilen olayları (SSE) uygulayanlar gibi arka uçlarla olarak ayarlayın. İlke ifadelerine izin verilmez.
No true
fail-on-error-status-code olarak trueayarlandığında, 400 ile 599 (dahil) aralığındaki yanıt kodları için hatada bölümünü tetikler. İlke ifadelerine izin verilmez. No false

Usage

Usage notes

  • http-version Http/2 protokollerinin ağ geçidinden arka uça giden bağlantısını etkinleştirmek için özniteliğini kullanın. özniteliğini veya 2olarak 2or1 ayarlayın. Şu anda HTTP/2 giden, şirket içinde barındırılan ağ geçidinde ve v2 ağ geçidinde önizleme aşamasında desteklenmektedir.

    Important

    v2 ağ geçidinde HTTP/2, API Management ağ geçidine gelen ve ağ geçidinden arka uca giden olarak desteklenir ancak uçtan uca desteklenmez. Şu anda v2 ağ geçidi, isteği arka uçtan iletmeden önce gelen HTTP/2 bağlantısını HTTP/1'e indiriyor.

Examples

HTTP/2 arka ucuna istek gönderme

Aşağıdaki API düzeyi ilkesi tüm API isteklerini bir HTTP/2 arka uç hizmetine iletir. Örneğin, şirket içinde barındırılan bir ağ geçidinden gelen istekleri gRPC arka ucuna iletmek için bu ilkeyi kullanın.

<!-- api level -->
<policies>
    <inbound>
        <base/>
    </inbound>
    <backend>
        <forward-request http-version="2or1"/>
    </backend>
    <outbound>
        <base/>
    </outbound>
</policies>

zaman aşımı aralığıyla iletme isteği

Aşağıdaki API düzeyi ilkesi, 60 saniyelik zaman aşımı aralığıyla tüm API isteklerini arka uç hizmetine iletir.

<!-- api level -->
<policies>
    <inbound>
        <base/>
    </inbound>
    <backend>
        <forward-request timeout="60"/>
    </backend>
    <outbound>
        <base/>
    </outbound>
</policies>

İlkeyi üst kapsamdan devral

Bu işlem düzeyi ilkesi, base üst API düzeyi kapsamından arka uç ilkesini devralmak için öğesini kullanır.

<!-- operation level -->
<policies>
    <inbound>
        <base/>
    </inbound>
    <backend>
        <base/>
    </backend>
    <outbound>
        <base/>
    </outbound>
</policies>

İlkeyi üst kapsamdan devralma

Bu işlem düzeyi ilkesi, zaman aşımı 120 olan tüm istekleri açıkça arka uç hizmetine iletir ve üst API düzeyi arka uç ilkesini devralmaz. Arka uç hizmeti 400 ile 599 (dahil) arasında bir hata durum koduyla yanıt verirse, hata üzerinde bölümü tetiklenir.

<!-- operation level -->
<policies>
    <inbound>
        <base/>
    </inbound>
    <backend>
        <forward-request timeout="120" fail-on-error-status-code="true" />
        <!-- effective policy. note the absence of <base/> -->
    </backend>
    <outbound>
        <base/>
    </outbound>
</policies>

İstekleri arka uça iletmeyin

Bu işlem düzeyi ilkesi istekleri arka uç hizmetine iletmez.

<!-- operation level -->
<policies>
    <inbound>
        <base/>
    </inbound>
    <backend>
        <!-- no forwarding to backend -->
    </backend>
    <outbound>
        <base/>
    </outbound>
</policies>

İlkelerle çalışma hakkında daha fazla bilgi için bkz: