تعيين خدمة الواجهة الخلفية

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

استخدم نهج set-backend-service لإعادة توجيه طلب وارد إلى خلفية مختلفة عن تلك المحددة في إعدادات واجهة برمجة التطبيقات لتلك العملية. يغير هذا النهج عنوان URL الأساسي للخدمة الخلفية للطلب الوارد إلى عنوان URL أو الواجهة الخلفية المحددة في النهج.

يسمح لك الرجوع إلى كيان الواجهة الخلفية بإدارة عنوان URL الأساسي للخدمة الخلفية والإعدادات الأخرى في مكان واحد وإعادة استخدامها عبر واجهات برمجة التطبيقات والعمليات المتعددة. نفذ أيضا موازنة تحميل نسبة استخدام الشبكة عبر مجموعة من خدمات الواجهة الخلفية وقواعد قاطع الدوائر لحماية الواجهة الخلفية من عدد كبير جدا من الطلبات.

إشعار

يمكن إدارة كيانات الواجهة الخلفية عبر مدخل Microsoft Azure و واجهة برمجة تطبيقات الإدارة و PowerShell .

إشعار

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

نهج السياسة

<set-backend-service base-url="base URL of the backend service"  backend-id="name of the backend entity specifying base URL of the backend service" sf-resolve-condition="condition" sf-service-instance-name="Service Fabric service name" sf-listener-name="Service Fabric listener name" />

سمات

السمة ‏‏الوصف مطلوبة افتراضي
base-url عنوان URL الأساسي الجديد لخدمة الواجهة في الخلفية. يتم السماح بتعبيرات النهج. يجب أن يكون أحد base-url أو backend-id موجودًا. ‏‫غير متوفر‬
backend-id معرف (اسم) الواجهة الخلفية لتوجيه النسخة المتماثلة الأساسية أو الثانوية للقسم. يتم السماح بتعبيرات النهج. يجب أن يكون أحد base-url أو backend-id موجودًا. ‏‫غير متوفر‬
sf-resolve-condition قابل للتطبيق فقط عندما تكون الخلفية عبارة عن خدمة Fabric service. شرط تحديد ما إذا كان يجب تكرار استدعاء الخلفية لـ Service Fabric بدقة جديدة. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح
sf-service-instance-name قابل للتطبيق فقط عندما تكون الخلفية عبارة عن خدمة Fabric service. يسمح بتغيير حالات الخدمة في وقت التشغيل. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح
sf-partition-key قابل للتطبيق فقط عندما تكون الخلفية عبارة عن خدمة Fabric service. تحديد مفتاح القسم لخدمة Service Fabric. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح
sf-listener-name ينطبق فقط عندما تكون الواجهة الخلفية خدمة Service Fabric ويتم تحديدها باستخدام backend-id. تتيح لك خدمات نسيج الخدمة الموثوقة إنشاء مستمعين متعددين في خدمة ما. تُستخدم هذه السمة لتحديد مستمع معين عندما يكون للخدمة الموثوقة الخلفية أكثر من مستمع واحد. إذا لم يتم تحديد هذه السمة، فستحاول APIM استخدام مستمع دون اسم. المستمع بدون اسم نموذجي للخدمات الموثوقة التي ليس لها سوى مستمع واحد. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح

الاستخدام

ملاحظات الاستخدام

حاليا، إذا قمت بتعريف نهج أساسي باستخدام السمة backend-id وورثت النهج الأساسي باستخدام <base /> داخل النطاق، فلا يمكن تجاوزه إلا بنهج باستخدام السمةbackend-id، وليس السمة base-url .set-backend-service

الأمثلة

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

في هذا المثال، set-backend-service يوجه النهج الطلبات استنادا إلى قيمة الإصدار التي تم تمريرها في سلسلة الاستعلام إلى خدمة خلفية مختلفة عن تلك المحددة في واجهة برمجة التطبيقات.

<policies>
    <inbound>
        <choose>
            <when condition="@(context.Request.Url.Query.GetValueOrDefault("version") == "2013-05")">
                <set-backend-service base-url="http://contoso.com/api/8.2/" />
            </when>
            <when condition="@(context.Request.Url.Query.GetValueOrDefault("version") == "2014-03")">
                <set-backend-service base-url="http://contoso.com/api/9.1/" />
            </when>
        </choose>
        <base />
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>

مبدئيًّا، يتم اشتقاق عنوان URL الأساسي للخدمة في الخلفية من إعدادات واجهة برمجة التطبيقات. لذلك يصبح عنوان URL للطلب https://contoso.azure-api.net/api/partners/15?version=2013-05&subscription-key=abcdefhttp://contoso.com/api/10.4/partners/15?version=2013-05&subscription-key=abcdef حيث http://contoso.com/api/10.4/ هو عنوان URL للخدمة في الخلفية المحددة في إعدادات واجهة برمجة التطبيقات.

عند تطبيق بيان نهج <الاختيار>، قد يتغير عنوان URL الأساسي لخدمة في الخلفية مرة أخرى إما إلى http://contoso.com/api/8.2 أو http://contoso.com/api/9.1، اعتماداً على قيمة معلمة استعلام طلب الإصدار. على سبيل المثال، إذا كانت القيمة "2013-15" يصبح عنوان URL النهائي للطلب http://contoso.com/api/8.2/partners/15?version=2013-15&subscription-key=abcdef.

في حالة الرغبة في إجراء مزيد من التحويل للطلب، يمكن استخدام نهج تحويل أخرى. على سبيل المثال، لإزالة معلمة استعلام الإصدار الآن بعد أن يتم توجيه الطلب إلى خلفية محددة لإصدار معين، يمكن استخدام نهج تعيين معلمة سلسلة الاستعلام لإزالة سمة الإصدار المكرر الآن.

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

في هذا المثال، يوجه النهج الطلب إلى خلفية service fabric، باستخدام سلسلة استعلام معرف المستخدم كمفتاح القسم وباستخدام النسخة المتماثلة الأساسية للقسم.

<policies>
    <inbound>
        <set-backend-service backend-id="my-sf-service" sf-partition-key="@(context.Request.Url.Query.GetValueOrDefault("userId","")" sf-replica-type="primary" />
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>

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