تعيين خدمة الواجهة الخلفية
ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات
استخدم نهج 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" />
سمات
الاستخدام
- أقسام النهج: واردة، خلفية
- نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
- البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا
ملاحظات الاستخدام
حاليا، إذا قمت بتعريف نهج أساسي باستخدام السمة 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=abcdef
http://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>
النهج ذات الصلة
المحتوى ذو الصلة
لمزيد من المعلومات حول العمل مع النُهج، راجع: