İstek iletme

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.

Önemli

  • 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.

Not

İ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.

İlke bildirimi

<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"/>

Özellikler

Öznitelik Açıklama Zorunlu Varsayılan
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. Hayır 300
zaman aşımı-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. Hayır YOK
devam zaman aşımı 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. Hayır YOK
http sürümü HTTP yanıtını arka uç hizmetine gönderirken kullanılacak HTTP belirtim sürümü. kullanırken 2or1ağ geçidi /1 üzerinden HTTP /2'yi tercih eder, ancak HTTP /2 çalışmazsa HTTP /1'e geri döner. Hayır 1
takip yönlendirmeleri 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. Hayır false
buffer-request-body olarak trueayarlandığında istek arabelleğe alınır ve yeniden denendiğinde yeniden kullanılır. Hayır 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.
Hayır 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. Hayır false

Kullanım

Örnekler

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.

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

Bu, HTTP /2 veya gRPC iş yükleri için gereklidir ve şu anda yalnızca şirket içinde barındırılan ağ geçidinde desteklenir. API ağ geçidine genel bakış bölümünden daha fazla bilgi edinin.

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: