طلب إعادة توجيه

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

forward-requestيعيد النهج توجيه الطلب الوارد إلى خدمة الواجهة الخلفية المحددة في سياق الطلب . يتم تحديد عنوان URL لخدمة الواجهة الخلفية في إعدادات API ويمكن تغييرها باستخدام نهج تعيين خدمة الخلفية.

هام

  • هذا النهج مطلوب لإعادة توجيه الطلبات إلى واجهة برمجة التطبيقات الخلفية. بشكل افتراضي، تقوم APIM بإعداد هذا النهج في النطاق العمومي.
  • تؤدي إزالة هذا النهج إلى عدم إعادة توجيه الطلب إلى خدمة الواجهة الخلفية. يتم تقييم السياسات في قسم الصادر فور الانتهاء بنجاح من السياسات في قسم الوارد.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

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

سمات

السمة ‏‏الوصف مطلوبة افتراضي
المهلة مقدار الوقت بالثواني لانتظار إرجاع رؤوس استجابة HTTP بواسطة خدمة الواجهة الخلفية قبل ظهور خطأ انتهاء المهلة. الحد الأدنى للقيمة هو 0 ثانية. قد لا يتم احترام القيم الأكبر من 240 ثانية، لأن البنية الأساسية للشبكة الأساسية يمكن أن تسقط الاتصالات الخاملة بعد هذا الوقت. يتم السماح بتعبيرات النهج. يمكنك تحديد إما timeout أو timeout-ms ليس كليهما. لا 300
مهلة مللي ثانية مقدار الوقت بالمللي ثانية لانتظار إرجاع رؤوس استجابة HTTP بواسطة خدمة الواجهة الخلفية قبل ظهور خطأ انتهاء المهلة. الحد الأدنى للقيمة هو 0 مللي ثانية. يتم السماح بتعبيرات النهج. يمكنك تحديد إما timeout أو timeout-ms ليس كليهما. لا ‏‫غير متاح
مهلة المتابعة مقدار الوقت بالثوان لانتظار 100 Continue إرجاع رمز الحالة بواسطة خدمة الواجهة الخلفية قبل ظهور خطأ المهلة. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح
إصدار http إصدار مواصفات HTTP لاستخدامه عند إرسال استجابة HTTP إلى خدمة الواجهة الخلفية. عند استخدام 2or1، ستفضل البوابة HTTP /2 على /1، ولكنها ستعود إلى HTTP /1 إذا لم يعمل HTTP /2. لا 1
عمليات إعادة التوجيه للمتابعة تحديد ما إذا كانت عمليات إعادة التوجيه من خدمة الواجهة الخلفية متبوعة بالعبارة أو يتم إرجاعها إلى المتصل. يتم السماح بتعبيرات النهج. لا false
نص طلب المخزن المؤقت عند التعيين إلى true، يتم تخزين الطلب مؤقتا وسيتم إعادة استخدامه عند إعادة المحاولة. لا false
استجابة المخزن المؤقت يؤثر على معالجة الاستجابات المقسمة. عند التعيين إلى false، يتم إرجاع كل مجموعة تم تلقيها من الخلفية على الفور إلى المتصل. عند التعيين إلى true، يتم تخزين المجموعات مؤقتا (8 كيلوبايت، ما لم يتم الكشف عن نهاية الدفق) ثم يتم إرجاعها فقط إلى المتصل.

اضبط على false مع الخلفيات مثل تلك التي تنفذ الأحداث المرسلة من الخادم (SSE) التي تتطلب إرجاع المحتوى أو دفقه على الفور إلى المتصل. تعبيرات النهج غير مسموح بها.
لا true
fail-on-error-status-code عند التعيين إلى ، يؤدي إلى trueتشغيل قسم عند الخطأ برموز الاستجابة في النطاق من 400 إلى 599 ضمنا. تعبيرات النهج غير مسموح بها. لا false

الاستخدام

  • أقسام النهج: الخلفية.
  • نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
  • البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا، مساحة العمل

الأمثلة

إرسال طلب إلى الواجهة الخلفية HTTP/2

يقوم نهج مستوى واجهة برمجة التطبيقات التالي بإعادة توجيه جميع طلبات واجهة برمجة التطبيقات إلى خدمة خلفية HTTP/2.

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

هذا مطلوب لأحمال عمل HTTP /2 أو gRPC ويتم دعمه حاليا فقط في البوابة المستضافة ذاتيا. تعرف على المزيد في نظرة عامة على بوابة API.

إعادة توجيه الطلب مع الفاصل الزمني المهلة

يقوم نهج مستوى واجهة برمجة التطبيقات التالية بإعادة توجيه جميع طلبات واجهة برمجة التطبيقات إلى خدمة الواجهة الخلفية بفاصل مهلة قدره 60 ثانية.

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

وراثة النهج من النطاق الأصل

يستخدم نهج مستوى العملية هذه العنصر base لاكتساب سياسة الواجهة الخلفية من نطاق مستوى واجهة برمجة التطبيقات الأصل.

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

عدم توريث النهج من النطاق الأصل

يقوم نهج مستوى العملية هذا بإعادة توجيه جميع الطلبات بشكل صريح إلى خدمة الواجهة الخلفية بمهلة 120 ولا يرث نهج الواجهة الخلفية لمستوى واجهة برمجة التطبيقات الأصل. إذا استجابت خدمة الخلفية برمز حالة خطأ من 400 إلى 599 ضمناً، فسيتم تشغيل قسم عند الخطأ.

<!-- 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>

عدم إعادة توجيه الطلبات إلى الخلفية

لا يقوم نهج مستوى العملية هذا بإعادة توجيه الطلبات إلى خدمة الواجهة الخلفية.

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

لمزيد من المعلومات حول العمل مع النُهج، راجع: